Skip to content

Deliver lab-order results

Request

Post analytes and/or references to result PDFs for an accepted order. The server derives the order's result status from the delivery and returns the updated order. Each delivery carries a partner-supplied deliveryId so retries never duplicate or clobber results. Each analyte is attributed to exactly one ordered test: the one its orderCode names, else the one whose code it is or whose test-compendium listing holds it (a panel reported by component); a code more than one ordered test could take is refused.

Security
PartnerApiKey and PartnerOAuth
Path
labOrderIdinteger, (int64)required

Lab order id

Example:9001
accountIdinteger, (int64)required

Account identifier

locationIdinteger, (int64)required

Location identifier

Bodyapplication/jsonrequired
analytesArray of objects(AnalyteDTO)

Discrete analyte results (may be empty for a PDF-only report)

deliveryIdstringrequired

Partner-supplied idempotency key identifying this delivery attempt

Example:"DLV-2026-02-14-001"
finalboolean

Whether this delivery finalizes the order's results. Send true on the delivery that completes the order: an order holding a panel resulted under its components' codes completes only this way

Example:true
resultFileIdsArray of integers

Ids of result PDFs already uploaded via POST /file

Example:
[ 5502 ]
thirdPartyLabIdstring, <= 64 charactersrequired

Lab-assigned order identifier recorded at acceptance, at most 64 characters; a correlation check against the stored value

Example:"ACC-8837162"
curl -i -X POST \
  'https://api-docs.lobbie.com/_mock/openapi/partner/v2/account/{accountId}/location/{locationId}/lab-order/9001/results' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "analytes": [
      {
        "code": "GLU",
        "flag": "NORMAL",
        "name": "Glucose",
        "orderCode": "1000",
        "referenceRange": {
          "high": "100",
          "low": "70"
        },
        "status": "FINAL",
        "unit": "mg/dL",
        "value": "Non-Reactive"
      }
    ],
    "deliveryId": "DLV-2026-02-14-001",
    "final": true,
    "resultFileIds": [
      5502
    ],
    "thirdPartyLabId": "ACC-8837162"
  }'

Responses

Results accepted (or idempotent no-op for a repeated deliveryId)

Bodyapplication/json
createdAtstring, (date-time)

Creation timestamp (UTC)

Example:"2025-01-15T14:00:00Z"
idinteger, (int64)

Lab order id

Example:9001
labIdinteger, (int64)

Id of the linked /lab record, so a partner can navigate to the existing lab read view

Example:12345
locationIdinteger, (int64)

Location id

Example:200
orderNumberstring

The account's order reference number

Example:"ORD-100245"
orderingProviderIdinteger, (int64)

Ordering provider (staff) id (resolve via /staff)

Example:412
patientIdinteger, (int64)

Patient id (resolve via /patient)

Example:300
statusstring

Lifecycle status of a lab order, from staff placement through partner fulfilment. The server owns every transition; the partner never sets the status directly. SUBMITTED: placed by staff and awaiting partner pickup. ACCEPTED: the partner acknowledged the order and recorded its thirdPartyLabId. REJECTED: the partner declined the order; terminal, staff correct and re-release as a new order. PARTIALLY_RESULTED: some ordered tests have results, others are still pending. RESULTED: every ordered test has a final result. CORRECTED: a previously delivered result was superseded by a correction. CANCELLED: the order was cancelled before fulfilment.

Enum:"SUBMITTED""ACCEPTED""REJECTED""PARTIALLY_RESULTED""RESULTED""CORRECTED""CANCELLED"
Example:"SUBMITTED"
testsArray of objects(LabOrderTestDTO)

Ordered tests with their Ask-on-Entry answers

thirdPartyLabIdstring

Lab-assigned order identifier (accession / requisition number); null until the order is accepted

Example:"ACC-8837162"
updatedAtstring, (date-time)

Last update timestamp (UTC)

Example:"2025-01-15T14:00:00Z"
Response
{ "createdAt": "2025-01-15T14:00:00Z", "id": 9001, "labId": 12345, "locationId": 200, "orderNumber": "ORD-100245", "orderingProviderId": 412, "patientId": 300, "status": "SUBMITTED", "tests": [ { … } ], "thirdPartyLabId": "ACC-8837162", "updatedAt": "2025-01-15T14:00:00Z" }