List ingest events
The ingest ledger of the app's source (30 days), ordered by `(updatedAt, id)`. Metadata only, never payloads.
The ingest ledger of the app's source (30 days), ordered by (updatedAt, id). Metadata only, never payloads.
OAuth 2.0 client credentials. private_key_jwt (SMART Backend Services asymmetric) is recommended; client secrets need an IP allowlist or mTLS outside the sandbox.
In: header
Scope: events:read
Query Parameters
Opaque cursor from nextCursor. Bound to the query's filters and valid for 24 hours.
^cur_[A-Za-z0-9_-]{8,2048}$An opaque enc_ id.
^enc_[0-9A-Za-z]{16,64}$Page size, 1 to 100 (default 25).
1 <= value <= 100RFC 3339 timestamp with an explicit offset (Z or ±hh:mm). A timestamp without an offset is refused.
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$date-timelength <= 40A site's code (its slug), for example kb-main-ed.
^[a-z0-9][a-z0-9-]{1,62}$Value in
- "accepted"
- "buffered"
- "quarantined"
- "ignored"
- "superseded"
- "rejected"
- "dead_lettered"
^[a-z_]+\.[a-z_]+$RFC 3339 timestamp with an explicit offset (Z or ±hh:mm). A timestamp without an offset is refused.
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$date-timelength <= 40Header Parameters
Overrides the app's pinned dated version for this request.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/v1/events"{ "data": [ { "authKind": "signature", "duplicateCount": -9007199254740991, "edflowEncounterId": "enc_k57a1x2m9q4t8v3w5x1y6z7a8b9c0d1e", "errorCode": "string", "errorPath": "string", "id": "string", "ledgerId": "led_k57a1x2m9q4t8v3w5x1y6z7a8b9c0d1e", "mappingProfile": "string", "note": "string", "object": "ingest_event", "occurredAt": "2026-09-14T15:00:11.402Z", "receivedAt": "2026-09-14T15:00:11.402Z", "site": "kb-main-ed", "status": "accepted", "type": "string", "updatedAt": "2026-09-14T15:00:11.402Z", "version": -9007199254740991 } ], "hasMore": true, "nextCursor": "string", "object": "list"}Cette page vous a-t-elle été utile?
Ingest a batch of events POST
1 to 100 normalized events, applied in array order, each atomically and independently. The 200 body is byte-compatible with `/ehr/v1/events`, so an engine can switch transports without changing response handling. A per-event `processing_error` is `retryable`: resend that event (same id).
Dry-run any input POST
Dry run for any input: nothing is persisted, notified or ledgered. The input kind comes from `Content-Type` (`application/json` events, `application/fhir+json`, `application/hl7-v2`, or JSON `{ messages }` with `?input=hl7v2`). The environment checks (processing id, sandbox tripwire) apply.