# Create Appointment This endpoint is used to create an Appointment in the appointment book Endpoint: POST /appointment Version: v1 Security: x-api-key, A-api-key ## Request fields (application/json): - `client_id` (integer, required) - `account_id` (integer, required) - `appointment_type_id` (integer, required) - `app_time` (string, required) Required. ISO datetime in the tenant's timezone. Format: yyyy-MM-dd'T'HH:mm:ss Example: "2025-01-01T12:00:00" - `practitioner_business_id` (integer, required) - `duration` (integer, required) Must be between 5 and 1440 and divisible by 5. - `appointment_status_id` (integer) - `item_id` (integer) - `item_group_id` (integer) - `column` (integer) - `width` (integer) - `resource_ids` (array) Example: [1,2] - `hourly_billing` (boolean) - `sms_reminder` (boolean) - `email_reminder` (boolean) - `sms_follow_up` (boolean) - `email_follow_up` (boolean) ## Response 201 fields (application/json): - `links` (object) - `links.self` (string) Example: "https://api.pracsuite.com/v1/appointment/1" - `links.resources` (string) Example: "https://api.pracsuite.com/v1/appointment/1/resource" - `tenant_id` (integer) - `appointment_id` (integer) - `client_id` (integer) - `app_time` (string) - `description` (string) - `appointment_type_id` (integer) - `appointment_status_id` (integer) - `category` (string) - `duration` (integer) - `notes` (string) - `practitioner_id` (integer) - `business_id` (integer) - `profession_id` (integer) - `item_id` (integer) - `account_id` (integer) - `created` (string) - `modified` (string) - `item_group_id` (integer) - `telehealth_patient_link` (string) - `telehealth_practitioner_link` (string) ## 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 409 fields (application/json): - `error` (object, required) - `error.status` (integer, required) Example: 409 - `error.code` (string, required) Example: "RESERVE_APPOINTMENT_CONFLICT" - `error.title` (string, required) Example: "Unable to reserve the appointment" - `error.detail` (string, required) Human readable explanation of the error Example: "This appointment slot is taken." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 422 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" ## 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"