API authentication
Updated August 15, 2026
The Chato REST API authenticates via a workspace API key — separate from your personal browser session. The key acts on behalf of the workspace owner and grants full REST API access.
Getting a key
Generate a key in the cabinet: Settings → API key → "Generate". Chato shows the raw key only once, right after generation — save it immediately, you can't view it again. Regenerating a key immediately revokes the previous one: any integration still using the old key will stop working.
Base URL
https://chato.kz/api/v1
How to use it
Send the key in the Authorization header on every request:
GET /workspaces
Authorization: Bearer chato_sk_...
This returns your workspaces along with their id — you'll need it as :workspaceId in almost every other request.
Core endpoints
List channels:
GET /workspaces/:workspaceId/channels
List conversations (filters: status, assigned=me|none, pagination via cursor/limit):
GET /workspaces/:workspaceId/conversations?status=OPEN&limit=30
Start a conversation with a new number on a given channel:
POST /workspaces/:workspaceId/conversations/start
Content-Type: application/json
{ "channelId": "clx...", "phone": "77011234567" }
Messages in a conversation:
GET /workspaces/:workspaceId/conversations/:conversationId/messages
Send a message:
POST /workspaces/:workspaceId/conversations/:conversationId/messages
Content-Type: application/json
{ "content": "Hello!" }
Limits
The key stays valid until revoked in the cabinet. It has no lifetime of its own (unlike a browser JWT session) — revoking or regenerating it in the cabinet is the only way to deactivate it.



