for developers
REST API
Read your company's leads and conversations and create leads from your own systems: ERP, website, CRM, scripts. The API speaks JSON.
API key
- The account owner or an admin issues keys in the dashboard: Settings → API and webhooks → API keys. A
cn_live_…key is shown once — save it right away. We store only its hash. - Key scope: read only or read and write (write means creating leads).
- Revoking a key takes effect immediately: the next request gets 401. Up to 20 active keys per company.
Requests
Base URL — https://app.chatneuron.ru/api/v1. Send the key in Authorization: Bearer cn_live_… (or X-Api-Key). Up to 120 requests per minute per key; above that you get 429 with a Retry-After header.
curl https://app.chatneuron.ru/api/v1/me \
-H "Authorization: Bearer cn_live_…"Errors
Errors come with an HTTP status and this body:
{
"error": {
"code": "unauthorized",
"message": "Ключ не найден или отозван"
}
}| Status | code | When |
|---|---|---|
| 400 | invalid_request | Invalid body or parameters |
| 401 | unauthorized | Missing, invalid or revoked key |
| 403 | forbidden | The key lacks the scope (write with a read-only key) |
| 429 | rate_limited | More than 120 requests per minute |
Lists and pagination
Lists are returned newest first. Parameters: limit — 1 to 100 (default 50), since — an ISO 8601 date to start from, cursor — nextCursor from the previous response. When nextCursor is null, there are no more pages.
GET /me — check the key
The company the key belongs to and its scope.
curl https://app.chatneuron.ru/api/v1/me \
-H "Authorization: Bearer cn_live_…"Response
{
"company": { "accountId": "NC-123456", "name": "Ромашка" },
"scope": "read"
}GET /leads — leads
Company leads. Leads hidden until the plan is paid are not returned.
curl "https://app.chatneuron.ru/api/v1/leads?since=2026-10-01T00:00:00Z&limit=50" \
-H "Authorization: Bearer cn_live_…"Response
{
"data": [
{
"id": "cmv…",
"agentId": "cmu…",
"name": "Анна",
"phone": "+79991234567",
"email": null,
"message": "Нужна консультация по доставке",
"status": "NEW",
"source": "chat",
"topic": "Доставка",
"score": 72,
"createdAt": "2026-10-27T09:15:02.114Z"
}
],
"nextCursor": "cmv…"
}Fields: id, agentId, name, phone, email, message, status, stage, source, type, topic, score, createdAt.
GET /dialogs — conversations
Customer conversations across all channels, test ones excluded. Same parameters as leads.
curl "https://app.chatneuron.ru/api/v1/dialogs?limit=20" \
-H "Authorization: Bearer cn_live_…"Fields: id, agentId, channel, status, topic, handedOff, resolved, startedAt, lastMessageAt, closedAt.
POST /leads — create a lead
Requires a read and write key. JSON body: name, phone, email, message, topic, agentId (the AI employee to attribute the lead to). A phone or an email is required. The lead is delivered like any other: to the CRM, Telegram, email and webhooks. locked: true means the lead was created but is hidden until the plan is paid.
curl -X POST https://app.chatneuron.ru/api/v1/leads \
-H "Authorization: Bearer cn_live_…" \
-H "Content-Type: application/json" \
-d '{"name":"Анна","phone":"+79991234567","message":"Заявка с сайта"}'Response · 201
{ "data": { "id": "cmv…", "locked": false } }Next
To learn about new leads and conversations right away instead of polling, set up outgoing webhooks.