# Create video call Appointment

Canonical page: https://docs.ovok.com/api/video-call/create-video-call-appointment

`POST /video-call/livekit/appointment`

Creates a video call Appointment with its participants. Use it before you invite participants or create join links.

**Auth:** bearer token. The caller must be a Practitioner, an admin or a super admin, or hold the "System Owner" access policy.
**Scope:** the caller's project (from the token). Participant accounts are looked up and created in that project.

## Behaviour

- `start` and `end` are UTC date-times. `end` must be later than `start`.
- Participants are identified by email. Duplicate emails are dropped.
- For each email, a Practitioner account in the project is used if one exists. Otherwise a Patient account is used, and one is created if the email has none yet.
- The Appointment must have at least one Practitioner participant.
- Each participant gets a TAN (a one-time access code), valid from one hour before the request until one day after `end`. Invitation and update emails include it.
- The Appointment gets a random passphrase. Join links include it, and you cannot set or change it.
- Participants are stored with status `tentative`. The route sends no emails and creates no access permission. Use `POST /video-call/livekit/mail/invite` to email participants and `POST /video-call/livekit/notification/active-call/{appointmentId}` to let them join.

## Example

```bash
curl -X POST 'https://api.sandbox.ovok.com/video-call/livekit/appointment' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \
  -H 'Content-Type: application/json' \
  -d '{
    "start": "2026-01-01T12:00:00Z",
    "end": "2026-01-02T12:00:00Z",
    "comment": "Check-up call",
    "description": "Follow-up appointment",
    "videoCallParticipants": [{ "email": "max.mustermann@example.com" }]
  }'
```
