Cancel eligible line items in an async order
Coming soon: This feature will be coming soon.
This endpoint evaluates all line items in an async order and cancels only the eligible Choice Product rewards. It does not cancel the order itself. Any ineligible line items remain unchanged, and if the order contains no eligible line items, the request completes without canceling anything. A canceled Choice Product reward becomes permanently void and cannot be redeemed. Only fully unredeemed Choice Product rewards issued within the first 5 days are eligible for cancellation.
You can only cancel Choice Products, such as: Reward Link®, Global Choice Link, Promo Link™, and Disbursement Link. See Manage Choice products and Tango Cancellation Policy for more details.
Use POST {URI}/asyncOrders/{referenceOrderID}/cancel to submit a cancellation request for all eligible line items in the order. When you send the request, you must provide a reason code such as FRAUD or DUPLICATE. The system evaluates each line item against the cancellation business rules, cancels the eligible rewards, and refunds those amounts. Ineligible line items are not changed. If no line items are eligible, no cancellation is performed. The overall outcome is reported through the webhook event Order action status.
Use Case
ACME Health can use the POST {URI}/asyncOrders/{referenceOrderID}/cancel endpoint to attempt cancellation for all eligible rewards in the order. Tango cancels only the line items that meet the cancellation rules, refunds those amounts to the original account, and prevents those canceled rewards from being redeemed. Any ineligible line items remain unchanged.
Tango returns a 202 Accepted response when it receives the cancellation request. That response confirms the request was accepted for processing, not that any line items were canceled.
How it works?
When you call POST {URI}/asyncOrders/{referenceOrderID}/cancel, Tango:
- Looks up the async order by
referenceOrderID. - Evaluates each line item for cancellation eligibility.
- Cancels only the eligible line items.
- Leaves ineligible line items unchanged.
- Reports the final outcome through the
OrderActionStatuswebhook event. If the order has no eligible line items, the request is still accepted, but no cancellation is performed.
Endpoint
Use the following endpoint to cancel a qualified line item:
| Endpoint | Purpose |
|---|---|
POST {URI}/asyncOrders/{referenceOrderID}/cancel | Submit a cancellation request for all eligible line items in an async order. |
Parameters
Use the following path parameter to identify which line items you're canceling:
| Path params | Requirement | Data type | Description |
|---|---|---|---|
referenceOrderID | required | string | Reference order ID for the async order whose eligible line items you want to evaluate for cancellation. |
The following body parameters are used to explain why your order was canceled. See Get all reason codes for descriptions:
| Body params | Data type | Requirement | Description |
|---|---|---|---|
| reasonCode | string | required | Enter the reason codes to cancel the eligible line items in the async order. See Get all reason codes . |
| otherReason | string | optional | This field is required if reasonCode equals OTHER. Enter a description of why you canceled this order only if the available reasonCodes don't meet your needs. |
Notes
- This endpoint does not cancel the async order itself. It applies the cancel action only to eligible line items in the order.
- If an order contains both eligible and ineligible line items, only the eligible line items are canceled. If an order contains no eligible line items, the request is accepted but no line items are canceled.
- Only fully unredeemed Choice Products, such as: Reward Link®, Global Choice Link, Promo Link™, and Disbursement Link can be cancelled.
- Orders with a status of COMPLETE or PARTIAL may contain line items eligible for cancellation, while orders with a status of FAILED or PENDING cannot be canceled.
- Line items marked as COMPLETE may be eligible for cancellation.
- Rewards with a status of ACTIVE or FROZEN may be canceled.
Response message
Here is the response returned when the cancellation request is accepted for processing. A 202 Accepted response means Tango accepted the request and began evaluating the order’s line items for cancellation. It does not guarantee that any line items were canceled. If no line items are eligible, no cancellation occurs.
{
"referenceOrderId": "string",
"externalRefID": "string",
"status": "string",
"totalLineItems": 0,
"date": "2026-02-17T18:02:33.823Z"
}The response body provides request-tracking details for the submitted cancellation action:
| Field | What does it tell you |
|---|---|
referenceOrderId | Tango’s system‑assigned order ID |
externalRefID | Your own order tracking ID (idempotency key) |
status | The current async processing status |
totalLineItems | How many rewards were in the order |
date | When this order event occurred |
Response codes
The possible response codes for this endpoint are as follows. For details, see i18nkey codes and their error messages:
| Response code | Meaning |
|---|---|
| 202 | The server received the request and accepted it for processing. Eligible line items may be canceled asynchronously. This response does not guarantee that any line items were eligible. |
| 400 | The server could not understand the request due to invalid syntax. |
| 404 | The server was unable to find the requested resource. In other words, the URL you're trying to access points to nothing on the server. |
| 422 | The server understands the request but cannot process it due to semantic errors. |
Updated 5 days ago
