Templates
Authentication
Template endpoints use the same Bearer token as Send:
Authorization: Bearer YOUR_ACCOUNT_TOKEN No dashboard session fields or channel keys are required. Channel keys are only required for POST /v1/send.
Create and manage in the dashboard
This public API is read-only. Create and edit templates in the dashboard under Channel → channel → Templates. After a template is approved and active, list it via the API and use its id in the send body.
WABA templates that appear in the list are synced from Meta — read-only through the API; manage them under Channel → WABA → Templates.
Template object
Every list/get response returns templates in this shape:
| Field | Type | Meaning |
|---|---|---|
id | integer | Template ID — use in content.<channel>.template on send |
channel | string | whatsapp, telegram, email, or waba |
name | string | Unique name per channel on your account |
active | boolean | Whether the template can be selected for send |
body | object | Channel-specific content (text, media, email HTML, etc.) |
review_status | string | pending, approved, or rejected |
review_reason | string or null | Why auto-review rejected content, if any |
template_type | string or null | Optional subtype where applicable |
created_at | string | ISO 8601 UTC timestamp |
updated_at | string | ISO 8601 UTC timestamp |
Only templates with review_status: "approved" and active: true can be used on /v1/send.
List templates
GET https://api.kirisan.com/v1/templates
GET https://api.kirisan.com/v1/templates?channel=whatsapp Optional query channel: whatsapp, telegram, email, or waba.
When channel is omitted, Kirisan returns templates from all channels plus WABA templates synced from Meta.
Response:
{
"status": true,
"data": [
{
"id": 42,
"channel": "whatsapp",
"name": "order-update",
"active": true,
"review_status": "approved",
"review_reason": null,
"body": { },
"created_at": "2026-06-01T10:00:00Z",
"updated_at": "2026-06-01T10:00:00Z"
}
]
} Get one template
GET https://api.kirisan.com/v1/templates/:id Returns { "status": true, "data": { … } } or 404 with "reason": "not found".
Use with Send
Reference a template ID in the send body:
{
"content": {
"whatsapp": { "template": 42 }
}
} See Send API for the full request shape and variable substitution.
Related
- Send API — deliver messages that reference template IDs
- Errors — auth and validation failures
- Send messages — pick templates in the UI
- WhatsApp templates — dashboard template editor