Create Single Product API

Overview

Creates a single product in a catalog. Each product must include identity, name, and imageUrl.

Use this endpoint for real-time or incremental writes. The maximum request payload for this endpoint is 100 KB. For larger writes, use the Create Products (Bulk) API, which supports 500 KB per request, or upload a file via the Pre-Signed URL API.

Method

POST

Endpoint

POST /v2/catalogs/{catalogId}/products

Base URL

https://in1.api.clevertap.com/v2/catalogs/{catalogId}/products

Region

Refer Region for more details.

Headers

These headers must be included with every API request to ensure authentication and validate the request.

HeaderDescriptionRequired
Content-TypeContent type of the request. Must be application/json.Yes
X-CleverTap-Account-IdCleverTap account ID associated with the catalog.Yes
X-CleverTap-PasscodeAPI passcode used to authenticate the request.Yes

Path Parameter

The following path parameter is required to identify the catalog:

ParameterTypeRequiredDescription
catalogIdNumberYesUnique identifier of the catalog where products are created.

Request Parameter

The following parameters define the product to be created in the catalog:

ParameterTypeRequiredDescription
identitystringYesUnique identifier of the product within the catalog, for example, a SKU.
namestringYesName of the product.
imageUrlstringYesPublic URL of the product image.
attributesobjectNoKey-value pairs for the product's custom attributes. Omit it, or send an empty object, to create a product with no attributes
attributes.fieldvariesNoValue of a specific catalog attribute. The data type must match the type defined in the catalog schema
createdBystringYesEmail address of the user or system creating the product.
📘

Attribute Conventions

Attributes such as price, description, and category are conventions, not system fields. The API does not require them and does not reject a product that omits them. Only attributes defined in your catalog schema can be used in campaign catalog rules.

Example Request

This example creates a product in the specified catalog.

{
  "identity": "SKU-12345",
  "name": "Wireless Bluetooth Headphones",
  "imageUrl": "https://example.com/images/headphones.jpg",
  "attributes": {
    "brand": "AudioTech",
    "price": 89.99,
    "category": "Electronics",
    "in_stock": true,
    "rating": 4.5
  },
  "createdBy": "[email protected]"
}

Example Response

This example shows a successful response:

{
  "identity": "SKU-12345",
  "name": "Wireless Bluetooth Headphones",
  "imageUrl": "https://example.com/images/headphones.jpg",
  "attributes": {
    "brand": "AudioTech",
    "price": 89.99,
    "category": "Electronics",
    "in_stock": true,
    "rating": 4.5
  },
  "status": "ACTIVE",
  "createdAt": "2023-11-10T10:30:00Z",
  "updatedAt": "2026-08-14T10:30:00",

  "createdBy": "[email protected]",
  "updatedBy": "[email protected]"
}

Response Parameters

The response includes additional system-generated fields returned after the product is created.

ParameterTypeDescription
statusstringCurrent status of the product, for example, ACTIVE or INACTIVE.
createdAtstringDate and time when the product was created.
updatedAtstringDate and time when the product was last updated.
updatedBystringEmail address of the user who last updated the product.

Error Codes

This API returns a standard HTTP status code along with a plain-text message describing the issue. Common status codes include:

HTTP StatusDescription
400catalogId is missing or invalid, the body is not valid JSON, a required field is missing, or an attribute value does not match its schema type.
401Authentication failed, or the catalogs feature is not enabled on the account's plan.
403Catalog feature is not enabled for this account (CleverTap code 101).
404The specified catalog does not exist.
409A product with this identity already exists in the catalog.
413Request payload exceeds 100 KB (CleverTap code 105).
500Unexpected server-side error.
503The account is not ready to serve requests yet. Retry shortly.

Did this page help you?
CleverTap Ask AI Widget (CSP-Safe)