Management API
API for managing templates, permissions, tags, and webhook. All endpoints require a Bearer token.
Templates
GET /v1/templates — list templatesPOST /v1/templates — create template (key, text, format?)PUT /v1/templates/{key} — update template (text?, format?)DELETE /v1/templates/{key} — delete templatePermissions
GET /v1/permissions — list permissionsPOST /v1/permissions — create (key, title, description?, required?)PUT /v1/permissions/{key} — update (title?, description?, required?)Deleting permissions is only available in the dashboard.
Tags
GET /v1/tags — list project tagsPOST /v1/tags — create tag (name)PUT /v1/tags/{name} — rename tag (new_name)DELETE /v1/tags/{name} — delete tag (also removed from all subscribers)Allowed characters: letters, numbers, - and _. Maximum 20 tags.
Sender settings
Project sender settings — sender name and description (message signature), OTP template, subscribe/unsubscribe auto-messages, authorization texts (message + button). Managed via API or the dashboard (Overview → Notifications or Settings → Notifications).
Signature format: text\n\n— Name\nDescription
Logo: uploaded via dashboard, resized to 256×256 PNG.
GET /v1/sender — get settingsPUT /v1/sender — update settingsFields: sender_name, sender_description, otp_template, subscribe_message, unsubscribe_message ({"ru":"...","en":"..."}), subscribe_message_enabled, unsubscribe_message_enabled (boolean), auth_text (multilingual, must contain {{url}}, ≤500 chars), auth_button_text (multilingual, ≤32 chars). All fields are optional. Auto-messages and authorization texts are multilingual (RU/EN); when an auto-message flag is disabled, default text is sent.
OTP template
Custom OTP message template. Must contain {{code}}. You can also use {{minutes}} for expiry time.
Example: Your verification code: {{code}}. Valid for {{minutes}} min.
Webhook
GET /v1/webhooks — list webhook endpoints (up to 5 per project)POST /v1/webhooks — create an endpoint (url, events?[], description?)PUT/DELETE /v1/webhooks/{id} — update or delete an endpointPOST /v1/webhooks/{id}/rotate-secret — rotate the secretEmpty events — subscribe to all events. The secret is returned once on creation and rotation. See the Webhooks section for details.
API vs Dashboard
What you can automate via REST API and what is only available in the dashboard.
Available via API
Send notifications — POST /v1/send (personal, by subscriber_id, with media, buttons, templates)
Batch send — POST /v1/send/batch (bulk send to a list of recipients)
OTP codes — POST /v1/otp/send and /v1/otp/verify
Mass broadcasts — POST /v1/broadcast, GET /v1/broadcast/:job_id
Subscribers — GET /v1/subscribers, PUT /v1/subscribers/:id/tags
Templates — full CRUD: GET/POST /v1/templates, PUT/DELETE /v1/templates/{key}
Permissions — GET/POST /v1/permissions, PUT /v1/permissions/{key}
Tags — full CRUD: GET/POST /v1/tags, PUT/DELETE /v1/tags/{name}
Scheduler — delayed messages, drip chains, recurring broadcasts: CRUD /v1/scheduled, /v1/drip-chains, /v1/recurring
Events — POST /v1/events/track (triggers for event-drip chains)
Webhook — CRUD endpoints /v1/webhooks, rotation /v1/webhooks/{id}/rotate-secret
Bot Auth — GET /v1/auth/link, POST /v1/auth/session, POST /v1/auth/verify, GET session status
Helpdesk — create tickets, reply, change status, assign, set priority, ticket types
Helpdesk config — PUT /v1/helpdesk/settings (enable, SLA, CSAT), GET /v1/helpdesk/sla, CRUD for ticket types, canned responses and routing rules
Forms — GET/POST /v1/forms, CRUD for forms and delivery routes, reading submissions GET /v1/forms/{id}/submissions
Sender settings — GET/PUT /v1/sender (sender name & description, OTP template, subscribe/unsubscribe auto-messages, authorization texts: message + button)
Custom Bots — commands & branding: /v1/custom-bot-commands, /v1/custom-settings (welcome, accent color)
Audit log — GET /v1/audit
Dashboard only
Create project — registration and project creation only via UI
API key — generate and regenerate key (requires OTP confirmation)
Delete project — with OTP confirmation via messenger
Custom Bots — connecting your own bot (entering the token). Commands and branding are available via the API
Team — managing members, roles, project transfer
Logo — upload and delete project logo
Auth settings — callback URL, origin URL, authorization button text
Delete permissions — DELETE permissions is only available in the dashboard
Analytics — project stats, delivery log, broadcast analytics
QR codes — generate subscription QR codes with styles and logo
The list above applies to the live key zn_live_ — it has full access to all /v1/* endpoints. The test key zn_test_ is scoped: read (GET) and runtime operations in the sandbox (send, OTP, broadcast, simulate-event), while any request that changes project settings is rejected with a 403 — settings are configured with the live key (see the «Testing» section). The same set of operations is available to AI agents via the MCP server (see the «MCP server» section). The dashboard works via a JWT session after OAuth (Yandex/VK).