> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anivahealth.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Confirm Blood Draw

> Record that blood has been drawn and trigger the lab order pipeline

Record that a blood draw has been completed and trigger the lab order pipeline. Submit the numeric barcode from the blood draw kit to link the physical sample to the appointment.

<Warning>
  This action is irreversible. Once you confirm the blood draw, the appointment is locked — no
  further modifications, including adding panels, are possible.
</Warning>

## Request

### Path parameters

<ParamField path="id" type="string" required>
  Unique identifier (UUID) of the appointment to confirm.
</ParamField>

### Body parameters

<ParamField body="barcode" type="string" required>
  Numeric barcode string printed on the blood draw kit. Used to associate the physical sample with
  this appointment.
</ParamField>

## Response

On success, the API returns `200 OK` confirming the lab order pipeline has been triggered.

<ResponseField name="success" type="boolean">
  `true` when the blood draw has been recorded and the lab order pipeline triggered.
</ResponseField>

## Error responses

| Status | Description                                                             |
| ------ | ----------------------------------------------------------------------- |
| `400`  | Validation error — e.g., `barcode` is missing or has an invalid format. |
| `403`  | Forbidden — your API key does not have access to this operation.        |
| `404`  | Appointment not found.                                                  |
| `500`  | Internal server error.                                                  |

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://anivahealth.com/api/v1/appointments/c9f3e2a1-7d6b-4c5e-b3a2-1f0e9d8c7b6a/confirm \
    --header 'x-api-key: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
      "barcode": "4012345678901"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true
  }
  ```

  ```json 400 theme={null}
  {
    "error": "barcode must be a numeric string"
  }
  ```

  ```json 404 theme={null}
  {
    "error": "Appointment not found"
  }
  ```
</ResponseExample>
