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:

EndpointPurpose
POST {URI}/asyncOrders/{referenceOrderID}/unfreezeUnfreeze all eligible line items in an order.

Use the following path parameter to identify which line items you're unfreezing:

Path paramsRequirementData typeDescription
referenceOrderIDrequiredstringAny 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

  • VERIFY_ORDER
  • DUPLICATE
  • FRAUD
  • OTHER

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

  • 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:

FieldWhat it tells you
referenceOrderIdTango’s system‑assigned order ID
externalRefIDYour own order tracking ID (idempotency key)
statusThe current async processing status
totalLineItemsHow many rewards were in the order
dateWhen this order event occurred

The possible response codes for this endpoint are as follows. For details, see i18nkey codes and their error messages:

Response codeMeaning
202The server has received and accepted the request, but has not yet completed processing it.
400The server could not understand the request due to invalid syntax.
404The 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.
422The server understands the request but cannot process it due to semantic errors.

© 2026 Tango API are provided by Tango, a division of BHN, Inc.