Aller au contenu principal

Clients (CRM)

Base path: /api/crm

GET /crm/clients

Get all clients.

Auth: Logged in

Query parameters:

ParameterTypeDescription
searchstringSearch by name, email or phone
pageintegerPage number

Response: Array of Client objects, or paginated object. Soft-deleted clients are filtered out.


POST /crm/clients

Create a new client.

Auth: Logged in

Request body:

FieldTypeRequiredDescription
namestringYesFull name
first_namestringNoFirst name
last_namestringNoLast name
emailstringNoEmail address
phonestringNoPhone number
mobilestringNoMobile number
genderstringNoGender
birthdatedateNoDate of birth
addressstringNoAddress
postcodestringNoPostcode
citystringNoCity
labelsstringNoLabels (e.g. "VIP")
alert_notestringNoAllergy/warning — shown in orange
notesstringNoNotes
receive_receipt_email0/1NoReceipt by email

GET /crm/clients/:id

Get a single client.

Errors: 404 — Not found


PUT /crm/clients/:id

Update a client.


DELETE /crm/clients/:id

Delete a client (soft delete — sets deleted_at).


GET /crm/clients/:id/bookings

Get appointments for a specific client.


GET /crm/clients/:id/ledger

Financial overview (transaction history) for a client.


GET /crm/export

Export client list as CSV.

Auth: Admin