# List Appointment Book Endpoint: GET /appointment_book Version: v1 Security: x-api-key, a-api-key ## Query parameters: - `page` (integer) Example: 1 - `page_size` (integer) Example: 50 - `sort_by` (array) Comma separated search fields. See Sorting Example: ["[\"field_name\",\"field_name\"]"] - `q[]` (array) Filter result by one or more fields. See Query Filtering Available filters: | Value | Format | |---|---| | created | timestamp | | updated | timestamp | | app_time | datetime| | appointment_id | integer | | profession_id | integer | | business_id | integer | | client_id | integer | | appointment_type_id | integer | | practitioner_id | integer | ## Response 200 fields (application/json): - `data` (array) - `data.row_num` (integer) - `data.total_rows` (integer) - `data.links` (object) - `data.links.self` (string) Example: "https://api.pracsuite.com/v1/group_appointment/1" - `data.links.resources` (string) Not available for Rule Outs Example: "https://api.pracsuite.com/v1/group_appointment/1/resource" - `data.links.appointment_clients` (string) Only available for Group Appointments Example: "https://api.pracsuite.com/v1/group_appointment/1/appointment_client" - `data.tenant_id` (integer) - `data.appointment_id` (integer) - `data.app_time` (string) ISO 8601 local datetime in the tenant's timezone. Example: "2026-01-01T12:05:30" - `data.description` (string) - `data.client_id` (integer) - `data.account_id` (integer) - `data.appointment_type_id` (integer) - `data.appointment_status_id` (integer) - `data.category` (string) - `data.duration` (integer) - `data.notes` (string) - `data.practitioner_id` (integer) - `data.business_id` (integer) - `data.profession_id` (integer) - `data.item_id` (integer) - `data.created` (string) RFC 3339 UTC date-time (Z) with microsecond precision. Example: "2020-09-12T11:09:42.687393Z" - `data.modified` (string) RFC 3339 UTC date-time (Z) with microsecond precision. Example: "2020-09-12T11:09:42.687393Z" - `data.item_group_id` (integer) - `data.font_colour` (string) Hex colour in the format #RRGGBB. Example: "#000000" - `data.bg_colour` (string) Hex colour in the format #RRGGBB. Example: "#FFD700" - `data.telehealth_patient_link` (string) - `data.telehealth_practitioner_link` (string) - `data.max_class_size` (integer) If the return value is 0, this means the group has no class size limit - `data.appointment_clients` (array) - `data.appointment_clients.appointment_client_id` (integer) - `data.resource_ids` (array) - `total_entries` (integer) ## Response 400 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 400 - `error.code` (string) Example: "INVALID_PARAMS" - `error.detail` (string) Human readable explanation of the error Example: "One or more request parameters are invalid." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 401 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 403 - `error.code` (string) Example: "UNAUTHORIZED" - `error.detail` (string) Human readable explanation of the error Example: "Access could not be verified for this request." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 403 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 403 - `error.code` (string) Example: "MISSING_AUTHENTICATION_TOKEN" - `error.detail` (string) Human readable explanation of the error Example: "Authentication token is missing or the requested endpoint does not exist" - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 500 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 500 - `error.code` (string) Example: "SERVER_ERROR" - `error.detail` (string) Human readable explanation of the error Example: "An unexpected error occurred while processing your request. Please try again in a few minutes. If it keeps happening, contact support with Request ID: 00000000-0000-0000-0000-000000000000." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000"