IHD LabFlow — Partner API v4 (2.27.2)

Download OpenAPI specification:

Overview

Partner API v4 (/v4/partner/...) delivers FHIR-aligned JSON and HTTPS webhooks instead of the v3 inbox polling model. Use the same x-api-key; IHD must enable v4 for your organization.

Also: v3 · legacy · all · home

Partner API v4 models

JSON shapes for Partner API v4 requests, responses, and webhook payloads (FHIR-aligned field names). Each row links to the full schema definition.

Model Reference
Address Address
CodeableConcept CodeableConcept
Coding Coding
Condition Condition
ContactPoint ContactPoint
Coverage Coverage
CreateKitOrderRequest CreateKitOrderRequest
CreateLabOrderRequest CreateLabOrderRequest
CreateWebhookEndpointRequest CreateWebhookEndpointRequest
CreateWebhookEndpointResponse CreateWebhookEndpointResponse
DiagnosticReport DiagnosticReport
DocumentReference DocumentReference
HumanName HumanName
Identifier Identifier
LabWork LabWork
Observation Observation
OrderStatusChangedEventData OrderStatusChangedEventData
PagePagination PagePagination
PartnerEventListResponse PartnerEventListResponse
PartnerEventLogEntry PartnerEventLogEntry
PartnerEventType PartnerEventType
PartnerOrder PartnerOrder
PartnerOrderCancellation PartnerOrderCancellation
PartnerOrderExtension PartnerOrderExtension
PartnerOrderListResponse PartnerOrderListResponse
PartnerOrderSummary PartnerOrderSummary
PatchWebhookEndpointRequest PatchWebhookEndpointRequest
Patient Patient
Practitioner Practitioner
PractitionerListItem PractitionerListItem
PractitionerListResponse PractitionerListResponse
PractitionerQualification PractitionerQualification
ProviderIdentifierRow ProviderIdentifierRow
ProviderOrganizationRole ProviderOrganizationRole
Quantity Quantity
ServiceRequest ServiceRequest
ServiceRequestRequester ServiceRequestRequester
Specimen Specimen
SupplyDelivery SupplyDelivery
SupplyDeliveryExtension SupplyDeliveryExtension
TestWebhookResponse TestWebhookResponse
V3CreateOrderResponse V3CreateOrderResponse
WebhookDelivery WebhookDelivery
WebhookDeliveryListResponse WebhookDeliveryListResponse
WebhookEndpoint WebhookEndpoint
WebhookEndpointListResponse WebhookEndpointListResponse
WebhookEvent WebhookEvent

Partner workflows (v4)

Scenario Start here
Kit orders Create kit order v4
Lab orders Create lab order v4
Push events Webhooks

Partner API v4 (detail)

Partner API v4 with HL7 FHIR R4–aligned JSON field names. Available when IHD enables v4 for your organization (same x-api-key as v3). v3 and v4 can run in parallel during migration.

Notifications: Register webhooks for push delivery. GET /events replays the same envelopes from your organization's event log—use for reconciliation, not as a substitute for webhooks in steady state.

Webhook verification: every webhook is a POST with a JSON body (the WebhookEvent envelope) and these headers:

Header Value
X-LabFlow-Event-Id Event id (UUID). The same event can arrive more than once (e.g. after a retry) — use this to de-duplicate.
X-LabFlow-Timestamp Unix time in seconds when this attempt was signed.
X-LabFlow-Signature v1,<hex> where <hex> is HMAC-SHA256 of {X-LabFlow-Timestamp}.{rawBody} keyed with your endpoint's signing secret.
X-LabFlow-Api-Version Partner API version of the payload.

Verify against the raw request body before parsing it, compare signatures in constant time, and reject timestamps far from your clock (e.g. more than 5 minutes) to prevent replay.

Delivery and retries: respond with any 2xx within 30 seconds to acknowledge. Anything else (non-2xx, timeout, connection error) is retried after roughly 5 min, 15 min, 1 h, 4 h, then every 12 h, up to 10 attempts in total, after which the delivery is marked failed. Deliveries to an endpoint that has been disabled or deleted are marked aborted. Track outcomes with GET /webhooks/deliveries; replay missed events with GET /events.

Endpoints: webhook URLs must use https://. If subscribedEvents is omitted on create, the endpoint is subscribed to order.status.changed, order.resulted and order.cancelled.

Published paths are prefixed /v4/partner on the same base URLs as Partner API v3.

