REST API
SoliCRM has a JSON API under /api/v1 for accounts, contacts, leads, opportunities and cases.
Authentication
Create a token in My settings → Security → API tokens and send it as a bearer token:
curl -H "Authorization: Bearer scrm_…" https://crm.example.com/api/v1/accounts
The token acts as its user: sharing rules and admin-only fields apply.
Endpoints
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/:object | list, newest first: ?q= search, ?updated_since= ISO date, ?page=, ?per= (max 100) |
| GET | /api/v1/:object/:id | one record |
| POST | /api/v1/:object | create |
| PATCH | /api/v1/:object/:id | change the fields sent |
:object is accounts, contacts, leads, opportunities or cases. Custom fields are read and written by their API name (cf_…); validation rules, workflow rules and flows run as they do in the app.
Example
curl -X POST https://crm.example.com/api/v1/leads \
-H "Authorization: Bearer scrm_…" -H "Content-Type: application/json" \
-d '{"last_name": "Lovelace", "company": "Analytical Engines", "rating": "Hot"}'
Errors come back as {"error": "invalid", "details": [{"field": …, "message": …}]} with status 422.