List out-of-bed notifications
| Method | Path |
|---|---|
GET | /v1/slim/notifications/oob |
Authentication · Access policies
Lists your project's out-of-bed notifications, filtered and paged. Out-of-bed is evaluated and recorded by Ovok as CommunicationRequests, and this is its feed. Medical notifications are not here; read GET /v1/slim/notifications/medical for those.
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 CommunicationRequest:read, CommunicationRequest:search and Observation:read (admins and super admins skip this check).
Scope: The caller's project (from the token). The project query parameter is accepted but ignored.
Behaviour
- The notification type is fixed to out-of-bed; there is no
typeparameter. Prefer this route over the deprecatedGET /v1/slim/notifications?type=outOfBed. statusdefaults toactive. An episode that has ended but has not been acknowledged staysactive, with an end-of-episode marker, so one resident can have more than one active row.- One row per out-of-bed episode, not per reading: the resident's open episode is updated in place.
- Sort order: newest first by event time (
occurrenceDateTime, thenauthoredOn, then id). patienttakes a Patient id orPatient/{id}.devicetakes a Device id,Device/{id}, or the device's identifier value. A Device id that does not exist returns an empty page rather than an unfiltered one.startDateandendDateare inclusive ISO 8601 UTC instants, used exactly as sent. Forstatus=activethey bind to the last-updated time; for any other status, toauthoredOn. Either may be omitted. A missingstartDatedefaults to one year back forstatus=activeand 30 days back otherwise.- Paging:
pagefrom 0,countfrom 1 to 100 (default 25).totalis an exact count for the filter, the same on every page, cached for 15 seconds. It counts matching CommunicationRequests, so it is an upper bound on the rows you can page through. It reads0if the count lookup fails; the rows are unaffected. - The list pages through at most the first 1,000 results (server-configurable).
totalis clamped to that cap. When the cap or the per-request scan limit stops a page short,truncatedsays why:{ reason: 'result-cap', limit }or{ reason: 'scan-budget', limit }.truncatedisnullwhen the page is complete. - Acknowledge a row with
PATCH /v1/slim/notifications/{id}/ack.
Example
curl -X GET 'https://api.sandbox.ovok.com/v1/slim/notifications/oob?status=active&page=0&count=25' \
-H "Authorization: Bearer ${OVOK_TOKEN}"
Successful response
200 — Out-of-bed notifications retrieved successfully.
Errors
| Status | Meaning |
|---|---|
401 | Bearer token is missing, invalid or expired. |
403 | You are not a practitioner, admin or System Owner, you lack CommunicationRequest:read, CommunicationRequest:search or Observation:read, your session has no project, or you cannot access the project. |
422 | A query parameter fails validation. |
504 | A Medplum notification search timed out. |