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.
| Endpoint | Description |
|---|---|
GET {URI}/catalogs | Get 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:
|
currencyCode | string | Return all brands and item details associated with a specific currency. |
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. |
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
utidwhen ordering:utidis the unique identifier for a reward item. Pass theutidfrom 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, ordeletedstatuses. Usestatus=activeto return items that can be ordered in production. -
Check item value rules:
- If
valueType=FIXED_VALUE, usefaceValueas the required reward amount. - If
valueType=VARIABLE_VALUE, useminValueandmaxValueto determine the allowed amount range. For variable-value items,faceValueis0.
- If
-
Check delivery options before ordering: Use the
attributesarray to determine supported delivery methods. Possible attributes includeEMAIL,PHONE,ADDRESS, andEMBEDDED. -
Use
verbose=falsefor smaller responses:verbose=trueis the default and returns additional brand metadata, includingstatus,disclaimer,description,shortDescription,terms,brandRequirements, andimageUrls. Useverbose=falsewhen you only need basic brand and item data. -
Filter by currency and country: A brand can have items across multiple currencies and countries. Use
currencyCodeorcountryto 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, oritemAttributeto reduce response size. -
Avoid deprecated
fulfillmentType:fulfillmentTypeis deprecated. Useattributesinstead 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 code | Meaning |
|---|---|
| 200 | The request was successful.. |
| 400 | The server could not understand the request due to invalid syntax. |
| 401 | Authentication is required and has either not been provided or failed. |
| 403 | The server understood the request but refuses to authorize it. |
| 500 | Something went wrong on the server, but the server cannot be more specific about what the exact problem is. |
| 503 | The server is currently unable to handle the request due to temporary overload or maintenance. |
Updated 7 days ago