Partner v4 — Events

Organization event log with the same payloads as webhooks. For replay and reconciliation—not a v3-style inbox. Requires webhook-management permission.

Paginated webhook outbox / event log

Same JSON envelopes as webhook POSTs (payload), newest first. Use for reconciliation after outages—not as a substitute for v3 inbox polling. Requires the orders permission on the API key.

Authorizations:
apiKey
query Parameters
page
integer
Default: 1
limit
integer <= 100
Default: 25

Responses

Response samples

Content type
application/json
{
}

Partner v4 — Orders

FHIR-aligned order list, retrieve, and kit/lab create. Same API key as v3; organization must have Partner API v4 enabled.

Create kit fulfillment order

Creates a kit fulfillment order. Response includes { id, success }; call GET /orders/{orderId} for the full PartnerOrder resource.

Authorizations:
apiKey
Request Body schema: application/json
required
required
object (ServiceRequest)

FHIR ServiceRequest (placer order / requisition)

Array of objects (Identifier)
status
string
intent
string
Value: "order"
object (CodeableConcept)
authoredOn
string <date-time>
object (ServiceRequestRequester)
required
object (Patient)

FHIR R4 Patient (partner profile)

Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (ContactPoint)
gender
string
Enum: "male" "female" "unknown" "other"
birthDate
string <date>
Array of objects (Address)
object (Specimen)
Array of objects (Identifier)
object
receivedTime
string <date-time>
object (Identifier)
object (PartnerOrderExtension)
object or null
object

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Create lab order

Creates a lab order. Set the ordering clinician on serviceRequest.requester (NPI and name).

Authorizations:
apiKey
Request Body schema: application/json
required
required
object (ServiceRequest)

FHIR ServiceRequest (placer order / requisition)

Array of objects (Identifier)
status
string
intent
string
Value: "order"
object (CodeableConcept)
authoredOn
string <date-time>
object (ServiceRequestRequester)
required
object (Patient)

FHIR R4 Patient (partner profile)

Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (ContactPoint)
gender
string
Enum: "male" "female" "unknown" "other"
birthDate
string <date>
Array of objects (Address)
object (Specimen)
Array of objects (Identifier)
object
receivedTime
string <date-time>
object (Identifier)
object (PartnerOrderExtension)
object or null
object

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get order

Returns PartnerOrder with PHI slices when expand includes patient/recipient.

Authorizations:
apiKey
path Parameters
orderId
required
string
query Parameters
expand
string

Responses

Response samples

Content type
application/json
{
}

List orders (PartnerOrderSummary)

Paginated orders for the API key's organization. Use expand for optional FHIR slices.

Authorizations:
apiKey
query Parameters
page
integer >= 1
Default: 1
pageSize
integer <= 100
Default: 25
filter[status]
string
expand
string

Comma-separated e.g. patient,recipient,observations,partnerMetadata

Responses

Response samples

Content type
application/json
{
}

Partner v4 — Practitioners

Ordering clinicians (NPI) for your organization, aligned with Partner API v3 provider data.

List ordering providers for the organization

Providers linked to your organization (the API key's org). Any org_id query parameter is ignored. Requires the orders permission on the API key.

Authorizations:
apiKey
query Parameters
page
integer
Default: 1
limit
integer <= 100
Default: 20
active_status
string
Enum: "ACTIVE" "INACTIVE" "RETIRED"
q
string

Responses

Response samples

Content type
application/json
{
}

Partner v4 — Webhooks

Register HTTPS endpoints, rotate signing secrets, and inspect delivery attempts.

Create webhook endpoint

Returns signingSecret once; store it securely.

Authorizations:
apiKey
Request Body schema: application/json
required
url
required
string <uri>

Must start with https://.

description
string
enabled
boolean
Default: true
payloadTier
string
Default: "summary"
Enum: "summary" "standard" "full"

Accepted and stored for future use. Every webhook currently carries the summary payload without patient/recipient details, regardless of this value.

includeSubject
boolean
Default: false

Accepted and stored for future use; not applied to payloads yet.

subscribedEvents
Array of strings (PartnerEventType)
Items Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

Omit (or send an empty array) to subscribe to the defaults: order.status.changed, order.resulted, order.cancelled.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get webhook endpoint metadata

Authorizations:
apiKey
path Parameters
endpointId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
}

List deliveries

Delivery attempts for your organization's endpoints, newest first, including the payload that was sent.

