Clients
A client is the person an animal belongs to. Contact details live here — an animal record carries none of its own — so this is where you look to reach someone about their pet.
Client endpoints require the patients:read scope.
Veterinary clinics only
At a dental clinic these endpoints return 404 with the problem type unsupported_capability. Call GET /v1/me before integrating — the clients capability tells you whether a clinic has them.
#The client object
| Field | Type | Description |
|---|---|---|
id | string | Unique client id (clinic-scoped). |
first_name | string | null | Given name. |
last_name | string | null | Family name. |
phone | string | null | Primary phone. |
email | string | null | Primary email. |
gender | string | null | male, female, or null. |
birth_date | string | null | ISO YYYY-MM-DD. |
status | object | null | Embedded status reference (id, name, color). |
created_at | string | null | ISO 8601 timestamp. |
updated_at | string | null | ISO 8601 timestamp. |
With response_format=detailed, the response also carries id_number, address, balance, and an animals array of { id, name, species } summaries.
#List / search clients
GET /v1/clients
Returns a paginated list of clients.
| Parameter | In | Description |
|---|---|---|
phone | query | Match by phone number. |
email | query | Match by email. |
query | query | Name search. |
limit, cursor | query | Pagination. |
response_format | query | concise (default) or detailed. |
curl -G https://api.smile-app.co.il/v1/clients \
-H "Authorization: Bearer sk_live_..." \
--data-urlencode "phone=0521234567"
{
"data": [
{
"id": "4210",
"first_name": "Dana",
"last_name": "Levi",
"phone": "0521234567",
"email": "dana@example.com"
}
],
"next_cursor": null
}
#Retrieve a client
GET /v1/clients/{id}
Returns one client. Pass response_format=detailed to include their animals alongside the address and balance.
#List a client's animals
GET /v1/clients/{id}/animals
Returns every animal belonging to this client, as { id, name, species } summaries. Not paginated — a client's roster is small.
{
"data": [
{ "id": "4211", "name": "Rexi", "species": { "id": "3", "name": "Dog" } }
]
}
To read the full record for one of them, call GET /v1/animals/{id}.