List devices with telemetry (compatibility)
- Sandbox: available
- Staging: available
- Production: unknown
Compatibility route for older query clients. Returns device rows joined with their resident, location, zone and telemetry. For new integrations, use GET /v1/slim/device/live or the /v1/slim/patient routes.
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
mustIncludelists the resources a row must have to be returned.shouldIncludelists the resources added to each row when present. Both are comma-separated lists oforganization,device,location,patientandtelemetry.- Every entry in
mustIncludemust also be inshouldInclude.telemetryin either list needsdevicein the same list. - When
mustIncludecontainspatient, the query runs on the older resident-oriented path, which reads telemetry from the device database and Redis. Otherwise it runs on the same path asGET /v1/slim/device/live. - Without
includeUnassigned=true, rows without a resident are left out whenpatientis required. organizationtakesOrganization/<id>,assignedorunassigned.pageis zero-based.countdefaults to 20, maximum 100.- The route returns 503 when the server is at capacity for live reads or the device list cannot be built. Retry shortly.
Example
curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query?mustInclude=device,telemetry&shouldInclude=organization,device,location,patient,telemetry&page=0&count=20' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'bearerAuthorizationBearer <JWT>sortBy?string"locationName""effectiveHeartRate""effectiveRespiratoryRate""effectiveSleepStatus""name""deviceName""locationName""patientName""patientNickname""organizationName""admissionDate""dischargeDate""search"orderBy?string"ASC""ASC""DESC"search?stringdeviceId?stringRestrict results to a single device (matched against the device identifier).
1 <= lengthproject?stringproject is ignored for scoping; server uses auth token project only.
Project\/\S+effectiveSleepStatus?string"disconnected""connected""awake""away""asleep"organization?|residentState?string"active""discharged-recent""discharged""archived"includeUnassigned?stringpage?string"0"count?string"20"mustInclude*stringshouldInclude*stringQuery results retrieved successfully.
application/json- response
total*numberresources*array<unknown>curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query?mustInclude=string&shouldInclude=string'{ "total": 0, "resources": [ null ]}Update a project PUT
Updates a project's name, address, contact and settings, and returns the updated project. Use it to edit your project or one of its child projects. **Auth:** Bearer token of a project admin (`ProjectMembership.admin`). **Scope:** The project in the path. It must be the caller's project (from the token) or a direct child of it. ## Behaviour - Sets the project `name` and replaces the organization stored inside the project with one built from `name`, `address`, `contact` and `settings`. This is a full replace, not a merge: - an omitted `address` or `contact` clears it; - an omitted `settings.timeZone` resets the time zone to `Europe/Berlin`; - an omitted `settings.trendsPeriod` removes the stored trends period, so reads fall back to the default. - `id` and `extension` in the body are ignored. The project comes from the path. - `settings.trendsPeriod.start` must be `HH:MM:SS`. - The response has the shape of `GET /v1/slim/project/{id}`. ## Example ```bash curl -X PUT 'https://api.sandbox.ovok.com/v1/slim/project/c3499c27-2973-0a7f-807e-fb8676a92dcb' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \ -H 'Content-Type: application/json' \ -d '{ "name": "My Medical Project", "address": [{ "line": ["Hauptstrasse 1"], "city": "Berlin", "postalCode": "10115", "country": "DE" }], "settings": { "timeZone": "Europe/Berlin", "trendsPeriod": { "start": "09:00:00", "durationSeconds": 86400 } } }' ```
List telemetry and alerts (compatibility) GET
Compatibility route for older live polling clients. Returns telemetry and alerts maps keyed by device identifier. For new integrations, use `GET /v1/slim/device/live/telemetry`. **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 - Takes the same query parameters as `GET /v1/slim/query`, with the same validation rules. - Returns `total`, plus `telemetry` and `alerts` for the requested page only. - `alerts` has an entry for every device on the page. `telemetry` has an entry only for devices with telemetry. - The route returns 503 when the server is at capacity for live reads or the device list cannot be built. Retry shortly. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/query/telemetry?mustInclude=device,telemetry&shouldInclude=device,telemetry' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```