Authorizations:
apiKey
query Parameters
endpointId
string <uuid>

Only deliveries to this endpoint.

page
integer >= 1
Default: 1
limit
integer <= 100
Default: 25

Responses

Response samples

Content type
application/json
{
}

List webhook endpoints

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
{
}

Rotate HMAC signing secret

Authorizations:
apiKey
path Parameters
endpointId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
}

Send webhook.test event

Records a webhook.test event and delivers it to this endpoint only (with the usual retries). Use the returned eventId with GET /webhooks/deliveries to see the outcome.

Authorizations:
apiKey
path Parameters
endpointId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
}

Soft-delete webhook endpoint

Authorizations:
apiKey
path Parameters
endpointId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
}

Update webhook endpoint

Authorizations:
apiKey
path Parameters
endpointId
required
string <uuid>
Request Body schema: application/json
url
string <uri>

Must start with https://.

description
string
enabled
boolean
payloadTier
string
Enum: "summary" "standard" "full"

Accepted and stored for future use. Every webhook currently carries the summary payload without patient/recipient details, regardless of this value.

includeSubject
boolean

Accepted and stored for future use; not applied to payloads yet.

subscribedEvents
Array of strings (PartnerEventType)
Items Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

Replaces the full subscription list when provided.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Partner v4 — Models

FHIR-aligned JSON shapes for v4 (listed under this group in the sidebar).

ErrorResponse

success
boolean
error
string
{
}

Identifier

system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
{}

HumanName

use
string
Enum: "official" "usual" "nickname"
family
string
given
Array of strings
suffix
Array of strings
text
string
{
}

Address

use
string
Enum: "home" "work" "temp" "billing" "shipping"
line
Array of strings
city
string
state
string
postalCode
string
country
string
{
}

ContactPoint

system
string
Enum: "phone" "email" "url"
value
string
use
string
Enum: "home" "work" "mobile"
{
}

Patient

Array of objects (Identifier)
Array
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
Array of objects (HumanName)
Array
use
string
Enum: "official" "usual" "nickname"
family
string
given
Array of strings
suffix
Array of strings
text
string
Array of objects (ContactPoint)
Array
system
string
Enum: "phone" "email" "url"
value
string
use
string
Enum: "home" "work" "mobile"
gender
string
Enum: "male" "female" "unknown" "other"
birthDate
string <date>
Array of objects (Address)
Array
use
string
Enum: "home" "work" "temp" "billing" "shipping"
line
Array of strings
city
string
state
string
postalCode
string
country
string
{
}

Coding

system
string
code
string
display
string
{
}

CodeableConcept

Array of objects (Coding)
Array
system
string
code
string
display
string
text
string
{
}

Quantity

value
number
unit
string
system
string
{
}

PractitionerQualification

object (CodeableConcept)
Array of objects (Coding)
text
string
{
}

Practitioner

Array of objects (Identifier)
Array
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
Array of objects (HumanName)
Array
use
string
Enum: "official" "usual" "nickname"
family
string
given
Array of strings
suffix
Array of strings
text
string
Array of objects (PractitionerQualification)
Array
object (CodeableConcept)
{
}

ServiceRequestRequester

Array of objects (Identifier)
Array
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
Array of objects (HumanName)
Array
use
string
Enum: "official" "usual" "nickname"
family
string
given
Array of strings
suffix
Array of strings
text
string
Array of objects (PractitionerQualification)
Array
object (CodeableConcept)
{
}

ServiceRequest

Array of objects (Identifier)
Array
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
status
string
intent
string
Value: "order"
object (CodeableConcept)
Array of objects (Coding)
text
string
authoredOn
string <date-time>
object (ServiceRequestRequester)
Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (PractitionerQualification)
{
}

Specimen

Array of objects (Identifier)
Array
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
object
collectedDateTime
string <date-time>
receivedTime
string <date-time>
object (Identifier)
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
{
}

Observation

status
string
Enum: "final" "preliminary" "cancelled" "registered"
object (CodeableConcept)
Array of objects (Coding)
text
string
valueString
string
object (Quantity)
value
number
unit
string
system
string
Array of objects
Array
text
string
Array of objects
Array
Array of objects (Coding)
{
}

DocumentReference

status
string
Value: "current"
object (CodeableConcept)
Array of objects (Coding)
text
string
url
string <uri>
expiration
string <date-time>
{
}

