> ## 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.

# Activate Home Kit Order

> Report when the patient collected their sample

Report that the patient collected their sample. This is the home-kit counterpart of
[Confirm Blood Draw](/api/appointments/confirm-blood-draw) — without a barcode, because the kit's
code is applied by fulfilment at packing time. You pass only the collection timestamp.

The timestamp matters clinically: it is the collection time the lab report will carry. Send the
patient's actual collection moment, not the moment your system processed it.

Activation moves the order to `activated` — a terminal status. An activated order can no longer be
cancelled, and its composition and delivery address are locked. Activation is accepted while the
order is `pending` or `dispatched` — the patient can be holding a kit before our record says
dispatched, and their real collection time always wins over our bookkeeping.

<Note>Requires `home_kit_orders_manage` scope.</Note>

## Request

### Path parameters

<ParamField path="id" type="string" required>
  Unique identifier (UUID) of the home kit order to activate.
</ParamField>

### Body parameters

<ParamField body="activated_at" type="string" required>
  When the patient collected the sample, as a UTC instant (ISO 8601 with `Z` suffix, e.g.
  `2026-08-28T07:30:00Z`). Must not be in the future.
</ParamField>

## Response

On success, the API returns `200 OK` with the updated home kit order — `status` is `activated` and
`activated_at` carries the timestamp you sent.

## Error responses

| Status | Description                                                               |
| ------ | ------------------------------------------------------------------------- |
| `400`  | Validation error — malformed `activated_at`, or a future timestamp.       |
| `403`  | Forbidden — your API key does not have access to this operation.          |
| `404`  | Home kit order not found.                                                 |
| `409`  | Conflict — the order is already activated, or has been cancelled.         |
| `502`  | Fulfilment could not be reached. The order was **not** activated — retry. |
| `500`  | Internal server error.                                                    |

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://anivahealth.com/api/v1/home-kit-orders/d1e2f3a4-5b6c-4d7e-8f9a-0b1c2d3e4f5a/activate \
    --header 'x-api-key: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
      "activated_at": "2026-08-28T07:30:00Z"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "d1e2f3a4-5b6c-4d7e-8f9a-0b1c2d3e4f5a",
    "profile_id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
    "status": "activated",
    "activated_at": "2026-08-28T07:30:00Z",
    "delivery_address": {
      "name": "Maria Schmidt",
      "company_name": "c/o Weber",
      "address_line_2": null,
      "street": "Friedrichstraße",
      "house_number": "123",
      "postal_code": "10117",
      "city": "Berlin",
      "country_code": "DE",
      "phone": "+4930123456789",
      "email": "maria.schmidt@example.com"
    },
    "created_at": "2026-08-20T09:45:00Z",
    "updated_at": "2026-08-28T07:31:12Z",
    "profile": {
      "id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
      "handle": null,
      "first_name": "Maria",
      "last_name": "Schmidt",
      "email": "maria.schmidt@example.com",
      "phone": "+4930123456789",
      "sex": 2,
      "date_of_birth": "1985-03-22",
      "height": 168,
      "weight": 65,
      "language": "de",
      "transactional_emails_enabled": true,
      "created_at": "2026-08-20T09:14:32Z",
      "updated_at": null
    },
    "panels": [
      {
        "panel_id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
        "added_at": "2026-08-20T09:45:00Z"
      }
    ],
    "individual_biomarkers": [],
    "metadata": { "your_order_ref": "ORD-10482" }
  }
  ```

  ```json 409 theme={null}
  {
    "error": "Home kit order is already activated"
  }
  ```
</ResponseExample>
