Skip to content

Dry-run any input

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.

POST
/v1/events/validate

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.

Authorization

AuthorizationBearer <token>

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:validate

Query Parameters

input?string

Value in

  • "events"
  • "fhir"
  • "hl7v2"
site?string

A site's code (its slug), for example kb-main-ed.

Match^[a-z0-9][a-z0-9-]{1,62}$

Header Parameters

Api-Version?enum

Overrides the app's pinned dated version for this request.

Request Body

TypeScript Definitions

Use the request body type in TypeScript.

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

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/v1/events/validate" \  -H "Content-Type: application/json" \  -d '{    "events": [      {        "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"      }    ]  }'
{  "ack": "string",  "dropped": [    {      "from": "string",      "reason": "string"    }  ],  "events": [    {      "property1": null,      "property2": null    }  ],  "input": "events",  "mappingProfile": "string",  "object": "validation_result",  "results": [    {      "edflowEncounterId": "string",      "error": {        "code": "string",        "message": "string",        "path": "string",        "retryable": true      },      "id": "string",      "wouldBe": "accepted"    }  ],  "trace": [    {      "eventIndex": -9007199254740991,      "field": "string",      "from": "string",      "value": "string"    }  ],  "unmappedCodes": [    {      "code": "string",      "display": "string",      "system": "string"    }  ],  "warnings": [    {      "code": "string",      "message": "string"    }  ]}

Was this page helpful?