Transport and selected product DTOs
Transactions sync/get/refresh and accounts with edited fixture records, cursor pages, retries, typed errors and endpoint validation.
Edit added/modified/removed pages and account data, then compose real sync/get/account/refresh calls. Inspect safe retry admission, cursor errors and malformed provider responses without any bank connection.
Choose a scenario. Change the inputs or build a sequence of commands.
Execute the installed package against a new fictional example.
Follow the result, actual calls, generated output and integration code.
Your server-side changes are temporary. External-service examples use local response fixtures. Start with sample data.
Start with a preset, or change the input and run it.
Your result will show the values, decisions and generated output from the actual package.
Calls used by this scenario. The handbook explains setup, authorizers, storage and error recovery.
The complete response is shown as data. Wide PHP integers are transported as exact decimal strings. Values are never evaluated as PHP or JavaScript.
Run an example to inspect its response.
The last two successful run states stay in this tab’s memory. Run a changed example to compare the actual package results.
Transactions sync/get/refresh and accounts with edited fixture records, cursor pages, retries, typed errors and endpoint validation.
The package also wraps auth, investments, income, identity, assets, institutions, liabilities, transfers and payments; production use requires product-specific authorization and provider contract tests.
Consent, credentials, cursor transactions, webhook verification and accounting policy remain application work.
Edit sync pages and accounts, then replay real transaction/account service calls against intercepted local transport. Observe cursor advancement, retry admission and typed errors.
Each sync page has added, modified and removed records. Accounts have typed identity and balance fields. The real services decode these fixtures; operations retain their returned change sets. The host does not invent an account ledger or apply the changes to one.
Each sync command uses the previous successful next_cursor unless an explicit cursor is supplied. pages bounds available fixture pages; it does not itself perform more sync calls. An empty command list makes no service requests.
The workshop allows retries only for selected read-like POST endpoints when retry_reads is enabled. A one-time 503 can retry sync, get or accounts. refresh is a mutation outside that allowlist; an authentication failure is not a transient outage.
This lab exercises transaction sync/get/refresh and accounts plus transport guards. Other product families require their own provider contracts, authorization and application tests. Input cannot select an arbitrary provider host or absolute endpoint.
Choose Added, modified and removed and edit the transaction name or amounts in the page builder. Replay three sync commands. Expected: pages preserve three different change types, the modified ID matches its original, and final_cursor advances after each successful page. There is no simulated final ledger balance.
Run Read accounts and transactions, then edit an account name and balances. Expected: the real account DTO projection and transaction result change; request paths remain fixed. The dated-read command passes dates/count to the service against these local fixtures.
Run Retry a 503 once and inspect attempts. Expected: a safe read retries and succeeds. Run Refuse a mutation retry: refresh reports the 503 after one attempt. Disable POST read retries to make the same read fault fail without a retry.
Run Invalid credentials, Malformed JSON and Reject an absolute endpoint. Expected: typed provider/decoding errors are visible; the absolute URL fails before HTTP. Try an unknown cursor: it is rejected without advancing final_cursor.
Plaid supplies transport and typed provider data. The application owns consent, encrypted tokens, webhook verification, atomic cursor checkpoints and reconciliation. Flow may review imported changes, but it does not define accounting policy.