Unfreeze async orders
Coming soon: This feature will be coming soon.
This endpoint allows you to manually unfreeze a previously frozen reward in an order so that it becomes redeemable again. Unfreezing applies only to Choice Products (Reward Link®, Global Choice Link, Promo Link™, and Disbursement Link) and only when the reward is fully unredeemed. See Manage Choice products. A line item must already be in a frozen state to qualify for unfreezing. Tango will reject attempts to unfreeze items that are not frozen or have been canceled.
Use a POST request to POST /asyncOrders/{referenceOrderID}/unfreeze. Provide a valid reason code, such as fraud or duplicate, to explain why the reward is being unfrozen. If no manual action is taken, Tango may automatically unfreeze a frozen reward after 48 hours, but the unfreeze endpoint allows you to unfreeze earlier once the issue is resolved. 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 asynchronous order, the investigation team determines that several of the flagged rewards are valid. Since each reward is a line item within the async order, ACME Health can safely unfreeze them using the POST /asyncOrders/{referenceOrderID}/unfreeze endpoint. ACME Health also provides a required reason code such as VERIFY_ORDER or FRAUD. Once unfrozen, the reward becomes redeemable again. Tango permits unfreezing only on eligible Choice Products with a valid reason code and returns a 202 Accepted response when successful. Tango prevents unfreezing for items that have been canceled following a freeze.
Unfreeze async orders
Use the following endpoint to unfreeze a qualified line item:
| Endpoint | Purpose |
|---|---|
POST {URI}/asyncOrders/{referenceOrderID}/unfreeze | Unfreeze all eligible line items in an order. |
Use the following path parameter to identify which line items you're unfreezing:
| Path params | Requirement | Data type | Description |
|---|---|---|---|
referenceOrderID | required | string | Any reference order ID (portal or API) to be unfrozen |
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 code to unfreeze this line item. See Get all reason codes
|
otherReason | string | optional | This field is required if |
Notes
- Only fully unredeemed Choice Products, such as: Reward Link®, Global Choice Link, Promo Link™, and Disbursement Link can be unfreezed.
- Line item must currently be frozen. You cannot unfreeze an item that is not already in a frozen state.
- Unfreezing is not allowed for any line item that has been cancelled.
- A valid reason code is required (DELIVERY_INFO, REWARD_AMOUNT, REWARD_TYPE, VERIFIED_ORDER, FRAUD, OTHER). If using 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 response returned when freezing an order is successful:
{
"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 |
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 has received and accepted the request, but has not yet completed processing it. |
| 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 6 days ago