DiagnosticReport

Array of objects (Identifier)
Array
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
status
string
Enum: "registered" "partial" "final" "amended" "cancelled"
effectiveDateTime
string <date-time>
issued
string <date-time>
conclusion
string
Array of objects (Observation)
Array
status
string
Enum: "final" "preliminary" "cancelled" "registered"
object (CodeableConcept)
valueString
string
object (Quantity)
Array of objects
Array of objects
Array of objects (DocumentReference)
Array
status
string
Value: "current"
object (CodeableConcept)
url
string <uri>
expiration
string <date-time>
{
}

LabWork

id
string
accessionNumber
string or null
externalAccession
string or null
status
string
object or null (Practitioner)
Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (PractitionerQualification)
{
}

SupplyDeliveryExtension

direction
string
Enum: "outbound" "return"
carrier
string or null
serviceLevel
string or null
trackingUrl
string or null <uri>
{
}

SupplyDelivery

id
string
status
string
Enum: "in-progress" "completed" "aborted"
object
Array of objects (Identifier)
occurrenceDateTime
string <date-time>
object (SupplyDeliveryExtension)
direction
string
Enum: "outbound" "return"
carrier
string or null
serviceLevel
string or null
trackingUrl
string or null <uri>
{
}

Coverage

Array of objects (Identifier)
Array
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
status
string
Enum: "active" "cancelled"
subscriberId
string or null
object (HumanName)
use
string
Enum: "official" "usual" "nickname"
family
string
given
Array of strings
suffix
Array of strings
text
string
Array of objects
Array
display
string
Array of objects
Array
value
string
{
}

Condition

object (CodeableConcept)
Array of objects (Coding)
text
string
onsetDateTime
string <date-time>
{
}

PartnerOrderExtension

object or null
property name*
additional property
any
object
carrier
string
serviceLevel
string
{
}

PartnerOrderSummary

apiVersion
required
string
required
Array of objects (Identifier)
Array
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
orgId
required
string
kind
required
string
Enum: "kit" "lab"
status
required
string
statusReason
string or null
registrationState
required
string
Enum: "registered" "unregistered"
object or null (ServiceRequest)

FHIR ServiceRequest (placer order / requisition)

Array of objects (Identifier)
status
string
intent
string
Value: "order"
object (CodeableConcept)
authoredOn
string <date-time>
object (ServiceRequestRequester)
object or null (Specimen)
Array of objects (Identifier)
object
receivedTime
string <date-time>
object (Identifier)
object or null (DiagnosticReport)
Array of objects (Identifier)
status
string
Enum: "registered" "partial" "final" "amended" "cancelled"
effectiveDateTime
string <date-time>
issued
string <date-time>
conclusion
string
Array of objects (Observation)
Array of objects (DocumentReference)
object or null (LabWork)
id
string
accessionNumber
string or null
externalAccession
string or null
status
string
object or null (Practitioner)
object or null (Patient)

FHIR R4 Patient (partner profile)

Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (ContactPoint)
gender
string
Enum: "male" "female" "unknown" "other"
birthDate
string <date>
Array of objects (Address)
object or null (Patient)

FHIR R4 Patient (partner profile)

Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (ContactPoint)
gender
string
Enum: "male" "female" "unknown" "other"
birthDate
string <date>
Array of objects (Address)
Array of objects (SupplyDelivery)
Array
id
string
status
string
Enum: "in-progress" "completed" "aborted"
object
occurrenceDateTime
string <date-time>
object (SupplyDeliveryExtension)
object (PartnerOrderExtension)
object or null
object
{
}

PartnerOrderCancellation

reason
string
recorded
string <date-time>
note
string or null
{
}

PartnerOrder

apiVersion
required
string
required
Array of objects (Identifier)
Array
system
required
string <uri>
value
required
string
use
string
Enum: "usual" "official" "temp"
orgId
required
string
kind
required
string
Enum: "kit" "lab"
status
required
string
statusReason
string or null
registrationState
required
string
Enum: "registered" "unregistered"
object or null (ServiceRequest)

FHIR ServiceRequest (placer order / requisition)

