Skip to content

Retrieve a simulated-spend attempt

GET/v1/simulated-spends/{id}

Requires an API client bearer token.

Fetch the queryable record of one simulated-spend attempt by id (tenant-scoped). Reports the full lifecycle — accepted, sent, decided, stood in, or failed — so a failed or slow attempt is distinguishable from one that never happened.

Parameters

Path parameters

NameRequiredDescription
idrequired

Example

curl https://api.rigid.fi/v1/simulated-spends/{id} \
  -H "Authorization: Bearer $RIGID_API_TOKEN"

Responses

200

The simulation record.

idstring (uuid)required
card_idstring (uuid)required
programme_idstring (uuid)required
state"accepted" | "sent" | "decided" | "stood_in" | "failed"required
requestobjectrequired
+ show properties
amountobjectrequired
+ show properties
amountstringrequired
currency"EUR" | "GBP" | "USD"required
mccstringrequired
merchant_namestringrequired
channel"pos" | "ecommerce" | "atm" | "moto"required
entry_mode"contactless" | "chip" | "magstripe" | "manual"
scenario"partial_approval" | "force_stip_timeout" | "delegated_timeout" | "cvv2_presented" | "cavv_presented"
threeds_refstring (uuid)
mitboolean
kind"purchase" | "refund"
stanstring | nullrequired

The wire identity (DE11/DE37), if one was minted. Null covers two different causes: (1) state is failed and this stan is null — the leg was refused before a message was ever built, genuinely safe to retry — or (2) state is still accepted past a safe interval — the wire state is unknown, a message may already be on the wire, do not retry. A failed row with a NON-null stan here reached sent first and is not case (1).

rrnstring | nullrequired

The wire identity (DE11/DE37) minted alongside stan — always null/non-null together. See stan above: null does not by itself mean safe to retry, check state too.

decision"approved" | "declined" | "partial"required
decline_reasonstring | nullrequired

Sandbox WIRE vocabulary, derived from the simulated DE39 response code alone — NOT the closed decline-reason contract that transactions and webhooks publish. Tokens are the standard ISO 8583 meanings of the code (do_not_honor, lost_card, stolen_card, insufficient_funds, not_permitted_to_cardholder, ...), with an unrecognised code reported as declined_<code>. Several published decline reasons share one wire token (mcc_denied, entry_mode_denied and refund_float_not_configured all ride DE39 57, so all three appear here as not_permitted_to_cardholder), and the spellings near-miss across the two surfaces (wire lost_card vs published card_lost) — so never match these tokens against the published vocabulary. Read the published reason from the transaction or the authorization.decided event. See the Decline reasons guide.

network_txn_idstring | nullrequired
failure_reasonstring | nullrequired
created_atstringrequired
decided_atstring | nullrequired
de7_transmission_datetimestring | null
acquirer_idstring | null
parent_simulation_idstring (uuid) | null
400

Validation error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
401

Authentication required

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
403

Forbidden

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
404

Simulation not found

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
500

Internal server error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring