Skip to content

Templates

2 min read

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:

FieldTypeMeaning
idintegerTemplate ID — use in content.<channel>.template on send
channelstringwhatsapp, telegram, email, or waba
namestringUnique name per channel on your account
activebooleanWhether the template can be selected for send
bodyobjectChannel-specific content (text, media, email HTML, etc.)
review_statusstringpending, approved, or rejected
review_reasonstring or nullWhy auto-review rejected content, if any
template_typestring or nullOptional subtype where applicable
created_atstringISO 8601 UTC timestamp
updated_atstringISO 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.