Delete Catalog API

Overview

Deletes an existing catalog. This API permanently removes the catalog from the system.

📘

This is a Soft Delete

The catalog's status is set to DELETED, so it no longer appears in the catalog list or in campaign catalog pickers. The underlying record is retained, and the catalog's name is released for reuse; you can create a new catalog with the same name afterward.

There is no hard-delete option on this endpoint. To have catalog data purged permanently, contact CleverTap support.

Method

PUT

Endpoint

PUT /v2/catalogs/delete/{id}

Base URL

https://in1.api.clevertap.com/v2/catalogs/delete/{id}

Region

Refer Region for more details.

Headers

These headers must be included with every API request to ensure authentication and correct request handling.

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 Parameters

The following path parameter is required to identify the catalog to delete:

ParameterTypeRequiredDescription
idNumberYesUnique identifier of the catalog to delete.

Query Parameters

The following query parameter is required to perform the delete operation:

ParameterTypeRequiredDescription
deletedByStringYesIdentifier of the user or system performing the delete operation.

Example Request

The following is the sample request:

PUT /v2/catalogs/delete/[email protected]

Example Response

The following is the sample response:

{
  "success": true,
  "message": "Catalog - 123 deleted successfully"
}

Response Parameters

The following table shows the response parameter:

ParameterTypeDescription
successbooleanTrue when the catalog was deleted.
messagestringConfirmation message indicating that the catalog was deleted successfully.

Blocked - Catalog is in Use by Live Engagements

If any live campaign or journey references the catalog, the delete is refused, and the blocking engagements are returned so you can show or resolve them. The HTTP status is 400.

{
  "success": false,
  "message": "Cannot delete catalog. It is used by active engagements.",
  "engagementList": [
    {
      "engagementId": 1776934833,
      "engagementName": "Weekly product push",
      "engagementType": "CAMPAIGN",
      "createdBy": "[email protected]",
      "newJourneyUI": false
    }
  ]
}

Parameters

ParameterTypeDescription
engagementListarrayLive engagements that reference this catalog.
engagementList[].engagementIdintegerIdentifier of the blocking campaign or journey.
engagementList[].engagementNamestringName of the blocking engagement.
engagementList[].engagementTypestringCAMPAIGN or JOURNEY.
engagementList[].createdBystringWho created the blocking engagement.
engagementList[].newJourneyUIbooleanWhether the journey uses the current journey builder.

Stop or unpublish the listed engagements, or remove the catalog block from them, then retry the delete.

Error Codes

The following error codes may be returned by this API.

This API returns a standard HTTP status code with a plain-text message describing the issue.

HTTP StatusWhen
400deletedBy is missing, the catalog ID is not a valid number, or the catalog is referenced by live engagements (see above).
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).
404No catalog exists for the specified id.
422The catalog still contains products and cannot be deleted in its current state.
500Unexpected server-side error. The message is deliberately generic, contact support with your account ID and the catalog ID.
503The account is not ready to serve requests yet. Retry shortly.

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