API Overview
VoicerCRM is API-first: everything the web UI does is available over a REST API, so your own software can read and write customers, leads, communications, sales documents and more.
Base URL & format
All endpoints live under /api/v1 and speak JSON:
https://your-crm.example.com/api/v1
Authentication
Log in to get a JWT bearer token, then send it on every request.
POST /api/v1/auth/login
Content-Type: application/json
{ "email": "you@example.com", "password": "••••••••" }
# → { "token": "<jwt>", "user": { "id": "…", "role": "…", "permissions": [ … ] } }
Authorization: Bearer <jwt>
Access is enforced by role-based permissions — a token only does what its user's role allows.
Conventions
- Pagination — list endpoints take
limit/offsetand returntotal,hasMoreandnextOffset. - Errors — a consistent envelope with standard HTTP codes (
400/401/403/404/409/422/429/500). - Rate limits — responses carry
X-RateLimit-*headers (1000/hour on the standard tier).
Core resources
| Resource | What it manages |
|---|---|
/parties, /parties/search | Customers & organizations (the Party model). |
/communications | Logged calls, emails, meetings, notes and SMS. |
/leads | Lead capture, scoring and routing. |
/quotes, /invoices | Sales documents and change orders. |
/forecasting/* | Revenue forecast, pipeline velocity. |
/workflows | Automation rules and execution. |
/reporting/* | Dashboards and reports. |
/integrations, /integrations/webhooks | Third-party connectors & outbound webhooks. |
/api/pbx/* | Telephony — see PBX Integration. |
Comprehensive reference
This is the orientation; the shipped API-DOCUMENTATION-COMPREHENSIVE.md in the server is the
field-by-field reference. A published interactive reference is on the roadmap for these docs.