logo
enes

Manage catalogs

Last update: 6 hours ago by Irais Aguirre

Integration summary

  • Base URL: https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services
  • Token: admin token, in the Authorization: Bearer {{admin-token}} header (how to generate it)
  • Endpoints on this page:
    • POST /v1/catalog/{{waba_id}}: Create catalog
    • GET /v1/catalog/{{waba_id}}: List catalogs
    • POST /v1/catalog/{{waba_id}}/{{catalog_id}}: Update catalog
    • DELETE /v1/catalog/{{waba_id}}/{{catalog_id}}: Delete catalog

Create, list, update, and delete the catalogs of your WhatsApp Business Account (WABA). If the Request succeeds, every service returns HTTP 200.

Create catalog

Request

Create catalog request:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}
MethodPOST
Typeapplication/json

Headers

Create catalog headers:

NameDescriptionTypeRequirements
Content-Typeapplication/jsonStringRequired
AuthorizationAdmin token. See Generate authentication token.StringRequired

Parameters

Create catalog parameters:

NameDescriptionTypeRequirements
waba_idWhatsApp Business Account ID.StringRequired

Body

Create catalog body fields:

NameDescriptionTypeRequirements
nameCatalog name.String
  • Required.
  • Can't be empty.
verticalCatalog vertical (industry). Possible values:
  • adoptable_pets
  • commerce
  • destinations
  • flights
  • generic
  • home_listings
  • hotels
  • local_service_businesses
  • offer_items
  • offline_commerce
  • transactable_items
  • vehicles
The list and default (commerce) are enforced downstream by Meta, not by this service.
String
  • Optional.
  • Default: commerce.

Example

Complete Create catalog example:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{admin-token}}' \
--data '{
"name": "Course catalog",
"vertical": "commerce"
}'

Response

Create catalog response:

NameDescriptionType
idID of the new catalog.String
{
"id": "1234567890123456"
}


List catalogs

Returns the active catalogs you created for the WABA with the Create catalog service.

Request

List catalogs request:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}
MethodGET

Headers

List catalogs headers:

NameDescriptionTypeRequirements
AuthorizationAdmin token. See Generate authentication token.StringRequired

Parameters

List catalogs parameters:

NameDescriptionTypeRequirements
waba_idWhatsApp Business Account ID.StringRequired

Example

Complete List catalogs example:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}' \
--header 'Authorization: Bearer {{admin-token}}'

Response

List catalogs response:

The service returns a list of catalogs.

NameDescriptionType
idCatalog ID.String
nameCatalog name.String
verticalCatalog vertical.String
[
{
"id": "1234567890123456",
"name": "Course catalog",
"vertical": "commerce"
},
{
"id": "6543210987654321",
"name": "Book catalog",
"vertical": "commerce"
}
]


Update catalog

Renames a catalog.

Request

Update catalog request:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}
MethodPOST
Typeapplication/json

Headers

Update catalog headers:

NameDescriptionTypeRequirements
Content-Typeapplication/jsonStringRequired
AuthorizationAdmin token. See Generate authentication token.StringRequired

Parameters

Update catalog parameters:

NameDescriptionTypeRequirements
waba_idWhatsApp Business Account ID.StringRequired
catalog_idCatalog ID.StringRequired

Body

Update catalog body fields:

NameDescriptionTypeRequirements
nameNew catalog name.String
  • Required.
  • Can't be empty.

Note: unknown fields in the request body are rejected. The DTO is strict (@JsonIgnoreProperties(ignoreUnknown = false)), so a typo in a field name or any extra property returns a 400 error.

Example

Complete Update catalog example:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{admin-token}}' \
--data '{
"name": "Course catalog 2026"
}'

Response

Update catalog response:

NameDescriptionType
successWhether the operation succeeded.Boolean
{
"success": true
}


Delete catalog

Request

Delete catalog request:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}
MethodDELETE

Headers

Delete catalog headers:

NameDescriptionTypeRequirements
AuthorizationAdmin token. See Generate authentication token.StringRequired

Parameters

Delete catalog parameters:

NameDescriptionTypeRequirements
waba_idWhatsApp Business Account ID.StringRequired
catalog_idID of the catalog to delete.StringRequired
allowDeleteCatalogWithLiveProductSetIf the catalog has live product sets, the deletion is blocked. Send true to delete it anyway. Sent as a query parameter.Boolean
  • Optional.
  • Default: false.

Example

Complete Delete catalog example:

curl --location --request DELETE 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/catalog/{{waba_id}}/{{catalog_id}}?allowDeleteCatalogWithLiveProductSet=true' \
--header 'Authorization: Bearer {{admin-token}}'

Response

Delete catalog response:

NameDescriptionType
successWhether the operation succeeded.Boolean
{
"success": true
}

WhatsApp โ€” Previous
Catalogs
Next
Link catalogs