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.

idstring required

System-generated unique dispute identifier.

cardTransactionIdstring required

The id of the disputed CardTransaction.

cardIdstring

The id of the Card the disputed transaction was made on.

status'OPEN' | 'CLOSED' required

Whether the dispute is still active.

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

The outcome the dispute closes with.

openedAtstring date-time

When the card issuer opened the dispute.

issuerUpdatedAtstring date-time

When the card issuer last changed the dispute.

createdAtstring date-time required

When Grid first recorded the dispute.

updatedAtstring date-time required

When Grid last updated the dispute.

Example response

{
  "id": "CardDispute:019542f5-b3e7-1d02-0000-000000000200",
  "cardTransactionId": "Transaction:019542f5-b3e7-1d02-0000-000000000100",
  "cardId": "Card:019542f5-b3e7-1d02-0000-000000000010",
  "status": "OPEN",
  "disposition": "WON",
  "disputedAmount": {
    "amount": 12550,
    "currency": {
      "code": "USD",
      "name": "United States Dollar",
      "symbol": "$",
      "decimals": 2
    }
  },
  "provisionalCreditAmount": {
    "amount": 12550,
    "currency": {
      "code": "USD",
      "name": "United States Dollar",
      "symbol": "$",
      "decimals": 2
    }
  },
  "openedAt": "2026-05-08T14:30:00Z",
  "issuerUpdatedAt": "2026-05-09T09:12:44Z",
  "createdAt": "2026-05-08T14:30:05Z",
  "updatedAt": "2026-05-09T09:12:46Z"
}

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

    • warning

      added the new CORRIDOR_UNDER_MAINTENANCE enum value to the response property for the response status