Developers
REST API
Base URL: https://api.yourdomain.com (local: http://localhost:4000).
Authentication
Create a token under Settings → Developer → API tokens and send it as a bearer token. Tokens are scoped to a workspace and act as an Admin.
curl $API/tickets -H "Authorization: Bearer plp_…"User JWTs (from POST /auth/login) also work and require the x-workspace-id header.
Endpoints
| Resource | Endpoints | |||||||
|---|---|---|---|---|---|---|---|---|
| Conversations | GET /conversations, POST /conversations, GET /conversations/:id, POST /conversations/:id/messages, PUT /conversations/:id/assign, POST /conversations/:id/hold, /resume, /wrap-up, /notes, /translate, /ai-reply, `GET | POST | DELETE /conversations/views` | |||||
| Tickets | GET /tickets, GET /tickets/board, GET /tickets/stats, POST /tickets, `GET | PUT | DELETE /tickets/:id, POST /tickets/:id/comments, GET | PUT /tickets/settings` | ||||
| Contacts | `GET | POST /contacts, GET | PUT | DELETE /contacts/:id, POST /contacts/:id/notes, GET /contacts/duplicates, POST /contacts/merge, POST /contacts/import, GET | POST /contacts/companies, GET | POST | PUT | DELETE /contacts/fields` |
| Queues & SLA | `GET | POST /queues, PUT | DELETE /queues/:id, GET | PUT /queues/capacity, GET | POST /sla/policies, PUT | DELETE /sla/policies/:id, GET /sla/summary` | ||
| Automations | GET /automations/meta, `GET | POST /automations, GET | PUT | DELETE /automations/:id, POST /automations/:id/test, GET /automations/runs` | ||||
| AI agents | `GET | POST /ai-agents, GET | PUT | DELETE /ai-agents/:id, POST /ai-agents/:id/playground, GET /ai-agents/meta` | ||||
| Analytics | `GET /analytics/summary | inbox | tickets | workforce | ai, GET | POST /analytics/dashboards, GET | PUT | DELETE /analytics/dashboards/:id, POST /analytics/presence` |
| Reports | GET /reports, GET /reports/:key, GET /reports/:key/export, POST /csat | |||||||
| Permissions | `GET | PUT /permissions, GET /permissions/me, POST /permissions/reset` | ||||||
| Developer | GET /developer/meta, `GET | POST /developer/webhooks, PUT | DELETE /developer/webhooks/:id, POST /developer/webhooks/:id/test, GET | POST /developer/tokens, DELETE /developer/tokens/:id` | ||||
| Channels | GET /channels, POST /channels/connect, DELETE /channels/:id, POST /custom-channel/:id/inbound |
All list endpoints accept the query filters used by the admin UI (for example ?status=OPEN&priority=HIGH&search=refund).