Skip to main content

Get Transaction By ID

Retrieve a single ledger entry by its identifier.

Endpoint

GET /v1/giftCards/transactions/{transactionId}

Headers

HeaderTypeDescriptionRequired
X-Client-IdStringYour client ID✅ Yes
X-Client-SecretStringYour client secret✅ Yes

Path Parameters

ParameterTypeDescriptionRequired
transactionIdString (UUID)Returned when the transaction was created✅ Yes

Example Request

curl --location 'https://stage-platform-exlr8-incentives.exlr8now.com/v1/giftCards/transactions/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d' \
--header 'X-Client-Id: YOUR_CLIENT_ID' \
--header 'X-Client-Secret: YOUR_CLIENT_SECRET'

Response

Successful Response — 200 OK

{
"success": true,
"data": {
"transactionId": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"merchantId": "b1946ac9-2c3d-4e5f-8a7b-6c5d4e3f2a1b",
"giftCardId": "9b2c4d6e-8f0a-4b1c-9d3e-5f7a1b2c3d4e",
"type": "DEBIT",
"amount": 150,
"balanceBefore": 500,
"balanceAfter": 350,
"referenceId": "order-20260825-0042",
"idempotencyKey": "order-20260825-0042-debit-01",
"createdAt": "2026-08-25T11:42:07Z"
}
}

Response Fields

FieldTypeDescription
transactionIdStringLedger entry identifier
giftCardIdStringThe card this entry belongs to
typeStringDEBIT, REFUND, VOID or EXPIRE
amountNumberValue moved
balanceBeforeNumberBalance immediately before
balanceAfterNumberBalance immediately after
referenceIdStringYour reference, as supplied
idempotencyKeyStringThe key the transaction was committed under
createdAtStringRFC 3339, UTC

Ledger entries are immutable. Once written, a transaction is never modified — a correction is a new entry of the opposite type.

:::tip Confirming an uncertain outcome If a redemption timed out and you did not record a transactionId, do not use this endpoint — you have nothing to look it up by. Instead, retry the original call with the same idempotency key and identical parameters: the replay returns the original transaction if it committed, or performs it if it did not. Either way you end up with exactly one debit.

Retry with the same key but different parameters and you will get the original transaction back regardless — which looks like success while moving no money. :::

Error Responses

Error codeHTTPCause
BAD_REQUEST400transactionId is not a valid UUID
RECORD_NOT_FOUND404No such transaction within your merchant