Skip to content

Create multiple catalog items

post

/catalogs/{catalog_name}/items

Use this endpoint to create multiple items in your catalog.

Each request can support up to 50 items. This endpoint is asynchronous.

Rate limit

This endpoint has a shared rate limit of 100 requests per minute between all asynchronous catalog item endpoints, as documented in API rate limits.

Path parameters

Parameter Required Data Type Description
catalog_name Required String Name of the catalog.

Request parameters

Parameter Required Data Type Description
items Required Array An array that contains item objects. The item objects should contain all of the fields in the catalog. Up to 50 item objects are allowed per request.

Example Request

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
curl --location --request POST 'https://rest.iad-03.braze.com/catalogs/restaurants/items' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "items": [
    {
      "id": "restaurant1",
      "Name": "Restaurant1",
      "City": "New York",
      "Cuisine": "American",
      "Rating": 5,
      "Loyalty_Program": true,
      "Location": {
        "Latitude": 33.6112,
        "Longitude": -117.8711
      },
      "Created_At": "2022-11-01T09:03:19.967+00:00"
    },
    {
      "id": "restaurant2",
      "Name": "Restaurant2",
      "City": "New York",
      "Cuisine": "American",
      "Rating": 10,
      "Loyalty_Program": true,
      "Location": {
        "Latitude": 40.7413,
        "Longitude": -73.9764
      },
      "Created_At": "2022-11-02T09:03:19.967+00:00"
    },
    {
      "id": "restaurant3",
      "Name": "Restaurant3",
      "City": "New York",
      "Cuisine": "American",
      "Rating": 3,
      "Loyalty_Program": false,
      "Location": {
        "Latitude": 40.7489,
        "Longitude": -73.9972
      },
      "Created_At": "2022-11-03T09:03:19.967+00:00"
    }
  ]
}'

Response

There are three status code responses for this endpoint: 202, 400, and 404.

Example success response

The status code 202 could return the following response body.

1
2
3
{
  "message": "success"
}

Example error response

The status code 400 could return the following response body. Refer to Troubleshooting for more information about errors you may encounter.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "errors": [
    {
      "id": "invalid-fields",
      "message": "Some of the fields given do not exist in the catalog",
      "parameters": [
        "id"
      ],
      "parameter_values": [
        "restaurant1"
      ]
    }
  ],
  "message": "Invalid Request"
}

Troubleshooting

The following table lists possible returned errors and their associated troubleshooting steps.

Error Troubleshooting
catalog-not-found Check that the catalog name is valid.
item-array-invalid items must be an array of objects.
request-includes-too-many-items Your request has too many items. The item limit per request is 50.
invalid-ids Item IDs can only include letters, numbers, hyphens, and underscores.
ids-too-large Item IDs can’t be more than 250 characters.
ids-not-unique Item IDs must be unique in the request.
ids-not-strings Item IDs must be of type string.
items-missing-ids There are items that do not have item IDs. Check that each item has an item ID.
items-too-large Item values can’t exceed 5,000 characters.
invalid-fields Confirm that the fields in the request exist in the catalog.
unable-to-coerce-value Item types can’t be converted.
invalid-keys-in-value-object Item object keys can’t include . or $.
too-deep-nesting-in-value-object Item objects can’t have more than 50 levels of nesting.
WAS THIS PAGE HELPFUL?
New Stuff!