Simulations

Drain an account program

Creates outbound payouts that drain the residual balance of every frozen account under the program to the provided destination. The program must be frozen. Every returned payout_ids[i] must be settled via POST /v1/simulations/payouts/{id}/send for the program balance to reach zero. This endpoint is unavailable in live production.

post/v1/simulations/account_programs/{id}/drain

Path parameters

idstring uuid required

ID of the account program whose lifecycle is being simulated.

Headers

Idempotency-Keystring required

Idempotency key for safe retries. Reusing a key with an identical request body returns the cached response. Reusing a key with a different body returns 409.

Request body

Example request

{
  "destination": {
    "type": "iban",
    "iban": "DE89370400440532013000",
    "account_holder_name": "Acme Sandbox Ltd.",
    "bic": "COBADEFFXXX"
  }
}

Response

The account program drain simulation acknowledgement

type'account_program_simulation' required

Resource type discriminator.

successboolean required

Whether the simulation submission was successful.

account_program_idstring uuid required

Account program whose lifecycle is being simulated.

event'create' | 'freeze' | 'unfreeze' | 'close' | 'drain' required

Account program lifecycle event submitted to the sandbox.

payout_idsstring[] nullable required

Payouts created by a drain event. Feed each id to POST /v1/simulations/payouts/{id}/send to settle. null for non-drain events.

Changes

Changed in 1 of the 38 revisions of this API.1