Changelog
What changed in the Mursilat public API, newest first.
2026-10 — Public API v2
- Account API keys with scopes, number restriction, IP allowlist, expiry, rotation with grace and an audit trail.
- One REST surface: numbers & pairing (QR or pairing code), every message type, campaigns, auto-replies, OTP, Number Shield health / pause / stricter limits, statistics, groups (read only), webhooks.
Idempotency-Keyon every write, cursor pagination, rate-limit headers, request ids and a stable error catalog in Arabic and English.- Account-level webhook, delivery log (metadata only) and redelivery; new events
number.status,number.restricted,campaign.status,otp.verified. - Message status ledger (metadata only, 30 days) — the API never returns message content.
- Scheduled messages are available on request (off by default:
422 SCHEDULING_DISABLED).
2026-10 — Webhooks version 2
- Signed envelope
{ id, type, apiVersion, createdAt, sessionId, number, data }, retries for about an hour, delivery log. - Events
message.status,interactive.reply,poll.vote,contact.opted_out,contact.opted_in,session.status. - Webhook version 1 is deprecated (still delivered for numbers that didn’t switch).