Get a list of all customers

The GET {URI}/customers endpoint allows you to retrieve a complete list of all customers associated with your platform or master account in the Tango platform. This is especially useful for platforms that manage multiple clients, departments, or business units under a single integration.

Use case

Acme is a corporate wellness provider that uses Tango API to distribute digital rewards to employees and clients as part of health challenges, incentive programs, and engagement campaigns. Acme may have multiple sub-clients or departments such as HR, Marketing, etc. each set up as a separate customer in the Tango system.

Use the following endpoint to list all customer profiles under their master account:

EndpointPurpose
GET {URI}/customersGet a list of all customers on this platform.

Use the query parameters to filter the payload and improve the results. The following query parameters can be used with this endpoint:

Query paramsData typeDescription
displayNamestringA human-readable name used to identify a customer in a more user-friendly way than using a system-generated ID. This field is helpful in queries where you want to locate a customer by name rather than by a UUID or when the customerIdentifier is not known.
statusstringTo filter results based on the status of a group or customer. You can query only those entities that match the following group or customer status:
-ACTIVE
-INACTIVE
customerMinDateCreatedAtdate-timeTo filter customer records based on their creation date. It specifies the earliest createdAt timestamp for customers you want to include in your query results. The value must follow the RFC 3339 date-time format, which supports both date-only and full timestamp formats as in this example: "2025-01-01" or "2025-01-01T00:00:00Z". See https://www.ietf.org/rfc/rfc3339.txt
customerMaxDateCreatedAtdate-timeTo filter customer records based on their creation date. It specifies the latest createdAt timestamp for customers you want to include in your query results. The value must follow the RFC 3339 date-time format, which supports both date-only and full timestamp formats as in this example: "2025-01-01" or "2025-01-01T00:00:00Z". See https://www.ietf.org/rfc/rfc3339.txt>
accountStatusstringSpecify the account status to be queried. See Account status for more information.

- ACTIVE
-INACTIVE
-DISABLED
-FROZEN
-DELETED
accountIdentifierstringSpecify the account identifier to be queried.
accountNumberstringSpecify the account number to be queried.
accountDisplayNamestringSpecify the account display name to be queried.
accountMinDateCreatedAtdate-timeTo filter account records based on their creation date. It specifies the earliest createdAt timestamp an account must have to be included in the query results. The value must follow the RFC 3339 date-time format, which supports both date-only and full timestamp formats as in this example: "2025-01-01" or "2025-01-01T00:00:00Z". See https://www.ietf.org/rfc/rfc3339.txt
accountMaxDateCreatedAtdate-timeTo filter account records based on their creation date. It specifies the latest createdAt timestamp an account can have to be included in the query results. The value must follow the RFC 3339 date-time format, which supports both date-only and full timestamp formats as in this example: "2025-01-01" or "2025-01-01T00:00:00Z". See https://www.ietf.org/rfc/rfc3339.txt
paginatebooleanPaginated payload helps managing the payload and prevents API timeout. Select to paginate the results:
-true: paginate the results.
-false: not to paginate the results. False is the default.
prevCursorstringThe cursor to use for the previous page of results. This will be ignored if paginate is false.
nextCursorstringThe cursor to use for the next page of results. This will be ignored if paginate is false.
maxResultsint32The maximum number of results to return. The default is 10, and the maximum is 200. This will be ignored if paginate is false.

The following payload is an example for when you use GET {URI}/customers\:


 [
  {
    "customerIdentifier": "string", (5-100 chars)
    "displayName": "string",(100 chars)
    "status": "string",
    "createdAt": "2024-03-11T19:30:55.706Z",
    "accounts": [
      {
        "accountIdentifier": "string", (5-100 chars)
        "accountNumber": "string",
        "displayName": "string", (100 chars)
        "createdAt": "2024-03-11T19:30:55.706Z",
        "status": "string",
        "currencyCode": "string"
      }
    ]
  }
] 

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:

Response codeMeaning
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.
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.
503The server is currently unable to handle the request due to temporary overload or maintenance.

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