---
title: "Schedule Appointment"
method: POST
path: "/api/v3/patient-appointments/{patient_id}"
tags: ["Patient Appointments"]
---

# Schedule Appointment

`POST /api/v3/patient-appointments/{patient_id}`

## Request

- Base URL: `https://api.endless.health` (the document declares no server; this is the origin it was published from)
- URL: `https://api.endless.health/api/v3/patient-appointments/{patient_id}`
- Auth: none declared

Schedule a new appointment for a patient.

## Path parameters

- `patient_id` integer, required

## Request body

- PatientAppointmentCreateSchema
  - `coach_id` integer, required
  - `start_time` string, date-time, nullable
  - `end_time` string, date-time, nullable
  - `timezone` string, nullable
  - `is_available` boolean
  - `status` 'SCHEDULED' | 'CANCELED' | 'NOT_ATTENDED' | 'RESCHEDULED'
  - `title` string, nullable
  - `description` string, nullable
  - `location` string, nullable
  - `is_recurring` boolean
  - `recurrence_rule` string, nullable
  - `max_bookings` integer, nullable
  - `booking_duration` integer, nullable
  - `notes` string, nullable

## Response `200`

Successful Response

- PatientAppointmentResponseSchema
  - `coach_id` integer, required
  - `start_time` string, date-time, nullable
  - `end_time` string, date-time, nullable
  - `timezone` string, nullable
  - `is_available` boolean
  - `status` 'SCHEDULED' | 'CANCELED' | 'NOT_ATTENDED' | 'RESCHEDULED'
  - `title` string, nullable
  - `description` string, nullable
  - `location` string, nullable
  - `is_recurring` boolean
  - `recurrence_rule` string, nullable
  - `max_bookings` integer, nullable
  - `booking_duration` integer, nullable
  - `notes` string, nullable
  - `id` integer, required
  - `user_id` integer, required
  - `external_calendar_id` string, nullable
  - `external_event_id` string, nullable
  - `meeting_link` string, nullable
  - `cancel_link` string, nullable
  - `reschedule_link` string, nullable
  - `coach_name` string, nullable
  - `session_number` integer, nullable
  - `upcoming_session_status` string, nullable
  - `attended` boolean, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `404`: Not found
- `422`: Validation Error

---

[API](https://skmtc.dev/endless/apis/eh-core-v3-api-prod.md) - [All operations](https://skmtc.dev/endless/apis/eh-core-v3-api-prod/llms.txt) - [OpenAPI document](https://skmtc.dev/endless/apis/eh-core-v3-api-prod/revisions/9046a1eb2d0c?raw)
