SlimSlim/Practitioner

Update practitioner

  • Sandbox: available
  • Staging: available
  • Production: unknown
PUT
/v1/slim/practitioner/{id}

Updates a practitioner profile: name, surname, email, phone, address and photo.

Auth: Bearer token. The caller must be a practitioner, an admin, a super admin, or hold the "System Owner" access policy. The access policy must grant Practitioner:read. Updating another practitioner's profile also needs Practitioner:update. An admin or super admin who holds no access policy skips the access-policy check. Scope: You can always update your own profile. Another practitioner must belong to your project, one of its sub-projects, or its parent project.

Behaviour

  • The Practitioner resource is replaced with one built from the body. A field you omit is cleared, and FHIR fields that the body cannot carry are not kept. Send the full profile, for example the result of GET /v1/slim/practitioner/{id} with your changes applied.
  • id in the body is optional. When present it must equal the id in the path.
  • meta in the body is ignored. Ovok sets meta.author to the caller.
  • email is stored in lower case.
  • This route does not change roles or access policies.
  • Your own profile is written with your token. Another practitioner's profile is written with Ovok's admin client after the project check above passes.
  • The response is the updated profile.

Example

curl -X PUT 'https://api.sandbox.ovok.com/v1/slim/practitioner/87ea5dfc-8b8e-384d-8489-79496e706390' \  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \  -H 'Content-Type: application/json' \  -d '{    "name": "Max",    "surname": "Mustermann",    "email": "max.mustermann@example.com",    "phone": "+491234567890"  }'

Authorization

bearer
headerAuthorizationBearer <JWT>

Path Parameters

id*string

Request Body

application/json
  1. body
id?string
name?string
surname?string
email?string
Formatemail
phone?string
address?
photo?string
Formaturi
meta?

Response Body

Practitioner profile updated successfully.

application/json
  1. response
id?string
name?string
surname?string
email?string
Formatemail
phone?string
address?
photo?string
Formaturi
meta?
Example Request
curl -X PUT 'https://api.sandbox.ovok.com/v1/slim/practitioner/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "string",  "name": "string",  "surname": "string",  "email": "user@example.com",  "phone": "string",  "address": {    "line": "string",    "city": "string",    "state": "string",    "postalCode": "string",    "country": "string"  },  "photo": "http://example.com",  "meta": {    "author": "string"  }}

Get practitioner GET

Returns a practitioner profile by id. Use it to show your own profile or, with the extra permission, another practitioner's. **Auth:** Bearer token. The caller must be a practitioner, an admin, a super admin, or hold the "System Owner" access policy. The access policy must grant `Practitioner:read`. Reading another practitioner's profile also needs `Practitioner:update`. An admin or super admin who holds no access policy skips the access-policy check. **Scope:** Your own profile is always readable. Another practitioner must belong to your project, one of its sub-projects, or its parent project. ## Behaviour - Read-only. - Your own profile is read with your token. Another practitioner's profile is read with Ovok's admin client after the project check above passes. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/practitioner/87ea5dfc-8b8e-384d-8489-79496e706390' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```

List current project users GET

Lists the practitioner memberships of your current project, with each member's user, profile, access policy and invite status. Use it to render a project's team list. **Auth:** Bearer token for a practitioner, project admin or System Owner session. The caller's access policy must grant `Practitioner:read` (a project admin who holds no access policy skips this check). The session must carry a project. **Scope:** The caller's project (from the token). ## Behaviour - Returns one row per `ProjectMembership` of `profileType` (`Practitioner`) that has both a user and a profile. Memberships whose user or profile cannot be resolved are left out. - `status` is `Pending` while the user has an unused invite or has never set a password, and `Active` otherwise. - `accessPolicyId`, `profileId` and `userId` narrow the memberships by exact id. - `search` is a fuzzy match over the profile name, the user name and the access policy name. - `sortBy` defaults to `profileName` and `orderBy` to `ASC`. Rows with an empty sort value go last in `ASC` and first in `DESC`. - Paging is in memory: `page` (default `0`) and `count` (default `20`, 1 to 100). `total` counts the rows after `search`, before paging. - Answers are cached for up to about a minute, so a member added or removed a moment ago can be missing or still listed. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/project/users?sortBy=userName&orderBy=ASC&page=0&count=20' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```