Array of objects (Identifier)
status
string
intent
string
Value: "order"
object (CodeableConcept)
authoredOn
string <date-time>
object (ServiceRequestRequester)
object or null (Specimen)
Array of objects (Identifier)
object
receivedTime
string <date-time>
object (Identifier)
object or null (DiagnosticReport)
Array of objects (Identifier)
status
string
Enum: "registered" "partial" "final" "amended" "cancelled"
effectiveDateTime
string <date-time>
issued
string <date-time>
conclusion
string
Array of objects (Observation)
Array of objects (DocumentReference)
object or null (LabWork)
id
string
accessionNumber
string or null
externalAccession
string or null
status
string
object or null (Practitioner)
object or null (Patient)

FHIR R4 Patient (partner profile)

Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (ContactPoint)
gender
string
Enum: "male" "female" "unknown" "other"
birthDate
string <date>
Array of objects (Address)
object or null (Patient)

FHIR R4 Patient (partner profile)

Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (ContactPoint)
gender
string
Enum: "male" "female" "unknown" "other"
birthDate
string <date>
Array of objects (Address)
Array of objects (SupplyDelivery)
Array
id
string
status
string
Enum: "in-progress" "completed" "aborted"
object
occurrenceDateTime
string <date-time>
object (SupplyDeliveryExtension)
object (PartnerOrderExtension)
object or null
object
Array of objects or null (Coverage)
Array
Array of objects (Identifier)
status
string
Enum: "active" "cancelled"
subscriberId
string or null
object (HumanName)
Array of objects
Array of objects
Array of objects or null (Condition)
Array
object (CodeableConcept)
onsetDateTime
string <date-time>
object or null (PartnerOrderCancellation)
reason
string
recorded
string <date-time>
note
string or null
{
}

PartnerOrderListResponse

Array of objects (PartnerOrderSummary)
Array
apiVersion
required
string
required
Array of objects (Identifier)
orgId
required
string
kind
required
string
Enum: "kit" "lab"
status
required
string
statusReason
string or null
registrationState
required
string
Enum: "registered" "unregistered"
object or null (ServiceRequest)

FHIR ServiceRequest (placer order / requisition)

object or null (Specimen)
object or null (DiagnosticReport)
object or null (LabWork)
object or null (Patient)

FHIR R4 Patient (partner profile)

object or null (Patient)

FHIR R4 Patient (partner profile)

Array of objects (SupplyDelivery)
object (PartnerOrderExtension)
object
currentPage
integer
pageSize
integer
total
integer
totalPages
integer
{
}

CreateKitOrderRequest

required
object (ServiceRequest)

FHIR ServiceRequest (placer order / requisition)

Array of objects (Identifier)
status
string
intent
string
Value: "order"
object (CodeableConcept)
authoredOn
string <date-time>
object (ServiceRequestRequester)
required
object (Patient)

FHIR R4 Patient (partner profile)

Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (ContactPoint)
gender
string
Enum: "male" "female" "unknown" "other"
birthDate
string <date>
Array of objects (Address)
object (Specimen)
Array of objects (Identifier)
object
receivedTime
string <date-time>
object (Identifier)
object (PartnerOrderExtension)
object or null
object
{
}

CreateLabOrderRequest

required
object (ServiceRequest)

FHIR ServiceRequest (placer order / requisition)

Array of objects (Identifier)
status
string
intent
string
Value: "order"
object (CodeableConcept)
authoredOn
string <date-time>
object (ServiceRequestRequester)
required
object (Patient)

FHIR R4 Patient (partner profile)

Array of objects (Identifier)
Array of objects (HumanName)
Array of objects (ContactPoint)
gender
string
Enum: "male" "female" "unknown" "other"
birthDate
string <date>
Array of objects (Address)
object (Specimen)
Array of objects (Identifier)
object
receivedTime
string <date-time>
object (Identifier)
object (PartnerOrderExtension)
object or null
object
{
}

V3CreateOrderResponse

id
string
success
boolean
{
}

PartnerEventType

string (PartnerEventType)
Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

order.documents.available is reserved and not emitted yet. webhook.test is only sent by POST /webhooks/endpoints/{endpointId}/test.

"webhook.test"

OrderStatusChangedEventData

object (PartnerOrderSummary)
apiVersion
required
string
required
Array of objects (Identifier)
orgId
required
string
kind
required
string
Enum: "kit" "lab"
status
required
string
statusReason
string or null
registrationState
required
string
Enum: "registered" "unregistered"
object or null (ServiceRequest)

FHIR ServiceRequest (placer order / requisition)

object or null (Specimen)
object or null (DiagnosticReport)
object or null (LabWork)
object or null (Patient)

FHIR R4 Patient (partner profile)

