Get a list of orders placed on this platform

Use GET {URI}/orders to retrieve a list of orders associated with your platform and account. It is primarily used to retrieve all orders or a filtered subset, audit and track orders, monitor delivery status, support customer service and troubleshooting workflows.

This endpoint is typically used after orders have already been created through the API (for example, via POST {URI}/orders). You can track, audit, and manage your reward program by reviewing your previously placed orders.

Use case

Acme Health, a wellness‑benefits provider, uses Tango’s API to send rewards when employees complete activities such as annual checkups, fitness challenges, and preventive screenings. After creating reward orders with POST {URI}/orders, Acme Health uses GET {URI}/orders to track delivery status, monitor program performance, resolve participant issues, and audit fulfillment.

Endpoint

Use the following endpoint to retrieve a list of all reward orders placed under your platform:

EndpointPurpose
GET {URI}/ordersGet a list of Orders placed under this platform.
📘

Note:

GET {URI}/orders returns a maximum of 10,000 results. Use query parameters and pagination to filter large datasets.

This endpoint supports query parameters for account, customer, date range, amount, currency, recipient, delivery method, order status, line item status, campaign, notes, and purchase order number. deliveryMethod, recipientMobileNumber, and deliveryStatus, allow you to filter orders by delivery types like EMAIL, PHONE, ADDRESS, and EMBEDDED.


Parameters

Here is a list of query parameters offered with this endpoint to better filter your search results:

Query paramsData typeDescription
accountIdentifierstringSpecify the account to be queried. The string must have 5-100 characters.
customerIdentifierstringSpecify the customer to be queried. The string must have 5-100 characters.
externalRefIDstringSpecify the external reference ID to be queried. The string may have up to 100 alphanumeric characters.
startDatestringSpecify the starting date or date time to be queried according to RFC 3339, i.e. "2016-01-01" or "2016-01-01T00:00:00Z". See https://www.ietf.org/rfc/rfc3339.txt
endDatestringSpecify the ending date or date time to be queried according to RFC 3339, i.e. "2016-01-01" or "2016-01-01T00:00:00Z". See https://www.ietf.org/rfc/rfc3339.txt
elementsPerBlockint32Specify the number of elements in a block that is the maximum number of items per page.
pageint32Specify the page number to return.
minAmountdoubleSpecify the minimum face value of the reward to be queried.
Best practice: When filtering by amount, provide both minAmount and maxAmount.
maxAmountdoubleSpecify the maximum face value of the reward to be queried.
Best practice: When filtering by amount, provide both minAmount and maxAmount.
currencyCodestringSpecify the currency code of the reward to be queried. The string must be three characters.
utidstringSpecify the unique identifier of the reward to be queried. For example: UTID=U1234 has the attributes= (NONE, EMAIL, PHONE, and EMBEDDED).
ptidstringSpecify the unique identifier of the physical delivery template to be queried. PTID is required for orders where the UTID is Reward Type = Reward Link, Fulfillment Type = Physical.
rewardNamestringSpecify the reward name of the reward to be queried.
senderFirstNamestringSpecify the sender's first name to be queried. This information is for tracking purposes only and doesn’t change the email address the reward is sent from when deliveryMethod=email. The senderFirstName may have up to 100 characters. You cannot use < or > or / in the name.
senderLastNamestringSpecify the sender's last name to be queried. This information is for tracking purposes only and doesn’t change the email address the reward is sent from when deliveryMethod=email. The senderlastName may have up to 100 characters. You cannot use < or > or / in the name..
senderEmailstringSpecify the sender email address to be queried. This information is for tracking purposes only and doesn’t change the email address the reward is sent from when deliveryMethod=email.
recipientEmailstringSpecify the recipient’s email address to be queried.
recipientMobileNumberstringSpecify the recipient mobile number to be queried. The recipientMobileNumber is required if deliveryMethod=PHONE. The following validation rules apply to mobile numbers for SMS delivery:
  • Country Code: Must be included.
  • Format: +CCCPPPPPPPPPPPP (where C is the country code, 1-3 digits, and P is the phone number, up to 12 digits).
  • Initial Release: Only accepts US phone numbers (Country code = +1) and 10 digits for the phone number. -Standard: Follows ITU E.164, allowing (+) and up to 15 digits for the combined country code and phone number.
recipientFirstNamestringSpecify the recipient’s first name to be queried. The recipientFirstName may have up to 100 characters. You cannot use < or > or / in the name.
recipientLastNamestringSpecify the recipient’s last name to be queried. The recipientLastName may have up to 100 characters. You cannot use < or > or / in the name.
deliveryMethodstringA query of orders based on their method of delivery. We have introduced various ways of reward delivery to your recipients through deliveryMethod. See Delivery methods for more information.
orderStatusstringSpecify the status to be queried. See order status. -COMPLETE -PENDING -FAILED -CANCELLED -PARTIAL
lineItemStatusstringSpecify the status to be queried. See line item status . -COMPLETE -PENDING -FAILED -CANCELLED
campaignstringSpecify the campaign to be queried. The maximum length is 1024 characters including the special characters such as @, #, %, etc.
notesstringSpecify the notes to be queried. The string may have up to 150 characters.
lineItemNotesstringSpecify the notes to be queried.
purchaseOrderNumberstringSpecify the purchase order number to query.

Responses

The response body for GET {URI}/orders contains all order records returned by your query, along with pagination details and all relevant attributes for each order. It tells you which orders were found, how many exist, and provides complete metadata for each order, including delivery details, status, campaign identifiers, timestamps, and sender/recipient information.


Examples

The following example shows the payload including pagination when you use GET {URI}/orders. A successful response includes pagination metadata and an orders array. The response may include status, orderStatus, and lineItemStatus. Use orderStatus or lineItemStatus to determine fulfillment state.

{
  "page": {
    "number": 0,
    "elementsPerBlock": 0,
    "resultCount": 0,
    "totalCount": 0
  },
  "orders": [
    {
      "referenceOrderID": "string",
      "externalRefID": "string",
      "customerIdentifier": "string",
      "accountIdentifier": "string",
      "accountNumber": "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",
      "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",
      "etid": "string",
      "status": "string",
      "orderStatus": "string",
      "lineItemStatus": "string",
      "campaign": "string",
      "createdAt": "2026-05-08T19:15:31.526Z",
      "notes": "string",
      "orderClientSource": "string",
      "purchaseOrderNumber": "string",
      "orderExternalRefIdDupe": true,
      "asyncOrderEntity": {
        "externalRefID": "string",
        "status": "string",
        "totalLineItems": 0,
        "createdAt": "2026-05-08T19:15:31.526Z",
        "failedLineItems": [
          {
            "lineItemId": "string",
            "externalRefLineItemID": "string",
            "utid": "string",
            "errors": [
              {
                "field": "string",
                "errorCodeValue": 0,
                "errorCodeName": "string",
                "message": "string"
              }
            ]
          }
        ],
        "duplicateLineItemRefIds": {
          "additionalProp": 0
        }
      }
    }
  ]
}

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": [
    {}
  ]
}

Response codes

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

ResponseDescription
200The request was successful.
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.

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