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

MethodPathDoes
GET/api/v1/:objectlist, newest first: ?q= search, ?updated_since= ISO date, ?page=, ?per= (max 100)
GET/api/v1/:object/:idone record
POST/api/v1/:objectcreate
PATCH/api/v1/:object/:idchange 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.