Unfreeze eligible line items in an async order
Coming soon: This feature will be coming soon.
This endpoint attempts to unfreeze all eligible line items in an async order so those line items become redeemable again. It does not unfreeze the order itself. If the order contains no eligible line items, the request has no effect. Unfreezing applies only to Choice Products (Reward Link®, Global Choice Link, Promo Link™, and Disbursement Link) that are fully unredeemed and currently frozen. Tango rejects line items that are not frozen or that have already been canceled. See Manage Choice products
Send a POST request to /asyncOrders/{referenceOrderID}/unfreeze to attempt to unfreeze every eligible line item in the specified async order. Provide a valid reason code, such as VERIFY_ORDER, DUPLICATE, FRAUD, or OTHER, to explain why the line items are being unfrozen. If no manual action is taken, Tango may automatically unfreeze frozen line items after 48 hours. If the order contains no eligible line items, the request does not change any line items.
The overall outcome is then reported via the webhook event: OrderActionStatusSee Order action status for more information.
Use case
After ACME Health temporarily freezes certain rewards within a large async order, the investigation team determines that several flagged rewards are valid. ACME Health sends POST /asyncOrders/{referenceOrderID}/unfreeze to attempt to unfreeze all eligible line items in that order. Only line items that are eligible and currently frozen are affected. If none of the line items are eligible, the request completes without changing the order’s line items.
How it works?
When you call POST {URI}/asyncOrders/{referenceOrderID}/unfreeze, Tango:
- Looks up the async order by referenceOrderID.
- Checks each line item to see whether it is eligible to be unfrozen.
- Unfreezes only the eligible line items.
- Leaves all other line items unchanged.
- Reports the outcome through the
OrderActionStatuswebhook event. If the order contains no eligible line items, the request has no effect.
Endpoint
Use the following endpoint to unfreeze a qualified line item:
| Endpoint | Purpose |
|---|---|
POST {URI}/asyncOrders/{referenceOrderID}/unfreeze | Attempt to unfreeze all eligible line items in the specified async order. |
Parameters
Use the following path parameter to identify which line items you're unfreezing:
| Path params | Requirement | Data type | Description |
|---|---|---|---|
referenceOrderID | required | string | Reference order ID for the async order whose eligible line items you want to unfreeze. |
The following body parameters are used to provide the reason for unfreezing your line item. See Get all reason codes for descriptions:
| Body params | Data type | Requirement | Description |
|---|---|---|---|
| reasonCode | string | required | Enter the reason codes to unfreeze 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 line item only if the available reasonCodes don't meet your needs. |
Notes
- This endpoint affects only eligible line items. It does not change the async order itself. If the order contains no eligible line items, the request has no effect.
- Only fully unredeemed Choice Products that are currently frozen can be unfrozen.
- Canceled and not frozen line items cannot be unfrozen.
- A valid reason code is required. If you use OTHER, otherReason is required.
- Freeze/unfreeze actions must occur within the valid window after reward issuance. Freeze/unfreeze may occur on different days as long as within permitted timing.
- If no action is taken, Tango auto‑unfreezes a reward after 48 hours of being frozen.
Response message
Here is the 202 Accepted response returned when the unfreeze request is accepted for processing. This response confirms that Tango accepted the request for processing. It does not guarantee that every line item in the order was eligible for unfreezing:
{
"referenceOrderId": "string",
"externalRefID": "string",
"status": "string",
"totalLineItems": 0,
"date": "2026-02-17T18:02:33.823Z"
}The 202 response body is giving you the following information:
| Field | What it tells 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 unfrozen 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 doesn't point to anything that exists on the server. |
| 422 | The server understands the request but cannot process it due to semantic errors. |
Updated 5 days ago
