Documentation sections
Zapnoty is a REST API for notifications via Telegram and Max. Users subscribe via a deep link; the developer sends messages, OTP codes and broadcasts through the API, and also receives form submissions and support tickets.
Quick start
Three steps to your first notification.
1
1. Create a project
Sign up with Yandex or VK, create a project in the dashboard.
2
2. Get an API key
Copy your API key (format: zn_aBcDeFgH...) from project settings.
3
3. Send your first request
Use curl or any HTTP client:
curl -X POST https://api.zapnoty.com/v1/send
-H "Authorization: Bearer zn_aBcDeFgH..."
-H "Content-Type: application/json"
-d '{
"subscriber_id": "550e8400-e29b-41d4-a716-446655440000",
"text": "Hello!"
}'
Interactive API reference
OpenAPI 3.1: all endpoints, schemas, examples. Spec — /openapi.yaml
Core API
Quick start
First message in 2 minutes: obtain a key, subscribe via deep link, send via curl.
Authentication
How to authenticate API requests with a project-scoped Authorization: Bearer zn_… key.
Authorization: Bearer zn_
POST /v1/send — delivery
Send personal notifications: text, HTML/Markdown, media, buttons, templates.
POST /v1/send
OTP — confirmation codes
Generate and verify 6-digit codes. Dedicated flow for users without a subscription.
POST /v1/otp/send· +3
Broadcast — mass delivery
Send to all subscribers or a segment. Async processing, status polling.
POST /v1/broadcast· +3
Scheduled and automations
Deferred messages, drip chains by triggers, broadcasts every N hours.
POST /v1/scheduled· +3
Login via bots
Login to your site via Telegram/Max in one tap. Authorization Code flow.
GET /v1/auth/link· +3
Helpdesk — support tickets
Built-in customer support: tickets, agent replies, virtual users without a messenger.
POST /v1/helpdesk/tickets· +10
Forms — submission intake
Receive form submissions from your site without an API key, route to email/messenger/subscribers.
POST /f/{form_id}
Reference
Subscribers and tags
List retrieval, tag management, channel/segment filtering.
GET /v1/subscribers· +2
Project management
Templates, permissions, tags, webhooks, auto-messages — CRUD via API.
CRUD /v1/templates· +4
Subscriber permissions
Permissions — subscriber consent types: create, opt-out, broadcast filter.
GET/POST /v1/permissions· +1
Testing your integration
How to test the integration: test keys, dry-run, preview, webhook checks.
zn_test_ keys· +3
Guides
Step-by-step scenarios: first send, OTP, broadcasts, automation, webhooks.
Errors, limits, retry
Error codes, rate limit, retry policy for idempotent requests.
codes: not_found, unauthorized, forbidden, bad_request, rate_limit, conflict, internal_error
Playground — API tester
Interactive request builder: curl + JSON body for /v1/send, /v1/otp/send, etc.
Integrations
Webhooks — incoming events
Incoming events: subscription, delivery, broadcast, tickets, forms. HMAC-signed.
X-Zapnoty-Signature· +1
Virtual Projects — AI-driven setup
AI creates and configures a project for the user via MCP. The user only Accepts.
POST /v1/virtual-projects· +2
MCP server for AI agents
Connect Zapnoty to an AI agent: ~60 tools on top of the API via the Model Context Protocol.
mcp.zapnoty.com/mcp· +2
Custom Bots — your own bot (white-label)
Connect your own Telegram/Max bot: your name, welcome, commands and branding.
bot_mode: system|custom· +2