Skip to content

Process a FHIR message

`$process-message`: a `message` Bundle whose first entry is a `MessageHeader`. Synchronous; duplicates (`Bundle.id` + `MessageHeader.id`, 30 days) replay the stored response. Data rejections answer 200 with `fatal-error`; transient failures answer 503 with `Retry-After`.

POST
/v1/fhir/$process-message

$process-message: a message Bundle whose first entry is a MessageHeader. Synchronous; duplicates (Bundle.id + MessageHeader.id, 30 days) replay the stored response. Data rejections answer 200 with fatal-error; transient failures answer 503 with Retry-After.

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: fhir:write

Query Parameters

site?string
Lengthlength <= 64

Header Parameters

Api-Version?enum

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

Idempotency-Key?string

1–255 characters of [A-Za-z0-9._:-] (a UUID v4 is recommended); never PHI. Stored 24 hours per app.

Request Body

application/fhir+json

TypeScript Definitions

Use the request body type in TypeScript.

A FHIR R4 Bundle (≤ 200 entries). In the sandbox it carries the HTEST test tag (api-platform §4.4).

Response Body

application/fhir+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

application/problem+json

curl -X POST "https://example.com/v1/fhir/$process-message" \  -H "Content-Type: application/fhir+json" \  -d '<meta>    <tag>      <code>HTEST</code>      <system>http://terminology.hl7.org/CodeSystem/v3-ActReason</system>    </tag>  </meta>  <resourceType>Bundle</resourceType>  <type>message</type>'
{  "property1": null,  "property2": null}

Was this page helpful?