---
title: "Upload Lab Report"
method: POST
path: "/lab_reports"
tags: ["Lab Reports"]
---

# Upload Lab Report

`POST /lab_reports`

Upload and process a base64 encoded document.

## Request body

- LabReportsPostInput
  - `body` string, required — raw body in base64
  - `filename` string, required — filename of the document
  - `wait_on_process` boolean — wait for the process to complete

## Response `200`

OK

- LabReportsPostOutput
  - `lab_report` LabReport, required
    - `collection_date` string
    - `lab_information` LabInformation
      - `address` string
      - `email_address` string
      - `name` string
      - `notes` string
      - `phone_number` string
    - `modified_at` string, date-time
    - `notes` string
    - `original_record_id` string
    - `parsing_error` string
    - `patient_information` PatientInformation
      - `address` string
      - `age` integer
      - `date_of_birth` string
      - `email_address` string
      - `gender` string
      - `name` string
      - `notes` string
      - `patient_id` string
      - `phone_number` string
    - `record_id` string, uuid, required — Unique identifier for a record.
    - `result_date` string
    - `sections` LabReportSection[], nullable
      - `loinc_code` string
      - `loinc_common_name` string
      - `original_section_name` string
      - `results` LabReportValue[], nullable
        - `loinc_code` string
        - `loinc_common_name` string
        - `normal_max` number, double
        - `normal_min` number, double
        - `notes` string
        - `original_test_name` string, required
        - `original_unit_name` string, required
        - `require_human_review` boolean
        - `standard_test_name` string, required
        - `standard_unit_name` string, required
        - `tested_positive` boolean
        - `value` number, double
        - `value_text` string
        - `within_normal_range` boolean
      - `section_notes` string
      - `standard_section_name` string
    - `status` 'pending' | 'processing' | 'completed' | 'failed', required — Lab Report Status
    - `uploaded_at` string, date-time

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Entity
- `500` — Internal Server Error

---

[API](https://skmtc.dev/spikeapi/apis/application-user-api.md) · [All operations](https://skmtc.dev/spikeapi/apis/application-user-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/spikeapi/application-user-api/revisions/637338fb0c9d/schema)
