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:

  • Freeze and investigate what happened.
  • Cancel the reward.
  • Cancel and reissue a new reward with the corrected recipient information or corrected amount.

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:

EndpointPurpose
POST {URI}/line-items/{referenceLineItemID}/cancelCancel a line item on this platform.

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

Path paramsData typeRequirementDescription
referenceLineItemIDstringrequiredReference 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.
-DELIVERY_INFO
-REWARD_AMOUNT
-REWARD_TYPE
-RECIPIENT
-CURRENCY
-RECIPIENT_REQUESTED
-RECIPIENT_OBLIGATIONS
-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 doesn't meet your need.


How to cancel an existing line item?

See the steps below:

  1. Call POST {URI}/line-items/{referenceLineItemid}/cancel to cancel the reward.
  2. Enter the referenceLineItemID for the line item you are planning to cancel.
  3. Enter a reason code. A successful returned response is 202 Accepted.
  4. Call GET {URI}/lineItems/{referenceLineItemID} and enter the same referenceLineItemID 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:

ResponseDescription
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.
403The server understood the request but refuses to authorize it.
422The server understands the request but cannot process it due to semantic errors.

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