Signals API - Clients

List users

  • Sandbox: available
  • Staging: available
  • Production: unknown
GET
/v1/signals/api/user

The tenant's API clients, newest first, in v1's paginate envelope (page, limit defaulting to 10) with nest's nextCursor. role and name filter as in v1.

Through ovok

  • Who can call it: Manager apps, and users whose access policy grants the capabilities.
  • Capabilities, all required: signals_clients:read. Project admins have every capability; client applications get no admin bypass.

Authorization

headerAuthorizationBearer <JWT>

Query Parameters

limit?number

Page size. Defaults to 10, as in v1.

Range1 <= value
role?string

Only this role: manager, submitter, subscriber (or admin), either case.

Value in"ADMIN""MANAGER""SUBMITTER""SUBSCRIBER""SUPER_ADMIN""TENANT_PROVISIONER"
name?string

Only clients with exactly this name.

Lengthlength <= 200
page?number

1-based, as v1 paged. A page may start at most 10000 rows in; walk further with cursor.

Range1 <= value
cursor?string

Opaque keyset cursor: a previous answer's nextCursor, passed back verbatim.

Lengthlength <= 512

Response Body

One page of users.

application/json
  1. response
totalItems*number
limit*number
page*number

1-based.

totalPages*number

At least 1, even for an empty list.

pagingCounter*number

The 1-based position of the first item on this page.

hasPrevPage*boolean
hasNextPage*boolean
prevPage*number
nextPage*number
nextCursor*string

Opaque keyset cursor. Pass it back as cursor for the next page; null means this page was the last. Do not construct or parse it.

items*array<>
Example Request
curl -X GET 'https://api.sandbox.ovok.com/v1/signals/api/user'
Example Response
{  "totalItems": 0,  "limit": 0,  "page": 0,  "totalPages": 0,  "pagingCounter": 0,  "hasPrevPage": true,  "hasNextPage": true,  "prevPage": 0,  "nextPage": 0,  "nextCursor": "string",  "items": [    {      "id": "string",      "tenantId": "string",      "clientId": "string",      "name": "string",      "webhookUrl": "string",      "custom": "string",      "hasWebhookSecret": true,      "events": [        "string"      ],      "eventSchema": 1,      "reach": "attached",      "signingSecret": "string",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "_id": "string",      "role": "string",      "tenant": "string"    }  ]}

Acknowledge an alert, or an episode POST

The path segment is an alert id, or an episode id with `episodes=true`. Acknowledging closes it: an alert resolves, an episode ends its alerting window, and the next breaching reading opens a new one. The patient's triggers decide what else closing does (their `onAck` hooks). Under the default pack, acknowledging an open out-of-bed alert (103214-3) also silences the absence under way. Idempotent: acknowledging again returns the original time and actor. Acknowledging one that already closed only stamps the acknowledgement. ### Through ovok - **Who can call it:** Manager apps, and users whose access policy grants the capabilities. - **Capabilities, all required:** `signals_alerts:update`. Project admins have every capability; client applications get no admin bypass. - ovok sets `project` to your project, so you can leave it out. - If your access covers only some patients (anyone but project admins, manager or submitter apps, and anyone whose Patient access has no criteria), the alert's patient must be one you can update: ovok reads the alert first. A patient is named by its Signals id, or by its Medplum Patient id where Signals takes a `refId`; ovok asks Signals which patient a Signals id is.

Create a user POST

Mints an API client. `clientId` and `secret` are the Basic credential, chosen by the caller and never returned. `role` may be v1's lowercase. A SUBSCRIBER needs `webhookUrl` and at least one event. It is on `eventSchema` 2 unless the body says 1: on 2 its first Standard Webhooks signing secret is returned this once as `signingSecret`; on 1 it needs `webhookSecret` (v1 called it `secret`). `reach` is `attached` (default: the patients attached to it, as v1's) or `all` (every patient of the tenant, those enrolled later included). ### Through ovok - **Who can call it:** Manager apps, and users whose access policy grants the capabilities. - **Capabilities, all required:** `signals_webhooks:update`, `signals_events:read`. Project admins have every capability; client applications get no admin bypass. - Only subscribers are created through ovok, on event schema 2. ovok generates their id and Signals login, which they never use, and Signals generates the webhook signing secret. - It can reach any patient of your project without naming one, so it is for callers that reach every patient: project admins, manager or submitter apps, and anyone whose Patient access has no criteria.