KanalKanal API
Messaging API

Overview

Send WhatsApp messages, templates and trigger automations.

Beyond the commerce ingestion API, Kanal exposes a messaging API to send WhatsApp messages and templates, trigger automations, and read your account info.

These endpoints require an active subscription. A team without one gets 403 { "error": "Team has no active subscription" } on every call.

Endpoints

MethodPathPurpose
POST/api/v1/messages/sendSend a free-form message
POST/api/v1/templatesSend a template message
GET/api/v1/get_templatesList approved templates
POST/api/v1/automations/{webhook_id}Trigger an automation
POST/api/v1/meAccount info

Auth

Same as the rest of the API — Authorization: Bearer <key> (see Authentication). The key resolves to the WhatsApp business number it was created under; you don't pass a store_id here.

Free-form vs. template

WhatsApp only allows free-form messages inside an open 24-hour customer service window (the contact messaged you in the last 24h). To message a contact first (outbound), you must use an approved template. See Send a message for the window rules.

Idempotency

POST /api/v1/messages/send and POST /api/v1/templates accept an optional Idempotency-Key header — replaying the same key short-circuits and does not re-send. The commerce (store) endpoints do not use this header; they are idempotent on the natural key (store_id, external_id) instead. See Idempotency.

On this page