Skip to main content
PATCH
/
catalog
/
{catalog_id}
/
items
Update Existing Items in a Catalog
curl --request PATCH \
  --url https://api-{dc}.moengage.com/v1/catalog/{catalog_id}/items \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "items": [
    {
      "id": "Existing_item_ID",
      "attributes": {
        "attribute_name": "updated_value"
      }
    },
    {
      "id": "test2",
      "attributes": {
        "price": 98
      }
    }
  ]
}
'
{ "message": { "valid": { "count": 1 }, "invalid": { "count": 8, "details": [ { "error-id": "item-not-found", "message": "Item with id %s not found in the catalog. Please check the item id and try again.", "count": 1, "document_ids": [ "567890" ] }, { "error-id": "invalid-attributes", "message": "Some of the attributes are not defined in the catalog schema: (shipping_city)", "count": 2, "document_ids": [ "312", "8291379" ] } ] } } }

Rate Limit Information

Request limit: 100/min OR 1000/hr. You can update up to 50 items per request. Payload size limit: 5MB (only when Content-Length header is provided).

Authorizations

Authorization
string
header
required

Basic Authentication sends a Base64-encoded string containing your username and password.

You can obtain the username and password from the MoEngage Dashboard:

  1. Navigate to Settings > Account > APIs.
  2. Username: Copy the Workspace ID.
  3. Password: Copy the Catalog API key.

Path Parameters

catalog_id
string
required

The unique identifier for the catalog, obtained during catalog creation.

Body

application/json
items
object[]
required

An array of item updates. Each object must contain the item id and the attributes to update.

Maximum array length: 50

Response

OK. The update request was processed. The response body contains details on valid and invalid item counts.

message
object