Read a template and the variables a send needs
Build a request to copy
This page never sends a request. Fill in the fields, then copy the request and run it from your server.
curl -X GET 'https://api.whatsable.app/v1/templates/string'
bearerAuthAuthorizationBearer <nfy_live_<32 characters>>An API key from Settings > API keys, sent as Authorization: Bearer <key>.
id*stringThe template id.
1 <= length <= 64The template.
application/json- response
A WhatsApp message template, with the variable schema a send needs.
object*stringid*string1 <= length <= 64name*stringMeta's identifier: lowercase letters, digits and underscores.
display_name*|The name people read. Null for a template created outside Whatsable.
language*stringMeta's language code, such as en_US.
category*|Meta's category, which Meta may change during review.
status*|Meta's review status. Only approved templates send.
rejected_reason*|Meta's reason when status is rejected, otherwise null.
waba_id*stringThe WhatsApp Business Account the template belongs to. Every number on it can send it.
body*stringThe body text, with its {{n}} variables.
parameter_format*|positional ({{1}}) or named ({{customer_name}}). The API lists a named template but cannot send it yet.
variables*array<>Every value a send must or may supply. Build a send's template.variables from it.
buttons*array<>created_at*stringdate-timeupdated_at*stringdate-timecurl -X GET 'https://api.whatsable.app/v1/templates/string'{ "object": "template", "id": "cm2v8t1a00001qz8habcd1234", "name": "order_shipped", "display_name": "Order shipped", "language": "en_US", "category": "utility", "status": "approved", "rejected_reason": null, "waba_id": "9876543210", "body": "Hi {{1}}, your order {{2}} is on its way.", "parameter_format": "positional", "variables": [ { "key": "header_image", "component": "header", "type": "image", "required": true, "example": null }, { "key": "1", "component": "body", "type": "text", "required": true, "example": "Ana" }, { "key": "2", "component": "body", "type": "text", "required": true, "example": "#1042" }, { "key": "button_0", "component": "button", "type": "text", "required": true, "example": "1042" } ], "buttons": [ { "type": "url", "text": "Track", "url": "https://acme.example/t/{{1}}", "phone": null } ], "created_at": "2026-09-01T12:00:00Z", "updated_at": "2026-09-02T08:00:00Z"}