Read the config status of many patients
Read the config status of many patients, through Ovok's Signals gateway.
Read the config status of many patients
| Method | Path |
|---|---|
POST | /v1/signals/api/patient/config/bulk-status |
- Sandbox: available
- Staging: available
- Production: unknown
Each patient's configUpdatedAt and trigger codes, so a caller can confirm a push landed without re-reading every trigger; triggerFingerprints adds what each rule says.
Exactly one row per requested id, in the order asked. An id that resolves to nothing answers refId: null with no codes, as v1 did.
A POST because the id list is the request; it writes nothing.
Through ovok
- Who can call it: Manager apps, and users whose access policy grants the capabilities.
- Capabilities, all required:
signals_config:read. Project admins have every capability; client applications get no admin bypass. - If your access covers only some patients (anyone but project admins, manager or submitter apps, and anyone whose Patient access has no criteria), every patient the body names must be one you can read. 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.
Request
Body
Required. Schema V1BulkStatusDto.
| Field | Type | Required | Description |
|---|---|---|---|
ids | array of string | Yes | — |
Responses
| Status | Meaning |
|---|---|
200 | One status row per requested id, in request order. |
400 | The query carries a raw #, or more than 200 parameters. |
401 | Your ovok access token, or your client id and secret, are missing or invalid. |
403 | ovok refused the call: you lack a capability this route needs, or your session has no project, or your access covers only some patients and the call names none. From Signals: Authenticated, but the client's role does not permit this, or it is not attached to the patient. |
404 | A patient the call names is not one you can read. |
409 | Your project has no Signals tenant of its own (SIGNALS_TENANT_NOT_OWN), or it is moving to another one. |
415 | The body is not JSON. |
422 | A patient id is not 1 to 64 letters, digits, ., _, ~ or -. More than 100 patients are named. A patient is named by something other than a string. From Signals: The payload failed validation. |
429 | Too many requests. Retry after the seconds in Retry-After. |
500 | ovok hit an unexpected fault, such as your project having no Signals submitter. |
502 | Signals answered with something ovok couldn't use, or refused ovok's own credential. |
503 | Signals is unavailable. Retry after the seconds in Retry-After. |
504 | Signals did not answer in time. |
Example
curl --request POST 'https://api.sandbox.ovok.com/v1/signals/api/patient/config/bulk-status' \
--user "${OVOK_CLIENT_ID}:${OVOK_CLIENT_SECRET}" \
--header 'Content-Type: application/json' \
--data @body.jsonLast updated on