StandaloneAPI referenceEvents

List webhook events

List webhook events, through Ovok's Signals gateway.

List webhook events

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

Every event addressed to the caller, oldest first and keyset paged by cursor, each with its delivery status and payload: expired, failed and held ones too. An event is listed once it is two minutes old, so a page never moves past one a slower transaction has yet to commit. Filter by types, status, patientId, or (for a MANAGER) subscriberId.

Through ovok

  • Who can call it: Manager apps, and users whose access policy grants the capabilities.
  • Capabilities, all required: signals_events: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), name them with patientId, each one you can read, at most 100. Signals then pages over just those patients, so pages and totals stay true. 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

Query parameters

NameTypeRequiredDescription
cursorstringNoOpaque keyset cursor: a previous answer's nextCursor, passed back verbatim.
limitnumberNoPage size, 1 to 200. Defaults to 50.
typesarray of stringNoOnly these event types, comma-separated: alert.trigger,patient.inactive.
statusfailed, delivered, pending, expired, heldNoOnly deliveries in this state.
patientIdstringNoOnly events about this patient: its Signals id, as the payload's patient.
subscriberIdstringNoOnly this subscriber's deliveries, by Signals id or clientId. A subscriber may name only itself.

Responses

StatusMeaning
200One page of events.
400The query carries a raw #, or more than 200 parameters.
401Your ovok access token, or your client id and secret, are missing or invalid.
403ovok 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. Or: A SUBSCRIBER named another subscriber.
404A patient the call names is not one you can read. From Signals: subscriberId names no subscriber in this tenant.
409Your project has no Signals tenant of its own (SIGNALS_TENANT_NOT_OWN), or it is moving to another one.
422A patient id is not 1 to 64 letters, digits, ., _, ~ or -. More than 100 patients are named. From Signals: A query parameter failed validation.
429Too many requests. Retry after the seconds in Retry-After.
500ovok hit an unexpected fault, such as your project having no Signals submitter.
502Signals answered with something ovok couldn't use, or refused ovok's own credential.
503Signals is unavailable. Retry after the seconds in Retry-After.
504Signals did not answer in time.

Example

curl --request GET 'https://api.sandbox.ovok.com/v1/signals/api/events' \
  --user "${OVOK_CLIENT_ID}:${OVOK_CLIENT_SECRET}"

Last updated on

On this page