Simulate a card authorization
Changed onSimulate an inbound card authorization in the sandbox environment. Drives the same internal authorize + reconcile paths the card issuer would call in production, so platforms can exercise Grid's decisioning + funding-source pull behavior end-to-end without an external network round-trip.
The decisioning outcome is controlled by the last three characters of merchant.descriptor:
| Suffix | Outcome | | ------ | ------- | | 002 | Declined, cardDeclinedReason: INSUFFICIENT_FUNDS, as production declines an authorization the funding source cannot cover | | 003 | Declined, cardDeclinedReason: CARD_NOT_ACTIVE. Use against a FROZEN card to verify it refuses authorizations | | 005 | Delayed pull (~30s) — exercises the PENDING → CONFIRMED path | | 006 | Pull succeeds but the confirmation event reports FAILED — exercises the high-urgency EXCEPTION alert | | any other | Approved |
merchant.descriptor must be 1–25 characters — the width of the card network's acceptor-name field. A longer one is rejected with 400 INVALID_INPUT.
Production returns 404 on this path.
Request
- Base URLhttps://api.lightspark.com/grid/2025-10-13
- URLhttps://api.lightspark.com/grid/2025-10-13/sandbox/cards/{id}/simulate/authorization
- AuthHTTP basic
Path parameters
The id of the card to simulate an authorization against.
Request body
Example request
{
"amount": 1250,
"currency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$",
"decimals": 2
},
"merchant": {
"descriptor": "BLUE BOTTLE COFFEE SF",
"mcc": "5814",
"city": "San Francisco",
"state": "CA",
"country": "US"
}
}Response
Simulation accepted. The resulting card operation is delivered asynchronously via the issuer's events webhook. Returns the issuer transaction token that correlates the simulated event.
Example response
{
"issuerTransactionToken": "f3a1c2d4-5b6e-7890-abcd-ef0123456789"
}Changes
- info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- info
- warning
added the new
CORRIDOR_UNDER_MAINTENANCEenum value to theresponse property for the response status
- warning