Reissue line items

Using the reissue endpoint, the original reward is permanently canceled, and the amount is refunded minus any applicable fees. A new order is then generated with the same reward (UTID), allowing you to correct the recipient’s name, email address, and reward amount. The new order uses the same account as the original order to withdraw the reward amount. You can only reissue choice products such as: Reward Link®, Global Choice Link, Promo Link™, and Disbursement Link with the corrected recipient information. See Manage Choice products.

Use the following endpoint to reissue a line item:

EndpointDescription
POST {URI}/lineItems/{referenceLineItemID}/reissueReissue a line item on this platform.
📘

Note:

  • You can only reissue Choice products anytime within five (5) calendar days of sending it.
  • You can only reissue the first issuance of a Promo Link. If a Promo Link has expired and been reissued at least once, it can’t be reissued.
  • You can only reissue the same reward with a different amount, email, or recipient’s name.
  • You cannot reissue with a different currency. Cancel the reward completely and then issue a brand-new reward in the currency of your choice.

The following path parameter is used with this endpoint:

Path paramsData typeRequirementDescription
referencLineItemIDstringRequiredReference line item ID is returned in the line item's response.

The following body parameters are used to provide the reason to reissue the line item. See Get all reason codes for descriptions:

Body params

Data type

Requirement

Description

reasonCode

string

required

Enter the reason why this line item is being reissued. See Get all reason codes for reasons and their descriptions.

  • DELIVERY_INFO
  • REWARD_AMOUNT
  • REWARD_TYPE
  • RECIPIENT
  • CURRENCY
  • RECEPIENT_REQUESTED
  • OTHER

otherReason

string

required if reasonCode=OTHER

Enter a description why you need to reissue this line item only if the available reasonCodes don't meet your need.

amount

number

optional

Amount of the line item being reissued.

deliveryMethod

string, enum

optional

Specify the delivery method for when the reward is reissued. The available methods are:

  • NONE: You are responsible for delivering the rewards to your recipient. This option is similar to sendEmail=false.
  • EMAIL: Tango sends an email to deliver the rewards to your recipient. This option is similar to sendEmail=true.
  • PHONE: Tango sends SMS to deliver the rewards to your recipient.
  • ADDRESS: Tango delivers the physical rewards via carriers such as the post office, FedEx, UPS, etc.
  • EMBEDDED: You will embed Tango's landing page into your application.

recipient

object

optional

Use to update recipient details when reissuing a line item. You can modify the recipient’s name, email, and mobile number.

-firstName

string

optional

Use to update the recipient’s first name (0–100 characters). Cannot include < , >, and / For physical rewards, the maximum length is 25 characters. Allowed characters for physical rewards are digits (0–9), letters (a–z, A–Z), space, period (.), comma (,), and hyphen (-).

-lastName

string

optional

Use to update the recipient’s last name (0–100 characters). Cannot include < , >, and / For physical rewards, the maximum length is 25 characters. Allowed characters for physical rewards are digits (0–9), letters (a–z, A–Z), space, period (.), comma (,), and hyphen (-).

-email

string

optional

Use to update the recipient’s email address. Is required if the delivery method is email.

-mobileNumber

string

optional

Use to update the recipient’s mobile number. It's required if the delivery method is SMS.

notes

string

optional

Order notes up to 150 characters.


How to reissue a line item?

Let's say you realize that you have sent the Reward Link to the wrong recipient. You can reissue the reward with the correct recipient information. Here's how:

To reissue an existing line item:

  1. Initiate reissue: Call POST {URI}/lineItems/{referenceLineItemID}/reissue to reissue the reward.
  2. Provide Reference ID: Enter the referenceLineItemID for the line item you are planning to reissue.
  3. Enter required details: Enter a reason code, amount, and other fields. The returned payload is that of the newly issued order.

Response payload

The mobile delivery is controlled by the recipient's mobileNumber and the deliveryMethod value. The mobile delivery is only allowed if the feature is enabled for the platform. Note that reissue has a new referenceOrderID.

{
  "referenceOrderID": "string",
  "referenceLineItemID": "string",
  "externalRefID": "string",
  "customerIdentifier": "string",
  "accountIdentifier": "string",
  "amountCharged": {
    "value": 0,
    "currencyCode": "string",
    "exchangeRate": 0,
    "fee": 0,
    "total": 0
  },
  "denomination": {
    "value": 0,
    "currencyCode": "string",
    "exchangeRate": 0,
    "fee": 0,
    "total": 0
  },
  "utid": "string",
  "ptid": "string",
  "rewardName": "string",
  "reward": {
    "credentials": {
      "additionalProp": "string"
    },
    "credentialList": [
      {
        "label": "string",
        "value": "string",
        "type": "string",
        "credentialType": "string"
      }
    ],
    "redemptionInstructions": "string"
  },
  "sender": {
    "firstName": "string",
    "lastName": "string",
    "email": "string"
  },
  "recipient": {
    "firstName": "string",
    "lastName": "string",
    "email": "string",
    "mobileNumber": "string",
    "address": {
      "companyName": "string",
      "streetLine1": "string",
      "streetLine2": "string",
      "city": "string",
      "stateOrProvince": "string",
      "postalCode": "string",
      "country": "string"
    }
  },
  "emailSubject": "string",
  "message": "string",
  "deliveryMethod": "NONE",
  "status": "string",
  "campaign": "string",
  "purchaseOrderNumber": "string",
  "createdAt": "2026-01-22T18:55:50.884Z",
  "redemptionInstructions": "string"
}

External reference ID

The externalRefID is a custom identifier that your system uses to track the order. externalRefID is optional when creating an order with POST {URI}/orders. When you reissue an order, the system retains the original externalRefID and appends a suffix to indicate it's a reissued version:

  • First reissue: originalExternalRefID-reissue-01
  • Second reissue: originalExternalRefID-reissue-02
  • Third reissue: originalExternalRefID-reissue-03

When you reissue the async orders, the system preserves both the order-level and line-item-level external reference IDs with a similar suffix pattern:

  • First reissue: orderExternalRefID-extranlRefLineItemID-reissue-01
  • Second reissue: orderExternalRefID-extranlRefLineItemID-reissue-02
  • Third reissue: orderExternalRefID-extranlRefLineItemID-reissue-03
📘

Note:

  • If the original order's externalRefID is null, the system does not append a suffix, leaving the externalRefID as nullon the reissued order.
  • The externalRefID in the response can exceed 100 characters (unlimited) due to the appended suffixes. Although for both POST {URI}/Orders and POST {URI}/asyncOrders, the input externalRefID is limited to 100 characters.

If you attempt to reissue using a referenceLineItemID for a line item that has been canceled, you will receive a 422 unprocessable error response.

{
  "timestamp": "2025-02-18T22:31:11.990150487Z",
  "requestId": "cfe60046-a95a-4a2c-b861-b75e69cf31b6",
  "path": "/raas/v2/lineItems/RG250218-134884-59-1/reissue",
  "httpCode": 422,
  "httpPhrase": "Unprocessable Entity",
  "i18nKey": "422.242",
  "message": "Line Item ineligible to reissue."
}

Here's an example payload for when you receive any 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 codeMeaning
201New resource has been successfully created as a result of the request.
400The server could not understand the request due to invalid syntax.
401Authentication is required and has either not been provided or failed.
403The server understood the request but refuses to authorize it.
422The server understands the request but cannot process it due to semantic errors.
500Something went wrong on the server, but the server cannot be more specific about what the exact problem is.


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