# List Appointments by Profession Endpoint: GET /profession/{profession_id}/appointment Version: v1 Security: x-api-key, A-api-key ## Path parameters: - `profession_id` (integer, required) ## Query parameters: - `page` (integer) Example: 1 - `page_size` (integer) Example: 50 - `sort_by` (array) Comma separated search fields 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| | business_id | integer | | client_id | integer | | appointment_type_id | integer | ## Response 200 fields (application/json): - `appointments` (array) - `appointments.row_num` (integer) - `appointments.total_rows` (integer) - `appointments.links` (object) - `appointments.links.self` (string) Example: "https://api.pracsuite.com/v1/appointment/1" - `appointments.links.resources` (string) Example: "https://api.pracsuite.com/v1/appointment/1/resource" - `appointments.tenant_id` (integer) - `appointments.appointment_id` (integer) - `appointments.client_id` (integer) - `appointments.app_time` (string) - `appointments.description` (string) - `appointments.appointment_type_id` (integer) - `appointments.appointment_status_id` (integer) - `appointments.category` (string) - `appointments.duration` (integer) - `appointments.notes` (string) - `appointments.practitioner_id` (integer) - `appointments.business_id` (integer) - `appointments.profession_id` (integer) - `appointments.item_id` (integer) - `appointments.account_id` (integer) - `appointments.created` (string) - `appointments.modified` (string) - `appointments.item_group_id` (integer) - `appointments.telehealth_patient_link` (string) - `appointments.telehealth_practitioner_link` (string) - `total_entries` (integer) ## Response 400 fields (application/json): - `error` (object, required) - `error.status` (integer, required) Example: 400 - `error.code` (string, required) Example: "INVALID_PARAMS" - `error.title` (string, required) 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, required) Example: 403 - `error.code` (string, required) Example: "UNAUTHORIZED" - `error.title` (string, required) Example: "Unauthorised" - `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, required) Example: 403 - `error.code` (string, required) Example: "MISSING_AUTHENTICATION_TOKEN" - `error.title` (string, required) Example: "Unauthorised" - `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, required) Example: 500 - `error.code` (string, required) Example: "SERVER_ERROR" - `error.title` (string, required) 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"