Dev panel
The Dev panel is how you populate, evolve, and wipe the sandbox. Three buttons drive the entire workflow: Generate, Advance lifecycle, and Reset. Each is also a single HTTP endpoint, so agents drive the same actions from the API without opening the portal.
Generate
Creates a batch of synthetic transactions plus a configurable proportion of disputes, evidence-required records, and the matching payment-event timeline.
POST /v1/dev/generate
| Field | Type | Constraint |
|---|---|---|
| count | integer | 1 – 5,000 |
| disputeRate | number | 0 – 1 (e.g. 0.15 = 15%) |
| currency | string | USD | EUR | GBP | CAD | AUD | JPY |
| rangeDays | integer | 1 – 365 (spreads createdAt over the last N days) |
Card-brand distribution: ~60% Visa, ~30% Mastercard, ~7% Amex, ~2% Discover, ~1% JCB. Cardholder names and merchants are drawn from fixed synthetic sets that pass format checks but are never real parties.
Advance lifecycle
Runs the hourly background job on demand. Useful when you don't want to wait for the cron tick. It does three things:
- Expires
rfi_opendisputes past their RFI window →rfi_expired. - Expires
evidence_requireddisputes past theirrespondBy→expired. - Rules on
under_reviewdisputes whose 55-day issuer window has elapsed: ~60% →won, ~40% →lost.
POST /v1/dev/advance-lifecycle
Returns { rfiExpired, expired, ruled } — counts of rows in each transition so the UI can show what moved.
Reset
Wipes the synthetic data inside your tenant — transactions, disputes, evidence records, payment events, reports. Your account, your workspace, and any team members survive.
POST /v1/dev/reset
The reset is scoped to the calling tenant. Other tenants on the same instance are not affected.