Get a list of async orders

Get a list of Async Orders placed under this Platform.

This Tango API endpoint allows you to retrieve a list of successful asynchronous orders placed under your platform. You can track, audit, and manage your reward program by reviewing your previously placed async orders using the Tango API. This endpoint also helps filter and search for specific orders using query parameters, such as date, status, and externalRefID. These orders are processed in the background (non-blocking) and are multiple line items that may complete at different times.


📘

Note:

The GET {URI}/asyncOrders endpoint returns only successfully processed async orders. Failed orders are excluded from the list response. To retrieve a specific failed order, query it directly using its externalRefID. Use GET /asyncOrders/customers/{customerIdentifier}/accounts/{accountIdentifier}/{externalRefID} with orderStatus = FAILED. Learn more in Get async orders status.


Endpoint

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

EndpointPurpose
GET {URI}/asyncOrdersGet a list of async orders placed under this platform.

Use case

Acme Health runs a monthly wellness incentive program where employees who complete health challenges receive digital rewards. The program needs to handle multiple reward distributions, support various delivery methods, track order status and delivery, and enable follow-up actions such as resends. Acme uses this endpoint to be able to:

  • Send hundreds of rewards in one async order.
  • Support multiple delivery channels.
  • Gain full visibility into order and line item status.
  • Integrate with Acme’s internal wellness tracking system.

Parameters

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

Query paramsData typeDescription
accountIdentifierstringFilter results by account identifier. The string must have 5-100 characters.
customerIdentifierstringFilter results by customer identifier. The string must have 5-100 characters.
externalRefIDstringFilter results by external reference ID. The string may have up to 100 alphanumeric characters.
startDatestringFilter results by a start date or date-time. Use RFC 3339 format such as "2016-01-01" or "2016-01-01T00:00:00Z". See https://www.ietf.org/rfc/rfc3339.txt
endDatestringFilter results by an end date or date-time. Use RFC 3339 format, such as "2016-01-01" or "2016-01-01T00:00:00Z". See https://www.ietf.org/rfc/rfc3339.txt
maxResultsint32Specify the maximum number of results to return per page.
elementsPerBlockstringSpecify the number of results to include in each block of returned data.
pageint32Specify the page number of results to return.
minAmountdoubleFilter results by minimum reward face value. Returns only orders with a reward value greater than or equal to the specified amount.
Best practice: Specify both minAmount and maxAmount to define an amount range and improve search results.
maxAmountdoubleFilter results by maximum reward face value. Returns only orders with a reward value less than or equal to the specified amount.
Best practice: Specify both minAmount and maxAmount to define an amount range and improve search results.
currencyCodestringFilter results by currency code. The value must be a three-character currency code.
utidstringFilter results by reward UTID. A UTID uniquely identifies a reward. For example, U1234 may support attributes such as NONE, EMAIL, PHONE, and EMBEDDED.
ptidstringFilter results by physical template ID (PTID). PTID is required for orders where the reward has a fulfillment type of Physical.
rewardNamestringFilter results by reward name. Returns only orders associated with the specified reward name.
senderFirstNamestringFilter results by the sender’s first name. The value can contain up to 100 characters and cannot include <, >, or /.
senderLastNamestringFilter results by the sender’s last name. The value can contain up to 100 characters and cannot include <, >, or /.
senderEmailstringFilter results by sender email address. Returns only orders associated with the specified sender email address.
recipientEmailstringFilter results by recipient email address. Returns only orders associated with the specified recipient email address.
recipientMobileNumberstringFilter results by the recipient’s mobile number. Enter the number in E.164 format, including the country code (for example, +15551234567).
recipientFirstNamestringFilter results by the recipient's first name. The recipientFirstName may have up to 100 characters. You cannot use < or > or / in the name.
recipientLastNamestringFilter results by the recipient's last name. The recipientLastName may have up to 100 characters. You cannot use < or > or / in the name.
deliveryMethodstringFilter by the deliveryMethod for your order. See Delivery methods in Tango API .
orderStatusstringFilter results by order status. Valid values are: COMPLETE, PENDING, FAILED, CANCELLED, and PARTIAL. See order status .
Note: GET {URI}/asyncOrders does not return orders with orderStatus = FAILED, even if you filter by orderStatus = FAILED.
lineItemStatusstringFilter results by line item status. Valid values are: COMPLETE, PENDING, FAILED, and CANCELLED. See line item status .
campaignstringFilter results by campaign. The maximum length is 1024 characters, including the special characters such as @, #, %, etc.
notesstringFilter results by order notes. Returns only orders with notes matching the specified value. The value can contain up to 150 characters.
lineItemNotesstringFilter results by line item notes. Use this parameter to search for orders based on notes associated with individual line items.
purchaseOrderNumberstringFilter results by purchase order number. Returns only orders associated with the specified purchase order number.
prevCursorstringRetrieve the previous page of results in a paginated response. Use the prevCursor value returned by a previous API response.
nextCursorstringFetch the previous page of results when calling Tango's async-orders endpoints. Use the prevCursor value provided in the response when additional pages are available.

Examples

The following example shows the payload including pagination when you use GET {URI}/asyncOrders. The return payload shows the total amount charged at the order level, making it easier to determine the total amount charged without summing the paginated line items. See totalAmountCharged in the payload example:

{
  "prevCursor": "string",
  "nextCursor": "string",
  "prevPageAvailable": true,
  "nextPageAvailable": true,
  "maxResults": 0,
  "orders": [
    {
      "createdAt": "2025-10-23T21:52:43.041Z",
      "referenceOrderID": "string",
      "externalRefID": "string",
      "customerIdentifier": "string",
      "accountIdentifier": "string",
      "accountNumber": "string",
      "sender": {
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "address": {
          "streetLine1": "string",
          "streetLine2": "string",
          "city": "string",
          "stateOrProvince": "string",
          "country": "string",
          "postalCode": "string",
          "companyName": "string"
        },
        "mobileNumber": "string"
      },
      "campaign": "string",
      "purchaseOrderNumber": "string",
      "notes": "string",
      "fulfillBy": "2025-10-23T21:52:43.041Z",
      "orderStatus": "string",
      "totalLineItemsRows": 0,
      "amountCharged": {
        "currencyCode": "string",
        "value": 0,
        "total": 0
      }
    }
  ]
}

Here's an example payload for when you receive a 400 error message:

{
  "timestamp": "2025-10-23T21:52:43.041Z",
  "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.
500Something went wrong on the server, but the server cannot be more specific about the exact problem.

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