Delete a template
Deletes a template by ID. Optionally, you can also delete the template from WhatsApp/Meta by setting delete_from_meta=true.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v3/templates/7ba7b820-9dad-11d1-80b4-00c04fd430c8" \ -H "Content-Type: application/json" \ -d '{ "delete_from_meta": false, "sandbox": false }'{
"success": false,
"data": null,
"error": {
"code": "VALIDATION_003",
"message": "Invalid identifier format",
"details": {
"id": [
"Invalid template ID format."
]
},
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-30T14:13:13.2824328+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "RESOURCE_002",
"message": "Template not found",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-30T14:13:13.2824338+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "INTERNAL_001",
"message": "Failed to delete template",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-30T14:13:13.2824342+00:00",
"version": "v3"
}
}Update a template PUT
Updates an existing template's name, category, language, definition, or submits it for review.
List sender profiles GET
Lists the sender profiles under your organization, newest first, paginated with `page` and `page_size`. Each entry is the same document `GET /v3/sender-profiles/{id}` returns, with one difference: **`compliance.documents` at the profile root is absent**. Working out which documents a market holds means a catalog lookup and a document read per market, and doing that for every profile on a page would turn one request into dozens to answer a question you did not ask. Read a single profile for that. Brand and campaign are still included when they exist. `compliance.documents` being **absent** is not the same as it being an **empty list**. Absent means the documents were not fetched here; an empty list means the profile holds none. `api_key` is never returned. It is shown once, by create.