---
title: "Get appointments search"
method: GET
path: "/api/appointments/search"
tags: ["appointments"]
---

# Get appointments search

`GET /api/appointments/search`

Get filtered appointments list.

## Query parameters

- `patient_id` string, nullable — Patient ID
- `operator_id` string, nullable — Operator ID
- `appointment_type` string, nullable — Appointment type code
- `status` string, nullable — Status (comma-separated for multiple)
- `location_type` string, nullable — Location type (online/in_person)
- `limit` integer, nullable — Maximum results
- `from_date` string, nullable — Created from date (ISO)
- `to_date` string, nullable — Created to date (ISO)
- `appointment_start` string, nullable — Appointment datetime start (ISO)
- `appointment_end` string, nullable — Appointment datetime end (ISO)
- `with_op_name` boolean — Include operator name join
- `count` boolean — Return count only

## Response `200`

Successful Response

- AppointmentFlatListWithCountResponse — Response model for list of appointments flat with count.
  - `items` AppointmentFlatResponse[], required
    - `id` string, required
    - `patient_id` string, required
    - `operator_id` string, required
    - `appointment_datetime` string, required
    - `duration_seconds` integer, required
    - `status` string, required
    - `appointment_type_code` string, required
    - `location` string, required
    - `expert_in_person` boolean, nullable
    - `meeting_link` string, nullable
    - `payment_status` string, nullable
    - `paid_with_coupon` boolean, nullable
    - `patient_cost` number, nullable
    - `operator_cost` number, nullable
    - `notes` string, nullable
    - `notes_updated_at` string, nullable
    - `payment_id` string, nullable
    - `payment_completed_at` string, nullable
    - `payment_method` string, nullable
    - `stripe_checkout_session_id` string, nullable
    - `is_tax_deductible` boolean, nullable
    - `consent_present` boolean, nullable
    - `consent_valid` boolean, nullable
    - `created_at` string, required
    - `operator` object, nullable
    - `patient` object, nullable
    - `joint_operator_first_name` string, nullable — Other expert's first name when a joint appointment is collapsed into one row
    - `joint_operator_last_name` string, nullable — Other expert's last name when a joint appointment is collapsed into one row
  - `count` integer, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/corabea/apis/corabea-api.md) · [All operations](https://skmtc.dev/corabea/apis/corabea-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/corabea/corabea-api/revisions/13c1bce1bdc4/schema)
