---
title: "Private beta — any lab report PDF → structured biomarkers"
method: POST
path: "/bloodwork/parse"
tags: ["bloodwork"]
---

# Private beta — any lab report PDF → structured biomarkers

`POST /bloodwork/parse`

## Request

- Base URL: `https://deepdna.ai/api/v1`
- URL: `https://deepdna.ai/api/v1/bloodwork/parse`
- Auth: HTTP bearer

Designed to return units normalised (mg/dL ↔ mmol/L and the rest), the lab's own reference ranges preserved, sex and age context kept where the report states it. Designed first for European laboratories. Not yet deployed.

## Response `200`

Structured biomarkers

- ParsedBloodwork
  - `lab` string, nullable
  - `report_date` string, date, nullable
  - `biomarkers` Biomarker[]
    - `code` string
    - `value` number
    - `unit` string
    - `value_si` number
    - `unit_si` string
    - `reference_low` number, nullable
    - `reference_high` number, nullable
    - `reference_source` string: The lab that issued the report, not a generic range
    - `flag` 'low' | 'high' | 'normal' | 'null', nullable

## Other responses

- `401`: Missing or invalid API key

---

[API](https://skmtc.dev/deepdna/apis/deepdna-api.md) · [All operations](https://skmtc.dev/deepdna/apis/deepdna-api/llms.txt) · [OpenAPI document](https://skmtc.dev/deepdna/apis/deepdna-api/revisions/e33e002594ea?raw)
