Fetch user's video call access permission
- Sandbox: available
- Staging: available
- Production: unknown
Returns the video call access permission of the signed-in user for one Appointment. Use it to check whether the user has been invited before you request a join link.
Auth: bearer token. Scope: the caller's project (from the token).
Behaviour
- The permission is the
CommunicationRequestthat links the Appointment to the user's profile as recipient. The route returns it without itsmeta. - If there is no such grant for the caller's profile, the route returns 403.
- The lookup uses the caller's own profile reference (for example
Patient/<id>), so a user only ever sees their own permission.
Example
curl -X GET 'https://api.sandbox.ovok.com/video-call/livekit/access-permission/c3499c27-2973-0a7f-807e-fb8676a92dcb' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'bearerAuthorizationBearer <JWT>appointmentId*stringAppointment ID.
uuidUser's video call access permission.
application/json- response
resourceType*"CommunicationRequest"Resource Type.
"CommunicationRequest"id*stringResource ID.
identifier*array<>basedOn*array<>The Appointment the video call access permission applies to.
status*stringStatus of the video call access permission. active once a call was started.
sender?Who started the call.
recipient*array<>Practitioner and Patient participants of the Appointment.
[key: string]?anycurl -X GET 'https://api.sandbox.ovok.com/video-call/livekit/access-permission/497f6eca-6276-4993-bfeb-53cbbbba6f08'{ "resourceType": "CommunicationRequest", "id": "string", "identifier": [ { "system": "https://api.ovok.com/fhir/StructureDefinition/communication-request-type", "value": "video-call-access" } ], "basedOn": [ { "reference": "string" } ], "status": "string", "sender": { "reference": "string", "display": "string" }, "recipient": [ { "reference": "string", "identifier": { "system": "https://api.ovok.com/fhir/StructureDefinition/user-email", "value": "string" } } ]}Verify related person MFA code POST
Verifies the TOTP code of a related person (carer) who has MFA enrolled, after `login/start` answered `nextStep: "mfa"`. Returns the session code for `login/token`. **Auth:** none. The `loginId` from `login/start` identifies the login. ## Behaviour - `mfaToken` must equal the current TOTP code generated from the user's MFA secret. - On success the login is marked MFA-verified and the response is `{ "nextStep": "token", "sessionCode": ... }`. Pass `sessionCode` to `POST /auth/tenant/RelatedPerson/login/token`. - Error responses are delayed to take at least one second. ## Example ```bash curl -X POST 'https://api.sandbox.ovok.com/auth/tenant/RelatedPerson/login/mfa' \ -H 'Content-Type: application/json' \ -d '{ "loginId": "c3499c27-2973-0a7f-807e-fb8676a92dcb", "mfaToken": "123456" }' ```
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" }' ```