# Update video call Appointment

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

`PUT /video-call/livekit/appointment/{appointmentId}`

Replaces the time, title, description and participants of an existing video call Appointment. Use it to reschedule a call or change who is invited.

**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).

## Behaviour

- The Appointment is identified by the `appointmentId` path parameter. Any `id` in the body is ignored.
- The body works like the create route: `end` must be later than `start`, participants are identified by email and deduplicated, and at least one must be a Practitioner. Unknown emails become Patient accounts.
- The participant list is replaced by the one you send. Send everyone who should stay.
- The passphrase of the Appointment does not change, so existing join links keep working.
- New TANs are created for all participants on every update.
- If the Appointment already has an access permission, its recipients are replaced by the new participant list. A Patient you add can therefore join without a second call to the active-call notification route.
- The route sends no emails. Use `POST /video-call/livekit/mail/update` to tell participants about the change.

## Example

```bash
curl -X PUT 'https://api.sandbox.ovok.com/video-call/livekit/appointment/c3499c27-2973-0a7f-807e-fb8676a92dcb' \
  -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",
    "videoCallParticipants": [{ "email": "max.mustermann@example.com" }]
  }'
```
