SmileCloudDocs

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

FieldTypeDescription
idstringUnique client id (clinic-scoped).
first_namestring | nullGiven name.
last_namestring | nullFamily name.
phonestring | nullPrimary phone.
emailstring | nullPrimary email.
genderstring | nullmale, female, or null.
birth_datestring | nullISO YYYY-MM-DD.
statusobject | nullEmbedded status reference (id, name, color).
created_atstring | nullISO 8601 timestamp.
updated_atstring | nullISO 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.

ParameterInDescription
phonequeryMatch by phone number.
emailqueryMatch by email.
queryqueryName search.
limit, cursorqueryPagination.
response_formatqueryconcise (default) or detailed.
bash
curl -G https://api.smile-app.co.il/v1/clients \
  -H "Authorization: Bearer sk_live_..." \
  --data-urlencode "phone=0521234567"
json
{
  "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.

json
{
  "data": [
    { "id": "4211", "name": "Rexi", "species": { "id": "3", "name": "Dog" } }
  ]
}

To read the full record for one of them, call GET /v1/animals/{id}.