List redemption orders by community
List every redemption order in your community, newest first, one page at a time.
- Method
- POST
- Path
https://api.returning.ai / v1/ redemption-transactions/ by-community - Permission
- customerSuccess
- Retries
- Read-only; exact retries are safe
When to use this
- Sync new store orders into your fulfilment or back-office system.
- Build a support queue of orders by status, such as everything still in
New Purchase. - Find an order ID (
ORD...) before you change its status or read its status history.
Authentication#
- Header
Authorization: Bearer <API_KEY>- Permission
- customerSuccessShown in the dashboard as “Customer Success”
Use a Community API key with customerSuccess, and keep it on your server. The key decides the community, so never send a communityId.
Behaviour#
Orders come back newest first, by redemption time. The list has no filters: every order in your community is included, whatever its status, and any other body field is ignored. To track new orders, read from page 1 until you reach an order you already have. Orders redeemed while you page push older ones down, so the same order can appear on two pages; de-duplicate by redemptionId.
Request#
Headers#
Body#
Both fields are optional. limit defaults to 10 and can be at most 100. A page past the last one returns an empty transactions list with the real total.
curl --request POST \
--url https://api.returning.ai/v1/redemption-transactions/by-community \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"page": 1,
"limit": 20
}'
Response#
A 200 returns the page in data.transactions and the totals in data.pagination. Each order has two IDs. redemptionId is the order ID (ORD...) that every other redemption endpoint takes as transactionId. _id is an internal record ID; don't send it anywhere. Map statusID to your own status labels with List redemption statuses.
Rulesuccess
Eg"Redemption transactions fetched successfully"
Eg{ ... }
Eg[ ... ]
redemptionId, not this.ORD...). Send it as transactionId to update the order or read its history.New Purchase or Refunded.voucher.customInstructions or physicalDelivery, when the product sets one.null if unknown.null if the trader can't be matched.null if the trader can't be matched.Eg{"total": 1, "page": 1, "limit": 20, "totalPages": 1}
Eg1
Eg1
Eg20
limit. 0 when there are no orders.Eg1
RuleREDEMPTION_TRANSACTIONS_RETRIEVED
{
"status": "success",
"code": "REDEMPTION_TRANSACTIONS_RETRIEVED",
"message": "Redemption transactions fetched successfully",
"data": {
"transactions": [
{
"_id": "66f000000000000000000401",
"redemptionId": "ORD20269268300418273",
"serverId": "66f000000000000000000010",
"userId": "<userObjectId>",
"rewardId": "66f000000000000000000101",
"voucherId": "66f000000000000000000502",
"price": 500,
"quantity": 1,
"status": "Refunded",
"statusID": "66f000000000000000000402",
"type": "voucher",
"userInfo": {
"username": "sample_trader",
"name": "Sample Trader",
"email": "trader@example.com"
},
"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"]
}
}
],
"pagination": {
"total": 1,
"page": 1,
"limit": 20,
"totalPages": 1
}
}
}
Errors#
401 and 403 responses, and the authentication errors 404 COMMUNITY_NOT_FOUND and 500 AUTHENTICATION_FAILED, carry the code in meta.code; every other error carries it in code. Branch on the HTTP status and code, never on message.
Fix the request03
VALIDATION_FAILEDFix the requestpage or limit is not a whole number in range. detail names the field. Send page of 1 or more and limit from 1 to 100.AUTHENTICATION_REQUIREDFix the requestAuthorization: Bearer <API_KEY> with a current Community API key.API_KEY_PERMISSION_DENIEDFix the requestcustomerSuccess, or it is a personal key. Use a Community API key and add the permission in Settings > Integration > API Keys.Fix the data01
COMMUNITY_NOT_FOUNDFix the dataRetry with backoff02
INTERNAL_ERRORRetry with backoffAUTHENTICATION_FAILEDRetry with backoff{
"status": "fail",
"code": "VALIDATION_FAILED",
"message": "Get redemption transactions by community endpoint",
"detail": {
"limit": "Number must be less than or equal to 100"
}
}