SmileCloudDocs

Catalog

The catalog exposes a clinic's reference data: the branches, appointment types, statuses, treatment definitions, and providers that the other resources refer to. It's the data you use to populate filters and resolve embedded ids to names. All endpoints require the catalog:read scope and return a bounded list (no cursor).

Cache it

Catalog data changes rarely. Fetch it once at startup (or on a slow interval) and cache it - it's the cheapest way to cut request volume and stay well under rate limits.

#Branches

GET

FieldTypeDescription
idstringBranch id.
namestringBranch name.
phonestring | nullContact phone.
addressobjectAddress details.
colorstring | nullDisplay color.
bash
curl https://api.smile-app.co.il/v1/catalog/branches \
  -H "Authorization: Bearer sk_live_..."

#Appointment types

GET

FieldTypeDescription
idstringType id.
namestringType name (e.g. "Cleaning").
duration_minutesintegerDefault duration.
colorstring | nullDisplay color.

#Appointment statuses

GET

FieldTypeDescription
idstringStatus id.
namestringStatus name (e.g. "Confirmed").
colorstringDisplay color.
enabledbooleanWhether the status is in use.

#Treatments

GET

The menu of procedures the clinic offers. (For procedures actually performed on a patient, see Treatments.)

FieldTypeDescription
idstringTreatment id.
namestringTreatment name.
codestring | nullProcedure code.
pricenumber | nullDefault price.
colorstring | nullDisplay color.
category_idstring | nullCategory grouping.

#Providers

GET

The caregivers at the clinic (dentists, hygienists, etc.).

FieldTypeDescription
idstringProvider id.
namestringProvider name.
typestringProvider type.
colorstring | nullDisplay color.
bash
curl https://api.smile-app.co.il/v1/catalog/providers \
  -H "Authorization: Bearer sk_live_..."
json
{
  "data": [
    { "id": "12", "name": "Dr. Cohen", "type": "dentist", "color": "#4f46e5" },
    { "id": "18", "name": "Noa (Hygienist)", "type": "hygienist", "color": "#16a34a" }
  ]
}

#Billing accounts

GET

The billing accounts (receipt books) a payment can be recorded into. Pass an id as billing_account_id on POST /v1/patients/{id}/payments; it can be omitted when the clinic has exactly one.

FieldTypeDescription
idstringBilling account id.
business_namestringThe business name printed on receipts.
business_idstring | nullThe registered business number printed on receipts.
bash
curl https://api.smile-app.co.il/v1/catalog/billing-accounts \
  -H "Authorization: Bearer sk_live_..."
json
{
  "data": [
    { "id": "1", "business_name": "Smile Dental Ltd", "business_id": "515123456" }
  ]
}