Cancel line items
Tango API supports a workflow where a previously issued reward can be canceled. You can self-cancel a fully unredeemed Choice Product (Reward Link®, Global Choice Link, Promo Link™, and Disbursement Link) within five (5) calendar days of sending the reward.
The funds from a canceled reward minus fees are refunded to the same Tango account from which the reward was originally ordered. If you need to reissue the reward, refer to reissue a line item. To create a new order, see Create an order under a specific account .
Notes:
- You can only cancel fully unredeemed Choice products anytime within five (5) calendar days of sending it.
- You can only cancel the first issuance of a Promo Link. See our Tango user document for Reissue Promo Links rules and exceptions.
- You cannot self-cancel a reward outside the five-day window. For a valid reason to cancel outside the five-day window or to discuss the issue, contact your Customer Success Manager (CSM) or [email protected]. For the general cancellation policy, refer to Tango Cancellation Policy.
Use cases
See the following use cases to cancel a line item:
Problem | Solution |
---|---|
You entered the wrong recipient information | Have you sent a Reward Link to the wrong person? As long as the Reward Link remains fully unredeemed, you have five days to: |
Your recipient didn't meet your business requirements | Has the recipient failed to meet your business requirement for receiving the reward? As long as the Reward Link remains fully unredeemed, you have up to five days to cancel. |
Use the following endpoint to cancel a qualified line item:
Endpoint | Purpose |
---|---|
POST {URI}/line-items/{referenceLineItemID}/cancel | Cancel a line item on this platform. |
Use the following path parameter to identify which line items you're canceling:
Path params | Data type | Requirement | Description |
---|---|---|---|
referenceLineItemID | string | required | Reference line item ID is returned in the line items response. |
The following body parameters are used to provide the reason for canceling your line item. See Get all reason codes for descriptions:
Body params | Data type | Requirement | Description |
---|---|---|---|
reasonCode | string | required | Enter the reason code to cancel this line item. See Get all reason codes for reasons and their descriptions. |
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 doesn't meet your need. |
How to cancel an existing line item?
See the steps below:
- Call
POST {URI}/line-items/{referenceLineItemid}/cancel
to cancel the reward. - Enter the
referenceLineItemID
for the line item you are planning to cancel. - Enter a reason code. A successful returned response is 202 Accepted.
- Call
GET {URI}/lineItems/{referenceLineItemID}
and enter the samereferenceLineItemID
for cancellation to see the updated reward status. The status shows up as cancelled in the payload.
Here is the response returned when canceling a line item is successful:
{
Accepted
}
If you try to cancel a line item that is already cancelled, you will get 422 unprocessable .
{
"timestamp": "2025-02-14T18:20:46.859981268Z",
"requestId": "57aa9a08-385e-4075-b2d4-1d96477b08cd",
"path": "/raas/v2/lineItems/RG250106-133850-97-1/unfreeze",
"httpCode": 422,
"httpPhrase": "Unprocessable Entity",
"i18nKey": "422.234",
"message": "Line Item is ineligible to cancel."
}
Here's an example payload for when you receive an error:
{
"timestamp": "2025-02-21T23:23:13.930Z",
"requestId": "string",
"path": "string",
"httpCode": 0,
"httpPhrase": "string",
"i18nKey": "string",
"message": "The error message will show here for error codes ",
"errors": [
{}
]
}
The possible response codes for this endpoint are as follows. For details, see i18nkey codes and their error messages:
Response | Description |
---|---|
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. |
403 | The server understood the request but refuses to authorize it. |
422 | The server understands the request but cannot process it due to semantic errors. |
Updated 5 days ago