object or null (Patient)

FHIR R4 Patient (partner profile)

Array of objects (SupplyDelivery)
object (PartnerOrderExtension)
previousStatus
string
currentStatus
string
changedFields
Array of strings
{
}

WebhookEvent

apiVersion
string
id
string
type
string (PartnerEventType)
Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

order.documents.available is reserved and not emitted yet. webhook.test is only sent by POST /webhooks/endpoints/{endpointId}/test.

createdAt
string <date-time>
orgId
string
object (OrderStatusChangedEventData)
object (PartnerOrderSummary)
previousStatus
string
currentStatus
string
changedFields
Array of strings
{
}

WebhookEndpoint

id
string <uuid>
url
string <uri>
enabled
boolean
description
string or null
payloadTier
string
Enum: "summary" "standard" "full"

Accepted and stored for future use. Every webhook currently carries the summary payload without patient/recipient details, regardless of this value.

includeSubject
boolean

Accepted and stored for future use; not applied to payloads yet.

subscribedEvents
Array of strings (PartnerEventType)
Items Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"
createdAt
string <date-time>
updatedAt
string <date-time>
deleted
boolean

True once the endpoint has been deleted.

deletedAt
string or null <date-time>
{
}

WebhookEndpointListResponse

Array of objects (WebhookEndpoint)
Array
id
string <uuid>
url
string <uri>
enabled
boolean
description
string or null
payloadTier
string
Enum: "summary" "standard" "full"

Accepted and stored for future use. Every webhook currently carries the summary payload without patient/recipient details, regardless of this value.

includeSubject
boolean

Accepted and stored for future use; not applied to payloads yet.

subscribedEvents
Array of strings (PartnerEventType)
Items Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"
createdAt
string <date-time>
updatedAt
string <date-time>
deleted
boolean

True once the endpoint has been deleted.

deletedAt
string or null <date-time>
{
}

CreateWebhookEndpointRequest

url
required
string <uri>

Must start with https://.

description
string
enabled
boolean
Default: true
payloadTier
string
Default: "summary"
Enum: "summary" "standard" "full"

Accepted and stored for future use. Every webhook currently carries the summary payload without patient/recipient details, regardless of this value.

includeSubject
boolean
Default: false

Accepted and stored for future use; not applied to payloads yet.

subscribedEvents
Array of strings (PartnerEventType)
Items Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

Omit (or send an empty array) to subscribe to the defaults: order.status.changed, order.resulted, order.cancelled.

{
}

CreateWebhookEndpointResponse

id
string <uuid>
signingSecret
string
subscribedEvents
Array of strings (PartnerEventType)
Items Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"
{
}

PatchWebhookEndpointRequest

url
string <uri>

Must start with https://.

description
string
enabled
boolean
payloadTier
string
Enum: "summary" "standard" "full"

Accepted and stored for future use. Every webhook currently carries the summary payload without patient/recipient details, regardless of this value.

includeSubject
boolean

Accepted and stored for future use; not applied to payloads yet.

subscribedEvents
Array of strings (PartnerEventType)
Items Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

Replaces the full subscription list when provided.

{
}

PagePagination

page
integer
limit
integer
total
integer
{
}

WebhookDelivery

id
string <uuid>
eventId
string <uuid>

Same value as the X-LabFlow-Event-Id header.

endpointId
string <uuid>
status
string
Enum: "pending" "delivered" "failed" "aborted"

pending: not yet delivered, a retry is scheduled. delivered: your endpoint returned 2xx. failed: gave up after the maximum number of attempts. aborted: the endpoint was disabled or deleted before delivery.

attempt
integer
httpStatus
integer or null

HTTP status your endpoint returned on the last attempt.

error
string or null

Last error (network error or HTTP <status>: <first 500 chars of body>).

createdAt
string <date-time>
orgId
string
type
string (PartnerEventType)
Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

order.documents.available is reserved and not emitted yet. webhook.test is only sent by POST /webhooks/endpoints/{endpointId}/test.

object (WebhookEvent)
apiVersion
string
id
string
type
string (PartnerEventType)
Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

order.documents.available is reserved and not emitted yet. webhook.test is only sent by POST /webhooks/endpoints/{endpointId}/test.

createdAt
string <date-time>
orgId
string
object (OrderStatusChangedEventData)
apiVersion
string
occurredAt
string <date-time>
{
}

WebhookDeliveryListResponse

