# List Cancelled Appointments by Patient

Endpoint: GET /patient/{client_id}/cancelled_appointment
Version: v1
Security: x-api-key, a-api-key

## Path parameters:

  - `client_id` (integer, required)

## Query parameters:

  - `page` (integer)

  - `page_size` (integer)

  - `sort_by` (array)
    Comma separated search fields. See [Sorting](/#sorting)

  - `include_deletions` (boolean)

  - `q[]` (array)
    Filter result by one or more fields.

See [Query Filtering](/#query-filtering)

Available filters:

| Value | Format |
|---|---|
| created | [timestamp](/#timestamp) |
| updated | [timestamp](/#timestamp) |
| cancellation_time | [timestamp](/#timestamp) |
| app_time | [datetime](/#datetime)|
| profession_id | [integer](/#numeric) |
| business_id | [integer](/#numeric) |
| appointment_type_id | [integer](/#numeric) |
| practitioner_id | [integer](/#numeric) |

## Response 200 fields (application/json):

  - `cancelled_appointments` (array)

  - `cancelled_appointments.row_num` (integer)

  - `cancelled_appointments.total_rows` (integer)

  - `cancelled_appointments.links` (object)

  - `cancelled_appointments.links.self` (string)
    Example: https://api.pracsuite.com/v1/cancelled_appointment/1

  - `cancelled_appointments.tenant_id` (integer)

  - `cancelled_appointments.appointment_id` (integer)

  - `cancelled_appointments.client_id` (integer)

  - `cancelled_appointments.app_time` (string)
    ISO 8601 local datetime in the tenant's timezone.
    Example: 2026-01-01T12:05:30

  - `cancelled_appointments.description` (string)

  - `cancelled_appointments.appointment_type` (string)

  - `cancelled_appointments.appointment_status` (string)

  - `cancelled_appointments.category` (string)

  - `cancelled_appointments.duration` (integer)

  - `cancelled_appointments.notes` (string)

  - `cancelled_appointments.practitioner_id` (integer)

  - `cancelled_appointments.business_id` (integer)

  - `cancelled_appointments.profession_id` (integer)

  - `cancelled_appointments.item_code` (string)

  - `cancelled_appointments.account_id` (integer)

  - `cancelled_appointments.cancellation_time` (string)
    RFC 3339 UTC date-time (Z) with microsecond precision.
    Example: 2020-09-12T11:09:42.687393Z

  - `cancelled_appointments.cancelled_by` (string)

  - `cancelled_appointments.cancellation` (boolean)

  - `cancelled_appointments.reason` (string)

  - `cancelled_appointments.appointment_cancellation_reason_id` (integer)

  - `total_entries` (integer)

  - `links` (object)

  - `links.self` (string)
    Example: https://api.pracsuite.com/v1/patient/1/cancelled_appointment?page=2

  - `links.previous` (string)
    Example: https://api.pracsuite.com/v1/patient/1/cancelled_appointment?page=1

  - `links.next` (string)
    Example: https://api.pracsuite.com/v1/patient/1/cancelled_appointment?page=3

## 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

