# Edit Appointment Endpoint: PATCH /appointment/{appointment_id} Version: v1 Security: x-api-key, A-api-key ## Path parameters: - `appointment_id` (integer, required) ## Request fields (application/json): - `appointment_type_id` (integer) - `app_time` (string) Required. ISO datetime in the tenant's timezone. Format: yyyy-MM-dd'T'HH:mm:ss Example: "2025-01-01T12:00:00" - `practitioner_id` (integer) - `business_id` (integer) - `duration` (integer) Must be between 5 and 1440 and divisible by 5. - `column_number` (integer) - `width` (integer) - `appointment_status_id` (integer) - `profession_id` (integer) - `item_id` (integer) If item_id is not null, then item_group_id must be null - `item_group_id` (integer) If item_group_id is not null, then item_id must be null - `resource_ids` (array) Example: [1,2] - `sms_reminder` (boolean) - `email_reminder` (boolean) - `sms_confirmation` (boolean) - `email_confirmation` (boolean) - `sms_follow_up` (boolean) - `email_follow_up` (boolean) - `appointment_reschedule_reason_id` (integer) - `reason` (string) ## Response 200 fields (application/json): - `row_num` (integer) - `total_rows` (integer) - `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) - `resource_ids` (array) ## 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 404 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 404 - `error.code` (string) Example: "NOT_FOUND" - `error.detail` (string) Human readable explanation of the error Example: "Could not find {Resource} with ID {ID_HERE}" - `request_id` (string) Example: "00000000-0000-0000-0000-000000000000" ## Response 422 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 422 - `error.code` (string) Example: "INVALID_BODY" - `error.detail` (string) Human readable explanation of the error Example: "There are some issues with the request body." - `error.validation` (array) List of validation errors for specific fields - `error.validation.field` (string) Example: "surname" - `error.validation.message` (string) Example: "The surname field is required." - `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"