Skip to main content
GET
Get simulation status

Authorizations

x-api-key
string
header
required

Path Parameters

simulation_id
string
required

The simulation_id returned by POST /sandbox/simulate/inbound

Response

Simulation found

Full simulation state including callback history.

simulation_id
string
required

Simulation identifier

rail
string
required

Payment rail (ach, wire, crypto)

operation
string
required

Operation type (inbound_posted, outbound_failed, etc.)

scenario
string
required

Scenario name (success_immediate, success_delayed, compliance_hold, etc.)

state
string
required

The acceptance outcome: accepted or rejected. It is not a progress indicator: an accepted simulation reads accepted while it runs and after it finishes. It reads rejected when the simulation failed, which can happen after the create call returned accepted. A failed faucet or card simulation also reads state_position: failed, and a failed card simulation explains why in metadata.failure_reason.

Progress is reported elsewhere, and where depends on the kind of simulation:

  • Faucet simulations report progress in state_position, which moves to completed once the funds land, and in completed_at, which is stamped at the same time.
  • Deposit simulations never set completed_at. Their progress is awaiting_advance, state_position for scenarios that pause, and callbacks[].state. A deposit rejected with advance action=reject still reads state: accepted, with state_position: reject.
  • Card simulations (the card_auth and card_advance scenarios) never set completed_at and never reach state_position: completed: state_position is accepted while open and failed if the simulation failed. Their result is the linked card_transaction_id, once present (it is absent while the simulation is pending and when it failed); read that card transaction for the outcome.
organization_id
string
required

Organization that owns this simulation

amount
string
required

Amount as decimal string (e.g. "100.50")

currency
string
required

ISO 4217 currency code

created_at
string<date-time>
required

When the simulation was created

state_position
string

Where the simulation is within its scenario. A faucet simulation moves to completed when the funds land. A deposit in a pausing scenario reads compliance_hold, manual_review or unconfirmed while paused, and the action taken (release, approve, reject, confirm, expire) after an advance; it is omitted for scenarios that do not pause. A card simulation reads accepted while open and failed if it failed. A failed faucet simulation also reads failed.

awaiting_advance
boolean

Whether the simulation is paused waiting for a POST /advance call

account_id
string

Platform account ID (for fiat simulations)

wallet_id
string

The wallet this simulation names, for the simulations that name one (crypto deposits and the wallet faucet).

It carries the identifier the simulation was created with, resolved to a platform wallet ID where one can be established. A faucet simulation reports the platform wallet ID. A crypto deposit reports the identifier its request supplied — the on-chain address sent as wallet_address, or a platform wallet ID when the deprecated wallet_id field was used.

trace_id
string

Caller-supplied trace ID

metadata
object

Caller-supplied metadata (informational only)

completed_at
string<date-time>

Set only for faucet simulations, when the funds landed; absent for every other kind.

callbacks
object[]

Callback delivery log ordered by scheduled_for ascending

advance_actions_available
string[]

Valid advance actions when awaiting_advance is true (e.g. ["release", "reject"])

operational_transfer_id
string

Identifier of the operational transfer that moved the funds, for simulations that move value on-chain (the wallet faucet). Absent for every other simulation.

card_transaction_id
string

Identifier of the card transaction this simulation produced, for card simulations. Absent for every other simulation.