Array of objects (WebhookDelivery)
Array
id
string <uuid>
eventId
string <uuid>

Same value as the X-LabFlow-Event-Id header.

endpointId
string <uuid>
status
string
Enum: "pending" "delivered" "failed" "aborted"

pending: not yet delivered, a retry is scheduled. delivered: your endpoint returned 2xx. failed: gave up after the maximum number of attempts. aborted: the endpoint was disabled or deleted before delivery.

attempt
integer
httpStatus
integer or null

HTTP status your endpoint returned on the last attempt.

error
string or null

Last error (network error or HTTP <status>: <first 500 chars of body>).

createdAt
string <date-time>
orgId
string
type
string (PartnerEventType)
Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

order.documents.available is reserved and not emitted yet. webhook.test is only sent by POST /webhooks/endpoints/{endpointId}/test.

object (WebhookEvent)
apiVersion
string
occurredAt
string <date-time>
object (PagePagination)
page
integer
limit
integer
total
integer
{
}

PartnerEventLogEntry

id
string <uuid>

Same value as the X-LabFlow-Event-Id header.

type
string (PartnerEventType)
Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

order.documents.available is reserved and not emitted yet. webhook.test is only sent by POST /webhooks/endpoints/{endpointId}/test.

resourceType
string or null
resourceId
string or null

Order id for order events.

apiVersion
string
occurredAt
string <date-time>
object (WebhookEvent)
apiVersion
string
id
string
type
string (PartnerEventType)
Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

order.documents.available is reserved and not emitted yet. webhook.test is only sent by POST /webhooks/endpoints/{endpointId}/test.

createdAt
string <date-time>
orgId
string
object (OrderStatusChangedEventData)
{
}

PartnerEventListResponse

Array of objects (PartnerEventLogEntry)
Array
id
string <uuid>

Same value as the X-LabFlow-Event-Id header.

type
string (PartnerEventType)
Enum: "webhook.test" "order.created" "order.registered" "order.status.changed" "order.shipment.updated" "order.received" "order.rejected" "order.resulted" "order.cancelled" "order.documents.available"

order.documents.available is reserved and not emitted yet. webhook.test is only sent by POST /webhooks/endpoints/{endpointId}/test.

resourceType
string or null
resourceId
string or null

Order id for order events.

apiVersion
string
occurredAt
string <date-time>
object (WebhookEvent)
object (PagePagination)
page
integer
limit
integer
total
integer
{
}

TestWebhookResponse

success
boolean
eventId
string <uuid>

Look this up in GET /webhooks/deliveries to see the outcome.

{
}

ProviderIdentifierRow

identifier_id
string <uuid>
provider_id
string <uuid>
system
string
external_provider_id
string
org_id
string
created_date
string <date-time>
{
}

ProviderOrganizationRole

provider_org_id
string <uuid>
provider_id
string <uuid>
org_id
string
role
string
is_default_for_org
boolean
effective_from
string or null <date-time>
effective_to
string or null <date-time>
active_status
boolean
created_date
string <date-time>
{
}

PractitionerListItem

provider_id
string <uuid>
npi
string
first_name
string
middle_name
string or null
last_name
string
suffix
string or null
credential
string or null
active_status
string
Enum: "ACTIVE" "INACTIVE" "RETIRED"
created_date
string <date-time>
updated_date
string <date-time>
Array of objects (ProviderIdentifierRow)
Array
identifier_id
string <uuid>
provider_id
string <uuid>
system
string
external_provider_id
string
org_id
string
created_date
string <date-time>
Array of objects (ProviderOrganizationRole)

Only your organization's roles are included.

Array
provider_org_id
string <uuid>
provider_id
string <uuid>
org_id
string
role
string
is_default_for_org
boolean
effective_from
string or null <date-time>
effective_to
string or null <date-time>
active_status
boolean
created_date
string <date-time>
location_roles
Array of objects
{
}

PractitionerListResponse

Array of objects (PractitionerListItem)
Array
provider_id
string <uuid>
npi
string
first_name
string
middle_name
string or null
last_name
string
suffix
string or null
credential
string or null
active_status
string
Enum: "ACTIVE" "INACTIVE" "RETIRED"
created_date
string <date-time>
updated_date
string <date-time>
Array of objects (ProviderIdentifierRow)
Array of objects (ProviderOrganizationRole)

Only your organization's roles are included.

location_roles
Array of objects
total
integer
page
integer
limit
integer
{
}