List Appointment Types¶
Lists a clinic's appointment types. v1 called these "appointment categories".
Endpoint¶
Query Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
page |
integer | Yes | 1-based page number. Defaults to 1. |
page_size |
integer | Yes | Results per page. Defaults to 25. |
clinic_id |
string | No | The clinic this record belongs to. |
enabled |
boolean | No |
Request¶
curl --location '{base_url}/v2/appointment-types?page=1&page_size=25' \
--header 'Authorization: Bearer JWT_TOKEN'
Response¶
Success Response¶
Code: 200 OK
{
"items": [
{
"id": "318",
"clinic_id": "5831",
"name": "Initial Evaluation",
"duration_minutes": 45,
"price": 165.0,
"billable": true,
"color": "#2F6FEB",
"enabled": true,
"default": false,
"provider_ids": [
"2094"
],
"speciality": "PHYSICAL_THERAPY",
"description": null
}
],
"page": 1,
"page_size": 25,
"total": 1,
"total_pages": 1
}
Response Fields¶
| Field | Type | Description |
|---|---|---|
items |
array of object | The page of results. See Items. |
page |
integer | 1-based page number. |
page_size |
integer | Results per page. |
total |
integer | Total results matching the query. |
total_pages |
integer | Total pages available. |
Items¶
| Field | Type | Description |
|---|---|---|
id |
string | The appointment type id. |
clinic_id |
string | The clinic this record belongs to. |
name |
string | |
duration_minutes |
integer or null | |
price |
number or null | |
billable |
boolean or null | |
color |
string or null | Hex colour used in calendar views. |
enabled |
boolean | |
default |
boolean | |
provider_ids |
array of string | Providers associated with this record. |
speciality |
string or null | The record's primary speciality. |
description |
string or null |
Error Response¶
Code: 400 Bad Request
{
"code": "bad_request",
"message": "Validation failed",
"errors": [
{
"field": "patient_id",
"message": "must be a string"
}
]
}
Every error has the same shape — a machine-readable code, a message, and an errors[] array that's empty when there's nothing field-specific to report. The HTTP status is authoritative.
| Status | code |
Meaning |
|---|---|---|
400 Bad Request |
bad_request |
The request body or parameters failed validation. errors[] names the offending fields. |
401 Unauthorized |
unauthorized |
The access token is missing, malformed or expired. |
403 Forbidden |
forbidden |
The request references a resource outside the token's organisation or clinic scope. |
404 Not Found |
not_found |
No such resource, or it's outside your scope. |
429 Too Many Requests |
rate_limited |
Rate limit exceeded. Back off and retry. |
500 Internal Server Error |
internal_error |
Unexpected server error. |
502 Bad Gateway |
upstream_error |
Upstream service failed or timed out. |
Notes¶
- Read-only. There are no create or update endpoints for appointment types.