Video Call

Create video call Ovok-user access

  • Sandbox: available
  • Staging: available
  • Production: unknown
POST
/video-call/livekit/user-access/{appointmentId}

Creates a join link for a video call Appointment for the signed-in Ovok user. Use it when a Practitioner or Patient joins a call from an Ovok app.

Auth: bearer token. The caller's profile must be a Practitioner or a Patient. A RelatedPerson is refused. Scope: the caller's project (from the token).

Behaviour

  • A Practitioner can always join and joins as room admin.
  • A Patient can join only after a Practitioner has granted access to the Appointment. The grant is a CommunicationRequest that names the Patient as recipient. POST /video-call/livekit/notification/active-call/{appointmentId} creates it. Without it the route returns 401.
  • The display name in the call is the Practitioner's name, or for a Patient the user's email, or user-<profile id> when there is no email.
  • The token is valid from 1 hour before the request until 24 hours after it. Unlike guest access, it does not follow the Appointment times.
  • The response holds videoCallUrl (the full join link), livekitJwt and passphrase.

Example

curl -X POST 'https://api.sandbox.ovok.com/video-call/livekit/user-access/c3499c27-2973-0a7f-807e-fb8676a92dcb' \  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'

Authorization

bearer
headerAuthorizationBearer <JWT>

Path Parameters

appointmentId*string

Appointment ID.

Formatuuid

Response Body

Video call Ovok-user access.

application/json
  1. response
videoCallUrl*string

URL to join video call.

livekitJwt*string

LiveKit JWT.

passphrase*string

Passphrase for video call.

Example Request
curl -X POST 'https://api.sandbox.ovok.com/video-call/livekit/user-access/497f6eca-6276-4993-bfeb-53cbbbba6f08'
Example Response
{  "videoCallUrl": "string",  "livekitJwt": "string",  "passphrase": "string"}

Create video call guest access POST

Creates a join link for a video call Appointment for someone who has no Ovok account. A Practitioner calls it, then shares the returned `videoCallUrl` with the guest. **Auth:** bearer token. The caller must be a Practitioner. **Scope:** the caller's project (from the token). The Appointment is read in that project. ## Behaviour - The guest has no room admin rights. The guest's display name in the call is `guestEmail`. - The link is valid from 1 hour before the Appointment `start` until 1 hour after its `end`. - The route does not send an email. To email the link, use the video call mail routes. - Every call returns a new token. Earlier tokens stay valid until they expire. - The response holds `videoCallUrl` (the full join link), `livekitJwt` and `passphrase`. The passphrase is the one stored on the Appointment and is also the fragment of `videoCallUrl`. ## Example ```bash curl -X POST 'https://api.sandbox.ovok.com/video-call/livekit/guest-access/c3499c27-2973-0a7f-807e-fb8676a92dcb' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \ -H 'Content-Type: application/json' \ -d '{ "guestEmail": "max.mustermann@example.com" }' ```

Fetch user's video call Appointments GET

Lists the video call Appointments in which the signed-in user is a participant, ordered by date. **Auth:** bearer token. Any signed-in user can call it. **Scope:** the caller's project (from the token). Only Appointments that name the caller's own profile as a participant are returned. ## Behaviour - Only Appointments created through the video call routes are returned. - `startDate` and `endDate` are optional. Each is a UTC date-time such as `2025-01-01T14:00:00Z`, with an optional FHIR search prefix (`eq`, `ne`, `lt`, `gt`, `ge`, `le`, `sa`, `eb`, `ap`), for example `ge2025-01-01T00:00:00Z`. Each becomes a FHIR `date` search on the Appointment start. - The route has no paging. It returns every match in one response. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/video-call/livekit/appointment?startDate=ge2026-01-01T12:00:00Z&endDate=le2026-01-02T12:00:00Z' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```