Skip to content

Fire a row-addressed incremental authorization against a decided simulated spend

POST/v1/simulated-spends/{id}/increment

Requires an API client bearer token.

Fires one 0100 incremental authorization raising the hold of the named simulated spend, which must be `decided` with an `approved` decision. `raise_by_amount` is the ADDITIONAL amount to raise the hold by — a delta, not a restated total — and must share the original's currency. The increment is recorded as a NEW child simulation (`parent_simulation_id` names the original) — the original row is never mutated; poll `GET /v1/simulated-spends/{id}` with the returned `simulation_id` (the CHILD, not the path id) to see it reach a decision. Requires an Idempotency-Key header: a retry with the SAME key replays the same child result rather than firing a second increment. Requires the card to be `active` (unlike the reversal route, which has no such gate — see that route’s own description). A reversal/increment CHILD cannot itself be incremented (it carries no reversible wire identity of its own); increment the ORIGINAL instead.

Parameters

Path parameters

NameRequiredDescription
idrequired

Header parameters

NameRequiredDescription
Idempotency-Keyrequired

Client-chosen. An identical retry with the same key returns the stored response; reusing the key with a different payload returns 409.

Request body

raise_by_amountobjectrequired
+ show properties
amountstringrequired
currency"EUR" | "GBP" | "USD"required

Example

curl -X POST https://api.rigid.fi/v1/simulated-spends/{id}/increment \
  -H "Authorization: Bearer $RIGID_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "raise_by_amount": {
    "amount": "string",
    "currency": "EUR"
  }
}'

Responses

202

The increment was accepted for transmission.

simulation_idstringrequired
accepted_atstring (date-time)required
stanstring | nullrequired
rrnstring | nullrequired
network_txn_idstring
400

The original was a refund-kind spend (an incremental cannot raise a refund), or raise_by_amount's currency does not match the original's

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
401

Authentication required

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
403

Live mode — row-addressed incremental fires are a test-mode-only surface

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
404

Simulation not found

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
409

The original is not a `decided`, `approved` spend; has no recorded network transaction id (a pre-RIGID-517 row); has no recorded wire identity (a pre-Task-8 row — re-fire the original); IS ITSELF a reversal/increment child (child rows carry no reversible wire identity — increment the original instead); the card is not `active`; or the Idempotency-Key was reused with a different payload

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
500

Internal server error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring