Get redemption transaction detail
Read one redemption order in your community by its order ID, with its status, the trader's details and their order-form answers.
- Method
- GET
- Path
https://api.returning.ai / v2/ redemption-transactions/ {redemptionID} - Permission
- customerSuccess
- Retries
- Read-only; exact retries are safe
When to use this
- A trader quotes an order ID (
ORD...) and you need the order's current status and details. - Confirm an order after you change its status, voucher or customer details.
- Show one order's details in your own support tool without paging through a list.
Authentication#
- Header
Authorization: Bearer <API_KEY>- Permission
- customerSuccessShown in the dashboard as “Customer Success”
Send a Community API key with the customerSuccess permission. The key decides the community, so you can only read orders in that community. Keep the key on your server.
Request#
Path parameters#
ORD...), the redemptionId in the order lists. The internal _id isn't accepted.RuleStarts with ORD
EgORD20269268300418273
Headers#
customerSuccess.RuleBearer <API_KEY>
curl --request GET \
--url https://api.returning.ai/v2/redemption-transactions/ORD20269268300418273 \
--header 'Authorization: Bearer <API_KEY>'
Response#
A 200 returns the order in data. status is the status name and statusID its ID; match the ID against List redemption statuses. Fields such as rewardId, productName, userInfo, redemptionMethodName and customFieldValues are left out, not sent as null, when there is nothing to show. An order for a product that was later deleted still returns, without rewardId and productName.
Unlike the order lists, customFieldValues here is keyed by the form field's name, not its ID. Branch on the HTTP status and meta.code, never on message.
Eg{ ... }
Rulesuccess
Eg200
RuleREDEMPTION_TRANSACTION_RETRIEVED
Eg"Redemption transaction fetched successfully"
Eg{ ... }
redemptionId.Eg"66f000000000000000000401"
ORD...). Send it as transactionId to update the order's status or read its history.Eg"ORD20269268300418273"
Eg"66f000000000000000000010"
Eg"<userObjectId>"
Eg"66f000000000000000000101"
Eg"66f000000000000000000502"
Eg500
Eg1
New Purchase or Refunded.Eg"Completed"
Eg"66f000000000000000000405"
Rulevoucher
Eg{ ... }
Eg"sample_trader"
Eg"Sample Trader"
Eg"trader@example.com"
Custom Instructions or Physical Delivery. Left out when the order has none.Eg"Custom Instructions"
{"Account number": "<brokerCustomerId>"}. A repeated name gets a suffix, such as Account number (2). Left out when the order has no answers.Eg{"Account number": "<brokerCustomerId>"}
Eg"2026-09-26T08:30:00.000Z"
Eg"2026-09-26T08:30:00.000Z"
Eg"2026-09-26T09:15:00.000Z"
Eg"$25 Trading Credit"
Eg{ ... }
Eg"trader@example.com"
Eg"sample_trader"
Eg["@all"]
{
"meta": {
"status": "success",
"statusCode": 200,
"code": "REDEMPTION_TRANSACTION_RETRIEVED"
},
"message": "Redemption transaction fetched successfully",
"data": {
"_id": "66f000000000000000000401",
"redemptionId": "ORD20269268300418273",
"serverId": "66f000000000000000000010",
"userId": "<userObjectId>",
"rewardId": "66f000000000000000000101",
"voucherId": "66f000000000000000000502",
"price": 500,
"quantity": 1,
"status": "Completed",
"statusID": "66f000000000000000000405",
"type": "voucher",
"userInfo": {
"username": "sample_trader",
"name": "Sample Trader",
"email": "trader@example.com"
},
"redemptionMethodName": "Custom Instructions",
"customFieldValues": {
"Account number": "<brokerCustomerId>"
},
"purchasedDate": "2026-09-26T08:30:00.000Z",
"createdAt": "2026-09-26T08:30:00.000Z",
"updatedAt": "2026-09-26T09:15:00.000Z",
"productName": "$25 Trading Credit",
"userData": {
"email": "trader@example.com",
"userName": "sample_trader",
"roles": ["@all"]
}
}
}
Errors#
Every error carries its code in meta.code, with the reason in detail. An order in another community returns 404, the same as a missing one. The message on a 400 doesn't describe this endpoint, so don't read it.
Fix the request04
VALIDATION_FAILEDFix the requestredemptionID doesn't start with ORD. Send the order ID from redemptionId, not the internal _id.AUTH_API_KEY_REQUIREDFix the requestAuthorization: Bearer <API_KEY>.AUTH_API_KEY_INVALIDFix the requestAUTH_PERMISSION_REQUIREDFix the requestcustomerSuccess. Add the permission in Settings > Integration > API Keys.Fix the data01
REDEMPTION_TRANSACTION_NOT_FOUNDFix the dataRetry with backoff03
REDEMPTION_DEPENDENCY_UNAVAILABLERetry with backoffINTERNAL_ERRORRetry with backoffAUTH_API_KEY_VALIDATION_FAILEDRetry with backoff{
"meta": {
"status": "error",
"statusCode": 400,
"code": "VALIDATION_FAILED"
},
"message": "Read community member param validation error",
"detail": {
"redemptionID": "redemptionID must be a public order ID beginning with ORD"
},
"solution": "Please check the request and try again"
}