Skip to content

List simulated-spend attempts

GET/v1/simulated-spends

Requires an API client bearer token.

Lists simulated-spend attempts for the authenticated tenant, optionally narrowed to one card via card_id or one programme via programme_id. Newest first; cursor-paginated (pass the last row's id as starting_after).

Parameters

Query parameters

NameRequiredDescription
card_idoptional
programme_idoptional
limitoptional
starting_afteroptional

Example

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

Responses

200

A page of simulated-spend attempts.

dataarray of objectrequired
+ show properties
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
card_last4stringrequired
cardholder_namestringrequired
has_morebooleanrequired
next_cursorstring (uuid) | nullrequired
400

Validation error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
401

Authentication required

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
403

Forbidden

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
500

Internal server error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring