---
title: "Record a blood draw and its results"
method: POST
path: "/labs/draws"
tags: ["Lab results"]
---

# Record a blood draw and its results

`POST /labs/draws`

## Request

- Base URL: `https://bodylab.lol/api/v1`
- URL: `https://bodylab.lol/api/v1/labs/draws`
- Auth: HTTP bearer

Every context question can be left null. A skipped answer makes the draw less comparable with others; it never blocks saving.

## Headers

- `X-Client-Platform` string
- `X-Client-Version` string

## Request body

- object
  - `localDate` string, date, required: A day on the athlete's own calendar: YYYY-MM-DD, no time zone.
  - `collectedTime` string, nullable
  - `labName` string, nullable
  - `fastingHours` number, nullable
  - `recentIllness` boolean, nullable
  - `ironSupplement10d` boolean, nullable
  - `biotin` boolean, nullable
  - `creatine` boolean, nullable
  - `hormoneMedication` boolean, nullable
  - `menstruating` boolean, nullable
  - `cycleDay` integer, nullable
  - `altitudeM` number, nullable
  - `results` object[], required
    - `marker` string, required
    - `name` string, nullable
    - `value` number, required
    - `comparator` '<' | '<=' | '>' | '>=', nullable
    - `unit` string, required
    - `method` string, nullable
    - `assay` string, nullable
    - `rangeLow` number, nullable
    - `rangeHigh` number, nullable
    - `rangeText` string, nullable
    - `labFlag` string, nullable

## Response `201`

OK

- object
  - `id` string, required: Opaque identifier.

## Other responses

- `401`: Error: UNAUTHORIZED.

---

[API](https://skmtc.dev/bodylab/apis/body-lab-api.md) · [All operations](https://skmtc.dev/bodylab/apis/body-lab-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bodylab/apis/body-lab-api/revisions/544c201eaf88?raw)
