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.

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 For example, use GET /asyncOrders/customers/{customerIdentifier}/accounts/{accountIdentifier}/{externalRefID} with orderStatus = FAILED. Learn more in Get async orders status.

📘

Note:

The GET {URI}/asyncOrders endpoint returns only successfully processed async orders. Orders with orderStatus = FAILED are excluded from the list response.


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

This endpoint only returns async orders whose orderStatus is COMPLETE, PENDING, CANCELLED, or PARTIAL (per your filtering). It does not return orders with orderStatus = FAILED, even if you filter by orderStatus = FAILED. To retrieve a failed async order, call the order detail endpoint using the order’s externalRefID. See Get async orders status.

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

Query params

Data type

Description

accountIdentifier

string

Specify the account to be queried. The string must have 5-100 characters.

customerIdentifier

string

Specify the customer to be queried. The string must have 5-100 characters.

externalRefID

string

Specify the external reference ID to be queried. The string may have up to 100 alphanumeric characters.

startDate

string

Specify 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

endDate

string

Specify 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

maxResults

int32

Specify the number of maxResults per page.

elementsPerBlock

string

specify the number of elements in a block.

page

int32

Specify the page number to return.

minAmount

double

Specify the minimum face value of the reward to be queried. 👍 **Best practice:**When you are searching for an amount, we recommend you to enter a minimum and a maximum amount for the search.

maxAmount

double

Specify the maximum face value of the reward to be queried. 👍 **Best practice:**When you are searching for an amount, we recommend you to enter a minimum and a maximum amount for the search.

currencyCode

string

Specify the currency code of the reward to be queried. The string must be three characters. We accept AUD, CAD, EUR, GBP, or USD. Only one currency can be specified. Currency can never be changed. The currency defaults to USD if no currency is specified.

utid

string

Specify the unique identifier of the reward to be queried. For example: UTID=U1234 has the attributes= (NONE, EMAIL, PHONE, and EMBEDDED).

ptid

string

Specify 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.

rewardName

string

Specify the reward name of the reward to be queried.

senderFirstName

string

Specify 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 sendEmail: true. The senderFirstName may have up to 100 characters. You cannot use < or > or / in the name.

senderLastName

string

Specify 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 sendEmail: true. The senderlastName may have up to 100 characters. You cannot use < or > or / in the name..

senderEmail

string

Specify 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 sendEmail: true.

recipientEmail

string

Specify the recipient’s email address to be queried.

recipientMobileNumber

string

Specify 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.

recipientFirstName

string

Specify the recipient’s first name to be queried. The recipientFirstName may have up to 100 characters. You cannot use < or > or / in the name.

recipientLastName

string

Specify the recipient’s last name to be queried. The recipientLastName may have up to 100 characters. You cannot use < or > or / in the name.

deliveryMethod

string

Specify the deliveryMethod for your order. We have introduced various ways of reward delivery to your recipients through deliveryMethod. See Delivery method .

orderStatus

string

Specify the status to be queried. See order status. -COMPLETE -PENDING -FAILED* -CANCELLED -PARTIAL

lineItemStatus

string

Specify the status to be queried. See line item status . -COMPLETE -PENDING -FAILED -CANCELLED

campaign

string

Specify the campaign to be queried. The maximum length is 1024 characters, including the special characters such as @, #, %, etc.

notes

string

Specify the notes to be queried. The string may have up to 150 characters.

lineItemNotes

string

Specify the notes to be queried.

purchaseOrderNumber

string

specify the purchaseOrderNumber to be queried.

prevCursor

string

nextCursor

string

*This endpoint does not return orders with orderStatus = FAILED, even if you filter by orderStatus = FAILED.

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.