Catalog Upload via REST API

This document explains how to upload a catalog CSV file using the WebEngage REST API.

Before proceeding, ensure that:

  • A catalog is already created in your WebEngage dashboard.
  • You have access to the required credentials such as License Code and Bearer Token.
  • Your CSV file is prepared according to the catalog schema.

If a catalog is not yet created, please create one from the Catalogs section in the dashboard before attempting the upload.

cURL Example

Use the following cURL command to upload your catalog CSV file:

curl --location --globoff '{{baseUrl}}/api/v1/accounts/{{licenseCode}}/catalog/{{catalogSlug}}/upload' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--form 'file=@"/path/to/file.csv"'

Placeholder Definitions

Replace the following placeholders in the cURL command:

PlaceholderDescription
{{baseUrl}}Your dashboard base URL (see Step 1)
{{licenseCode}}Your WebEngage license code
{{catalogSlug}}The catalog slug (see Step 2)
{{accessToken}}Your Bearer token (see Step 3)
/path/to/file.csvFull system path to your CSV file

Step 1: Identify Your Base URL

Your base URL is the main dashboard domain shown in your browser.

Example

If your browser URL is:

https://dashboard.in.webengage.com/accounts/in~ad121d3c/users/overview

Your base URL is:
https://dashboard.in.webengage.com

Use this value in place of {{baseUrl}}.

Step 2: Get the Catalog Slug

  1. Log in to your WebEngage Dashboard.
  2. Navigate to Catalogs from the left navigation panel.
  3. Open the catalog where you want to upload data.
  4. On the Items page, check the top-left section.
  5. The value starting with catalog_ is your catalog slug.

Example

catalog_4

Use this value in place of {{catalogSlug}}.


Step 3: Get the Bearer Token

  1. Navigate to Data Platform → Integrations.
  2. Scroll to the bottom of the page.
  3. Under the REST APIs section, click View.
  4. Copy the displayed Bearer token.

Replace {{accessToken}} in the cURL command with this token.


Success Response

If the upload request is successful, the API returns a JSON response similar to:

{
  "response": {
    "data": {},
    "message": "Catalog file has been uploaded successfully and is now being processed.",
    "status": "success"
  }
}

After a successful upload, the file will be processed asynchronously. You can monitor its status from the Catalog section in the dashboard.

Rate Limiting

To prevent abuse and ensure fair usage, it is recommended to limit catalog update API call across catalog to 1 per hour.

Errors

List of API error status codes.

Please feel free to drop in a few lines at [email protected] or get in touch with your Onboarding Manager if you have any further queries. We're always just an email away!