Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Messages

The message browser, the quarantine, and resending or correcting messages.

GET /api/v1/interfaces/{name}/messages

An interface's messages, newest first, a page at a time.

Who may call it: anyone signed in (a person or a token).

Parameters

InType
name (required)pathtextInterface name.
statusquerytextOnly messages with this overall status.
beforequerynumberOnly messages older than this id (the previous page's next_before).
limitquerynumberPage size, at most 500 (default 50).

Answers

POST /api/v1/messages/dismiss

Dismiss many messages' quarantined deliveries at once (the quarantine screen's "dismiss selected"), in one transaction, with one reason. Operator.

Who may call it: an operator or admin.

Body (application/json): BulkDismissRequest

Answers

POST /api/v1/messages/resend

Send many messages again at once (the quarantine screen's "resend selected"): as POST /messages/{id}/resend for each, in one transaction. Operator.

Who may call it: an operator or admin.

Body (application/json): BulkResendRequest

Answers

GET /api/v1/messages/{id}

One message: what was received, and what each destination did with it.

Who may call it: anyone signed in (a person or a token).

Parameters

InType
id (required)pathnumberMessage id.

Answers

POST /api/v1/messages/{id}/dismiss

Dismiss a message's quarantined deliveries: nobody will fix or resend them, so they leave the quarantine (the delivery becomes filtered, "dismissed by NAME: reason"). Nothing is deleted: the message and what happened to it stay, and the dismissal is in the audit log with the reason. Works the same in the held area. Operator.

Who may call it: an operator or admin.

Parameters

InType
id (required)pathnumberMessage id.

Body (application/json): DismissRequest

Answers

POST /api/v1/messages/{id}/edit

Queue a corrected copy of a message. The original stays as it was received; its quarantined deliveries to the copy's destinations are marked replaced. The copy is a new message (new id, so a new meta.id), never deduplicated, with the original's origin. Refused for a destination where the original is still pending (it may be being sent right now). Operator.

Who may call it: an operator or admin.

Parameters

InType
id (required)pathnumberThe message to correct.

Body (application/json): EditRequest

Answers

POST /api/v1/messages/{id}/resend

Send a message again: its quarantined deliveries, or those to the destinations named (whatever they ended as: a replay). Each goes back to pending in place and is sent next in its lane. Pending deliveries are left alone. Operator.

Who may call it: an operator or admin.

Parameters

InType
id (required)pathnumberMessage id.

Body (application/json): ResendRequest

Answers

GET /api/v1/quarantine

Quarantined deliveries across this engine's interfaces (or one interface or destination), newest message first: what needs a person. Counts per destination are in GET /interfaces.

Who may call it: anyone signed in (a person or a token).

Parameters

InType
interfacequerytextOnly this interface's.
destinationquerytextOnly this destination's (with interface, that interface's; without, any interface's destination of that name).
beforequerytextThe previous page's next_before.
limitquerynumberPage size, at most 500 (default 100).

Answers

Shapes

The JSON bodies the operations above take and return.

ActionInfo

FieldType
actiontextresend (the delivery went back to pending), edit (a corrected copy was queued) or dismiss (a quarantined delivery was closed without sending).
attime (RFC 3339)
bytextThe user or token that did it.
copy (optional)number or nulledit: the copy's id.
destinationtext
previous_attempts (optional)number or null
previous_error (optional)text or null
previous_status (optional)text or nullThe delivery before: sent, filtered or quarantined (none: there was none).
reason (optional)text or null

BulkDismissRequest

FieldType
destination (optional)text or nullOnly the destination with this name in each message's interface. Without it: all quarantined deliveries of each message.
idslist of numberMessage ids (at most 500), from any interfaces.
reasontextWhy. Required; kept with every dismissal and in the audit log.

BulkResendRequest

FieldType
destination (optional)text or nullResend to the destination with this name in each message's interface, whatever its delivery ended as (a replay). Without it: every destination that quarantined each message.
idslist of numberMessage ids (at most 500), from any interfaces.
quarantined_only (optional)true or false or nullOnly deliveries still quarantined, even with destination named (what the quarantine screen sends: a delivery someone resolved meanwhile is skipped, not replayed). Default: true without destination, false with it.
reason (optional)text or nullWhy (kept with each action).

BulkResendResult

FieldType
resentlist of ResentMessageThe messages sent again, by id.
skippedlist of numberIds with nothing to resend: not found, not run by this engine, a duplicate, or no delivery that matched (pending already, or not quarantined).

DeliveryInfo

FieldType
attemptsnumber
destinationtext
last_error (optional)text or null
output (optional)text or nullWhat was sent, for destinations with save_output: true.
statustextpending, sent, filtered or quarantined.

DismissRequest

FieldType
destinations (optional)list of text or nullDismiss only these destinations' quarantined deliveries. Without it: all of the message's.
reasontextWhy nobody will fix or resend these. Required: it is kept in the audit log.

DismissResult

FieldType
dismissedlist of ResentMessageThe messages with a delivery dismissed (previous_status is quarantined; previous_error is why it was).
skippedlist of numberIds with nothing to dismiss: not found, not run by this engine, or no delivery still quarantined (someone resolved it meanwhile).

EditRequest

FieldType
destinations (optional)list of text or nullWhere the copy goes. Without it: the destinations that quarantined the original.
payloadtextThe corrected message, in full (HL7 segments separated by \r).
reason (optional)text or nullWhy (kept with the action).

EditResult

FieldType
destinationslist of textWhere the copy goes.
idnumberThe copy's id (a new message, queued at the back of its lane).
interfacetext
originalnumberThe message it corrects.
replacedlist of textDestinations whose quarantined delivery of the original is now filtered ("replaced by edited copy N").

ErrorBody

FieldType
errortextWhat went wrong, in plain words.

MessageDetail

MessageSummary or object

MessagePage

FieldType
messageslist of MessageSummaryNewest first.
next_before (optional)number or nullPass as before for the next (older) page; absent on the last page.

MessageSummary

FieldType
control_id (optional)text or nullMSH-10 for HL7.
idnumber
interfacetext
last_error (optional)text or nullWhy it was quarantined or filtered (per destination when there are several).
ordering_key (optional)text or null
origin (optional)number or nullRouted from another interface: the id of the message there (GET /messages/{origin}).
received_attime (RFC 3339)
sizenumberPayload size in bytes.
statustextpending, sent, filtered, quarantined or duplicate: the overall status (pending until every destination is done).
updated_attime (RFC 3339)

QuarantinePage

FieldType
deliverieslist of QuarantinedDeliveryNewest message first; a message quarantined by two destinations is listed twice.
next_before (optional)text or nullPass as before for the next page; absent on the last page.

QuarantinedDelivery

FieldType
attemptsnumber
control_id (optional)text or nullMSH-10 for HL7.
destinationtext
idnumberThe message's id.
interfacetext
last_error (optional)text or nullWhy.
ordering_key (optional)text or null
quarantined_attime (RFC 3339)
received_attime (RFC 3339)
sizenumberPayload size in bytes.

ResendRequest

FieldType
destinations (optional)list of text or nullResend to these destinations, whatever their delivery ended as (sent and filtered too: a replay). Without it: every destination that quarantined the message.
reason (optional)text or nullWhy (kept with the action).

ResentDelivery

FieldType
destinationtext
previous_attemptsnumber
previous_error (optional)text or null
previous_statustextWhat the delivery was before: sent, filtered or quarantined.

ResentMessage

FieldType
destinationslist of ResentDeliveryThe deliveries now pending again.
idnumber
interfacetext