Skip to main content

Receive the encrypted records at the data push URL, as the HIU

Hosted by the HIU at the dataPushUrl it supplied in on-share, not by ABDM. The PHR application posts here directly; the path is whatever the data push URL names.

POST/health-information/transfer

The PHR app sends the records covered by the share, one entry per care context, each an encrypted FHIR bundle with its checksum, along with the PHR app's own ECDH key material so the HIU can derive the shared key and decrypt. The shape below is the placeholder body in NHA's Postman collection; it follows the M2 and M3 health information transfer.

Authorizations

Authorizationbearer tokenRequired

JWT access token issued by the ABDM session API after successful validation of client id and secret.

Headers

request-idstringRequired

Random UUID, a v4 style guid, unique per callback.

timestampstringRequired

ISO 8601 timestamp of when the callback was sent.

Body

pageNumberintegerRequired

This page, counting from 0.

pageCountintegerRequired

How many pages the transfer has.

transactionIdstringRequired

The transfer's identifier, from the share request.

entriesobject[]Required

One entry per care context shared.

entries.contentstring

Encrypted content of data packaged in a FHIR bundle.

entries.mediastring

MIME type of the content.

entries.checksumstring

Checksum of the content.

entries.careContextReferencestring
keyMaterialobjectRequired

ECDH key material for encrypting the records.

keyMaterial.cryptoAlgstringRequired
keyMaterial.curvestringRequired
keyMaterial.dhPublicKeyobjectRequired
keyMaterial.dhPublicKey.expirystringRequired
keyMaterial.dhPublicKey.parametersstringRequired
keyMaterial.dhPublicKey.keyValuestringRequired

The public key, base64.

keyMaterial.noncestringRequired

A 32 byte random nonce for this transfer.

Responses

202

Accepted. Decrypt, then call notify with RECEIVED, PARTIAL_RECEIVED or FAILED.

The callback never arrives

Where this fits​

You produce this callback by calling Reply to a share request with the data push URL and the encryption key..