2026
Initial release
Released: May 26, 2026
The Kirimdev platform is now generally available to developers. This first cut covers everything you need to send WhatsApp messages from your backend, subscribe to inbound events, and automate your inbox through an LLM.
Public API Added
Section titled “Public API ”All paths are under https://api.kirimdev.com/v1. Phone-number-scoped
routes take Meta’s phone_number_id as the first path segment.
- Messages.
POST /v1/{phone_number_id}/messagesto send text, interactive, media, and approved template messages, plusread_receiptto mark inbound as read.GETlisting, retrieve, andGET …/messages/{id}/mediafor media download (302 to a signed CDN URL). - Conversations.
GET /v1/{phone_number_id}/conversations, retrieve,PATCH, plus label attach/detach. - Contacts.
GET /v1/{phone_number_id}/contacts,POST, retrieve,PATCH, label attach/detach, and bulk label operations. - Templates.
GET /v1/{phone_number_id}/templatesand retrieve by name. - Labels. Org-scoped
GET /v1/labels(full CRUD). - Webhook subscriptions. Org-scoped
POST /v1/webhook_subscriptions(full CRUD) plus per-subscription secret rotation, singlePOST /v1/webhook_deliveries/{id}/replay, andPOST /v1/webhook_deliveries/bulk_replay(capped at 1000 per call). - Account discovery.
GET /v1/me,GET /v1/accounts. - Bearer-token authentication with org-scoped live keys
(
kdv_live_…— only key format issued today). - Idempotency on all
POSTendpoints via theIdempotency-Keyheader (24-hour replay window). Replays carryIdempotent-Replayed: true. - Stable error envelope (
type,code,message,param,request_id) with seventypecategories.
See the API Reference for the full operation list.
TypeScript SDK Added
Section titled “TypeScript SDK ”@kirimdev/sdkpublished to npm — fully typed wrapper around/v1, generated from the same OpenAPI spec that powers this documentation.- Built-in retry with jittered exponential backoff on
429and retryable5xxresponses. - Stripe-style webhook verifier
(
verifyWebhookSignature) supporting multi-secret rotation and a configurable timestamp tolerance. - Cursor-based pagination helpers (
for awaititeration). - Typed error hierarchy:
InvalidRequestError,AuthenticationError,PermissionError,NotFoundError,ConflictError,RateLimitError,ApiServerError,ConnectionError.
See the SDK Quickstart to get started.
MCP server Added
Section titled “MCP server ”- Streamable-HTTP Model Context Protocol server at
POST https://api.kirimdev.com/mcplets Claude, ChatGPT, and other MCP-aware clients drive your WhatsApp number with natural language. - Tools:
list_phone_numbers,send_message,list_conversations,get_conversation,search_contacts,list_templates— scoped by the same API keys you use for HTTP.
See the MCP Setup guide for the one-click install flow.
Webhooks Added
Section titled “Webhooks ”- Meta passthrough events (
X-Kirim-Source: meta):message.received,message.status— body is the exact JSON Meta sent. - Kirimdev-native events (
X-Kirim-Source: kirim):conversation.assigned,conversation.closed,contact.created,contact.updated— wrapped in the standard envelope{ id, type, created_at, data }. - HMAC-SHA256 signatures in the Stripe-style header
X-Kirim-Signature: t=<unix_seconds>,v1=<hex>[,v1=<hex>…]with per-subscription rotating secrets and a 5-minute default tolerance window. - 8-attempt exponential-backoff retry pipeline spread over ~24 hours with ±20% jitter. Subscriptions auto-disable after 20 consecutive failed deliveries.
See the Webhooks overview for the full event catalog and payload schemas.
Documentation Added
Section titled “Documentation ”- Quickstart, authentication, and core concepts pages.
- Per-message-type send guides under Sending & receiving.
- End-to-end recipes: order notifications, support bot with n8n, broadcast campaign.