Count devices per zone (compatibility)
- Sandbox: available
- Staging: available
- Production: unknown
Compatibility route for older zone count clients. Returns device counts per zone. For new integrations, use GET /v1/slim/zones/device-counts.
Auth: bearer token. The caller must be a practitioner, an admin or a System Owner, and needs Organization:search and Device:search.
Scope: the caller's project (from the token). For admins, the counts also cover the project's sub-projects.
Behaviour
- Each entry has the zone (
organization) and itsdeviceCount,assignedResidentDeviceCount,activeDeviceCountandinactiveDeviceCount. - Devices without a zone are counted in an entry without
organization. - Only zones with at least one device are listed, sorted by
deviceCount, highest first. - A device counts as active when its telemetry reports it active.
- The top-level
total*fields sum the counts over all entries.totalis the number of entries. - Results are cached for up to 60 seconds. Writes made through the Slim routes refresh the cache sooner.
Example
curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query/organization/device/count' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'bearerAuthorizationBearer <JWT>Organization device count retrieved successfully.
application/json- response
total*numbertotalDeviceCount*numbertotalAssignedResidentDeviceCount*numbertotalActiveDeviceCount*numbertotalInactiveDeviceCount*numberresources*array<>curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query/organization/device/count'{ "total": 0, "totalDeviceCount": 0, "totalAssignedResidentDeviceCount": 0, "totalActiveDeviceCount": 0, "totalInactiveDeviceCount": 0, "resources": [ { "organization": { "resourceType": "Organization", "id": "string", "name": "string", "meta": { "project": "string", "lastUpdated": "string" } }, "deviceCount": 0, "assignedResidentDeviceCount": 0, "activeDeviceCount": 0, "inactiveDeviceCount": 0 } ]}Get resident devices with telemetry (compatibility) GET
Compatibility route for older resident vitals clients. Returns the devices assigned to one resident, each with its telemetry. For new integrations, use `GET /v1/slim/patient/{id}/current-vitals`. **Auth:** bearer token. The caller must be a practitioner, an admin or a System Owner, and needs `search` and `read` on `Patient`, `Device`, `Location`, `Observation` and `Organization`. **Scope:** the caller's project (from the token). The `project` parameter is ignored. ## Behaviour - Returns up to 100 device rows for the resident, with zone, device and telemetry. - Results are cached for up to 60 seconds. Writes made through the Slim routes refresh the cache sooner. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query/patient/c3499c27-2973-0a7f-807e-fb8676a92dcb' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```
List users (compatibility) GET
Compatibility route for older user list clients. Lists the practitioner users of a project with their profile, membership and access policy. For new integrations, use `GET /v1/slim/project/users`. **Auth:** bearer token. The caller must be a practitioner, an admin or a System Owner, and needs `Practitioner:read`. **Scope:** the caller's project (from the token). When you pass `project=Project/<id>`, that project is used instead. It must be your project or one of its sub-projects. ## Behaviour - `profileType` is required and must be `Practitioner`. - Each row has `user`, `profile`, `membership` and, when set, `accessPolicy`, reduced to the fields a list needs. - A user's status is `Pending` when they have an unused invite or no password yet, otherwise `Active`. - `accessPolicy`, `profile` and `user` filter on exact references, for example `AccessPolicy/<id>`. - `search` matches profile name, user name and access policy name, with fuzzy matching. - `page` is zero-based. `count` defaults to 20, maximum 100. - Results are cached for up to 60 seconds. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query/user?profileType=Practitioner&page=0&count=20' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```