SlimSlim/User

Update terms and conditions consent

  • Sandbox: available
  • Staging: available
  • Production: unknown
POST
/v1/slim/user/terms-and-conditions-consent

Accepts or withdraws the terms and conditions for the signed-in practitioner. Other consents are not changed.

Auth: Bearer token for a practitioner session (the profile must be a Practitioner). The caller's access policy must grant Consent:read, Consent:search, Consent:create and Consent:update (a project admin who holds no access policy skips this check). Scope: The caller's practitioner profile in the caller's project (from the token).

Behaviour

  • true records acceptance of the currently published terms version. false withdraws it.
  • The acceptance is also kept as a legal Consent in your project: accepting creates or re-activates it with a link to the terms page of your project's practitioner app; withdrawing revokes it with reason withdrawn.
  • Repeating the same value writes nothing. The call is idempotent.
  • The consent answers of /v1/me/consent/* are refreshed right away.
  • Returns the resulting termsAndConditionsConsent.

Example

curl -X POST 'https://api.sandbox.ovok.com/v1/slim/user/terms-and-conditions-consent' \  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \  -H 'Content-Type: application/json' \  -d '{ "termsAndConditionsConsent": true }'

Authorization

bearer
headerAuthorizationBearer <JWT>

Request Body

application/json
  1. body
termsAndConditionsConsent*boolean

Response Body

Terms and conditions consent updated successfully.

application/json
  1. response
termsAndConditionsConsent*boolean
Example Request
curl -X POST 'https://api.sandbox.ovok.com/v1/slim/user/terms-and-conditions-consent' \  -H 'Content-Type: application/json' \  -d '{  "termsAndConditionsConsent": true}'
Example Response
{  "termsAndConditionsConsent": true}

Get terms and conditions consent GET

Returns whether the signed-in practitioner has accepted the current terms and conditions. Use it to decide whether to show the terms prompt. **Auth:** Bearer token for a practitioner session (the profile must be a `Practitioner`). The caller's access policy must grant `Consent:read` and `Consent:search` (a project admin who holds no access policy skips this check). **Scope:** The caller's practitioner profile in the caller's project (from the token). ## Behaviour - `termsAndConditionsConsent` is `true` only when an acceptance is on file and either matches the currently published terms version or no version has been published yet. - Publishing new terms turns it `false` for everyone until they accept again. - The published version is the one of the root project of your project tree: a child project follows its parent's terms. Without one, the platform-wide version applies. - `GET /v1/me/consent/legal` returns the same acceptance with its dates and terms link. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/user/terms-and-conditions-consent' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```

Get all user consents GET

Returns every consent of the signed-in practitioner in one response. Use it at sign-in to decide which consent prompts to show. **Auth:** Bearer token for a practitioner session (the profile must be a `Practitioner`). The caller's access policy must grant `Consent:read` and `Consent:search` (a project admin who holds no access policy skips this check). **Scope:** The caller's practitioner profile in the caller's project (from the token). ## Behaviour - Both `medicalSettingsNotificationsConsent` and `termsAndConditionsConsent` are versioned. Each is `true` only when an acceptance is on file and either matches the currently published version of that consent or no version has been published yet. - Publishing a new version of a consent turns it `false` for everyone until they accept again. - The published version is the one of the root project of your project tree. Without one, the platform-wide version applies. - A consent with no record reads `false`. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/user/consents' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ``` ```json { "medicalSettingsNotificationsConsent": true, "termsAndConditionsConsent": false } ```