Get all items in the platform catalog

This endpoint allows you to retrieve the full list of reward items available on your platform. You can filter results by reward type, brand, currency, country, fulfillment type, and other attributes to find specific items and their UTIDs for ordering.

Endpoint

Use this endpoint to get the full platform catalog including brands, items, attributes, categories, and credential types. See Get credential types . This endpoint also supports a wide range of query parameters for filtering.

EndpointDescription
GET {URI}/catalogsGet all items in the platform's catalog.

Parameters

The following query parameters are available with this endpoint to refine your search results:

Query params

Data type

Description

verbose

boolean

Default is True. When true, will return the additional brand fields: status, disclaimer, description, short description, terms, brand requirements collection, and image urls collection.

brandKey

string

Returns the brand and item details for a specific brand ID.

brandName

string

Returns the brand and item details for a specific brand name.

utid

string

Returns the brand and item details for a specific UTID. UTID is the unique identifier for a specific reward.

rewardName

string

Returns the brand and item details of the specified reward name.

status

string

Returns all brands and item details with the specified status. Possible statuses are: "test", "active", "inactive", "deleted".

rewardType

string

Returns all brands and item details with the specified reward type:

  • all
  • gift card (such as Starbucks, Amazon.com, Target, and many others in a variety of currencies.)
  • promo (See Promo Link™)
  • donation (such as American Cancer Society, American Red Cross, etc.)
  • Reward Link (See Reward Link®)
  • payment ACH (See Pay with ACH or Wire)
  • payment card
  • reporting
  • payment-paypal
  • Tango open loop
  • cash equivalent
  • physical gift card

currencyCode

string

Return all brands and item details associated with a specific currency. CurrencyCode value is returned as three letters such as USD.

country

string

Returns all brands and item details from a specific country. Country codes are two-digits.

itemAttribute

string

Is used to filter catalog items based on specific attributes, instead of browsing the entire catalog. It returns all brands and item details that match the selected attribute. Each matching item includes a UTID for ordering. You can query items by a specific attribute. The system returns all UTIDs that match that attribute. Available attributes are: EMAIL, PHONE, ADDRESS, EMBEDDED.

categoryIds

arrays of uuids

Returns all brands and item details for specific brand categories.
For categoryIds, you can add UUID (Universally Unique Identifier).


Response body notes

On a successful request (200 OK), the response body includes several important fields. Below are some key notes and considerations to help you understand field behaviors and best practices:

  • Use utid when ordering: utid is the unique identifier for a reward item. Pass the utid from the catalog response when you create an order. Do not hardcode UTIDs because catalog items can change.

  • Filter for orderable items: The catalog can include items with test, active, inactive, or deleted statuses. Use status=active to return items that can be ordered in production.

  • Check item value rules:

    • If valueType=FIXED_VALUE, use faceValue as the required reward amount.
    • If valueType=VARIABLE_VALUE, use minValue and maxValue to determine the allowed amount range. For variable-value items, faceValue is 0.
  • Check delivery options before ordering: Use the attributes array to determine supported delivery methods. Possible attributes include EMAIL, PHONE, ADDRESS, and EMBEDDED.

  • Use verbose=false for smaller responses: verbose=true is the default and returns additional brand metadata, including status, disclaimer, description, shortDescription, terms, brandRequirements, and imageUrls. Use verbose=false when you only need basic brand and item data.

  • Filter by currency and country: A brand can have items across multiple currencies and countries. Use currencyCode or country to narrow results for your use case.

  • Reduce large payloads with filters: The full catalog can be large. Use query parameters such as brandKey, utid, rewardType, currencyCode, country, or itemAttribute to reduce response size.

  • Avoid deprecated fulfillmentType: fulfillmentType is deprecated. Use attributes instead to determine delivery capabilities.


Retrieve catalog items when verbose is true

When the verbose is true, it returns the additional brand information, such as brand key, brand name, description, terms, brand requirements, status, items, and more. isExpirable indicates whether or not the gift card has an expiry date. The value for isExpirable =boolean is true or false. The following payload example is for when verbose=true:

{
  "catalogName": "string",
  "brands": [
    {
      "brandKey": "string",
      "brandName": "string",
      "disclaimer": "string",
      "description": "string",
      "shortDescription": "string",
      "terms": "string",
      "createdDate": "2025-11-04T18:54:41.989Z",
      "lastUpdateDate": "2025-11-04T18:54:41.989Z",
      "brandRequirements": {
        "displayInstructions": "string",
        "termsAndConditionsInstructions": "string",
        "disclaimerInstructions": "string",
        "alwaysShowDisclaimer": true
      },
      "imageUrls": {
        "additionalProp": "string"
      },
      "status": "string",
      "items": [
        {
          "utid": "string",
          "rewardName": "string",
          "currencyCode": "string",
          "status": "string",
          "valueType": "string",
          "rewardType": "string",
          "isExpirable": true,
          "quantityConstraints": {
            "minQuantity": 1,
            "maxQuantity": 1
          },
          "isWholeAmountValueRequired": true,
          "exchangeRateRule": "string",
          "minValue": 0,
          "maxValue": 0,
          "faceValue": 0,
          "fee": {
            "type": "string",
            "value": 0
          },
          "createdDate": "2025-11-04T18:54:41.989Z",
          "lastUpdateDate": "2025-11-04T18:54:41.989Z",
          "countries": [
            "string"
          ],
          "credentialTypes": [
            "string"
          ],
          "redemptionInstructions": "string",
          "attributes": [
            "string"
          ]
        }
      ],
      "categories": [
        {
          "identifier": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "description": "string"
        }
      ]
    }
  ]
}

Retrieve catalog items when verbose is false

When verbose=false, it returns only brand name, brand key, and items. Use this for faster responses when you don't need brand metadata. isExpirable indicates whether or not the gift card has an expiry date. The value for isExpirable =boolean is true or false. The following payload example is for when verbose=false:

{
  "catalogName": "string",
  "brands": [
    {
      "brandKey": "string",
      "brandName": "string",
      "disclaimer": "string",
      "description": "string",
      "shortDescription": "string",
      "terms": "string",
      "createdDate": "2025-07-31T01:25:58.972Z",
      "lastUpdateDate": "2025-07-31T01:25:58.972Z",
      "brandRequirements": {
        "displayInstructions": "string",
        "termsAndConditionsInstructions": "string",
        "disclaimerInstructions": "string",
        "alwaysShowDisclaimer": true
      },
      "imageUrls": {
        "additionalProp": "string"
      },
      "status": "string",
      "items": [
        {
          "utid": "string",
          "rewardName": "string",
          "currencyCode": "string",
          "status": "string",
          "valueType": "string",
          "rewardType": "string",
          "isExpirable": true,
          "isWholeAmountValueRequired": true,
          "exchangeRateRule": "string",
          "minValue": 0,
          "maxValue": 0,
          "faceValue": 0,
          "fee": {
            "type": "string",
            "value": 0
          },
          "createdDate": "2025-07-31T01:25:58.972Z",
          "lastUpdateDate": "2025-07-31T01:25:58.972Z",
          "countries": [
            "string"
          ],
          "credentialTypes": [
            "string"
          ],
          "redemptionInstructions": "string",
          "attributes": [
            "string"
          ]
        }
      ],
      "categories": [
        {
          "identifier": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "description": "string"
        }
      ]
    }
  ]
}

Examples

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:

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


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