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
| Field | Type | Description |
|---|---|---|
id | string | Branch id. |
name | string | Branch name. |
phone | string | null | Contact phone. |
address | object | Address details. |
color | string | null | Display color. |
curl https://api.smile-app.co.il/v1/catalog/branches \
-H "Authorization: Bearer sk_live_..."
#Appointment types
GET
| Field | Type | Description |
|---|---|---|
id | string | Type id. |
name | string | Type name (e.g. "Cleaning"). |
duration_minutes | integer | Default duration. |
color | string | null | Display color. |
#Appointment statuses
GET
| Field | Type | Description |
|---|---|---|
id | string | Status id. |
name | string | Status name (e.g. "Confirmed"). |
color | string | Display color. |
enabled | boolean | Whether the status is in use. |
#Treatments
GET
The menu of procedures the clinic offers. (For procedures actually performed on a patient, see Treatments.)
| Field | Type | Description |
|---|---|---|
id | string | Treatment id. |
name | string | Treatment name. |
code | string | null | Procedure code. |
price | number | null | Default price. |
color | string | null | Display color. |
category_id | string | null | Category grouping. |
#Providers
GET
The caregivers at the clinic (dentists, hygienists, etc.).
| Field | Type | Description |
|---|---|---|
id | string | Provider id. |
name | string | Provider name. |
type | string | Provider type. |
color | string | null | Display color. |
curl https://api.smile-app.co.il/v1/catalog/providers \
-H "Authorization: Bearer sk_live_..."
{
"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.
| Field | Type | Description |
|---|---|---|
id | string | Billing account id. |
business_name | string | The business name printed on receipts. |
business_id | string | null | The registered business number printed on receipts. |
curl https://api.smile-app.co.il/v1/catalog/billing-accounts \
-H "Authorization: Bearer sk_live_..."
{
"data": [
{ "id": "1", "business_name": "Smile Dental Ltd", "business_id": "515123456" }
]
}