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"
mitboolean
stanstring | nullrequired
rrnstring | nullrequired
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 and entry_mode_denied both ride DE39 57, so both 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
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