Ingest one event
One normalized event (≤ 32 KiB). `accepted`, `duplicate`, `ignored` and `superseded` answer 200; `buffered` and `quarantined` answer 202; a data rejection is `422 event_rejected`; a reused id with another payload is `409 idempotency_conflict`; a processing error is `503` (retry the same event).
One normalized event (≤ 32 KiB). accepted, duplicate, ignored and superseded answer 200; buffered and quarantined answer 202; a data rejection is 422 event_rejected; a reused id with another payload is 409 idempotency_conflict; a processing error is 503 (retry the same event).
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:write
Header Parameters
Overrides the app's pinned dated version for this request.
1–255 characters of [A-Za-z0-9._:-] (a UUID v4 is recommended); never PHI. Stored 24 hours per app.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
A normalized event (event-schema §5, §8). Unknown fields are ignored and counted; prohibited fields reject the event.
A normalized event (event-schema §5, §8). Unknown fields are ignored and counted; prohibited fields reject the event.
Response Body
application/json
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
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/v1/events" \ -H "Content-Type: application/json" \ -d '{ "data": { "queueDepth": 0 }, "id": "kb-engine:hb:1789387331", "occurredAt": "2026-09-14T08:02:11-04:00", "source": { "feed": "adt", "kind": "ehr", "system": "epic" }, "specVersion": "1.0", "type": "system.heartbeat" }'{ "edflowEncounterId": "string", "id": "string", "ledgerId": "string", "note": "string", "object": "ingest_result", "status": "accepted", "warnings": [ { "code": "string", "path": "string" } ]}Cette page vous a-t-elle été utile?
Get an ingest event GET
One ledger row of the app's source by the source event id (URL-encoded). Metadata only.
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).