Sandbox

Simulate opening a card dispute

Changed on

Open a dispute against an existing settled card transaction in the sandbox environment, as the card issuer would when a cardholder files a claim. Creates the dispute with an OPENED event on its timeline. The card issuer offers no dispute simulator, so the sandbox delivers the same dispute record the issuer's webhook would.

Production returns 404 on this path.

post/sandbox/cards/{id}/simulate/dispute_open

Request

  • Base URL: https://api.lightspark.com/grid/2025-10-13
  • URL: https://api.lightspark.com/grid/2025-10-13/sandbox/cards/{id}/simulate/dispute_open
  • Auth: HTTP basic

Path parameters

idstring required

The id of the card the dispute is filed against.

Request body

cardTransactionIdstring required

The id of the settled CardTransaction to dispute. Must have at least one settled clearing and no dispute already open.

amountinteger

The disputed amount in the smallest unit of the transaction's currency. Defaults to the settled amount; must not exceed it.

reasonstring

Free-text reason recorded on the opening event.

Example request

{
  "cardTransactionId": "Transaction:019542f5-b3e7-1d02-0000-000000000100",
  "amount": 1500,
  "reason": "Merchandise not received"
}

Response

The dispute was opened.

disputeIdstring required

The id of the dispute record.

disputeTokenstring required

The card issuer's token for the dispute.

status'OPEN' | 'CLOSED' required

Whether the dispute is still active.

disposition'WON' | 'PARTIALLY_WON' | 'LOST' | 'WITHDRAWN' | 'DENIED' | 'null' nullable

The outcome once the dispute closes. Null while it is open.

Example response

{
  "disputeId": "019542f5-b3e7-1d02-0000-000000000200",
  "disputeToken": "dispute_transaction_sandbox_5f8d2c1a",
  "status": "OPEN",
  "disposition": "WON"
}

Changes