✨ MoEngage NEXT Spring 2026 — The Future of Engagement is Agentic. Join us on April 28. Register now
curl --request PATCH \
--url https://api-{dc}.moengage.com/v1/catalog/{catalog_id}/items \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'MOE-APPKEY: <moe-appkey>' \
--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"
]
}
]
}
}
}This API updates items with new attribute values. Attributes must adhere to the data type defined.
curl --request PATCH \
--url https://api-{dc}.moengage.com/v1/catalog/{catalog_id}/items \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'MOE-APPKEY: <moe-appkey>' \
--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"
]
}
]
}
}
}Documentation Index
Fetch the complete documentation index at: https://moengage-crashes-in-debug-feedback.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Authentication is done via Basic Auth. This requires a base64-encoded string of your credentials in the format 'username:password'.
For more information on authentication and getting your credentials, refer here.
This is the Workspace ID of your MoEngage account that must be passed with the request. You can find it in the MoEngage dashboard at Settings > Account > APIs > Workspace ID (earlier app id).
The unique identifier for the catalog, obtained during catalog creation.
An array of item updates. Each object must contain the item id and the attributes to update.
50Show child attributes
OK. The update request was processed. The response body contains details on valid and invalid item counts.
Show child attributes
Was this page helpful?