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 signature
Each message can include a signature — sender name and description. Configured in the dashboard (Overview → Notifications or Settings → Notifications).
Signature format: text\n\n— Name\nDescription
Logo: uploaded via dashboard, resized to 256×256 PNG.
Auto-messages
Manage auto-messages on subscribe/unsubscribe via API. Each message is toggled independently and supports two languages (RU/EN). Project signature is appended automatically.
GET /v1/auto-messages — get settingsPUT /v1/auto-messages — update settingsFields: subscribe_message_enabled, unsubscribe_message_enabled (boolean), subscribe_message, unsubscribe_message ({"ru":"...","en":"..."}). When 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/webhook — get current webhookPUT /v1/webhook — set webhook (url, events?[])DELETE /v1/webhook — delete webhookIf events is not specified — all events will be sent. Secret is generated automatically.
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)
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}
Webhook — GET/PUT/DELETE /v1/webhook
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
Auto-messages — GET/PUT /v1/auto-messages (enable/disable, texts in two languages)
Analytics — GET /api/projects/:id/analytics (via JWT dashboard session)
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
Sender signature — configure name and description (Settings → Notifications)
Logo — upload and delete project logo
OTP template — multilingual template with HTML formatting and preview
Auth settings — callback URL, origin URL, authorization button text
Enable Helpdesk — activate ticket module in project settings
SLA timers — configure first response and resolution deadlines
Delete permissions — DELETE permissions is only available in the dashboard
QR codes — generate subscription QR codes with styles and logo
API key (Bearer zn_...) is used for all /v1/* endpoints. Dashboard works via JWT session after OAuth (Yandex/VK).