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

# List Units

> Browse the measurement unit catalog

Returns the catalog of measurement units. The numeric `id` is stable across renames — store it when persisting result data so display titles can be refreshed without breaking referential integrity.

You'll receive `unit_id` references in result payloads ([Get Results](/api/appointments/get-results)) and on each biomarker's default unit ([List Biomarkers](/api/biomarkers/list-biomarkers)). Use this endpoint to dereference those IDs into a current display title.

## Response

Returns an array of units.

<ResponseField name="id" type="number">
  Stable measurement unit identifier.
</ResponseField>

<ResponseField name="title" type="string">
  Canonical unit title (e.g. `nmol/L`).
</ResponseField>

<ResponseField name="display_title" type="string | null">
  Optional humanised display override. `null` means no override exists — render `title` as-is. Only
  populated when the canonical `title` (which prioritises machine-parseability) differs from the
  preferred UI form (e.g. `ug/dL` → `µg/dL`).
</ResponseField>

<ResponseField name="aliases" type="string[]">
  Alternative spellings and synonyms recognised for this unit (e.g. `["mmol/l", "millimol/L"]`).
  Excludes the canonical `title`. Useful for matching free-text unit strings from external sources.
</ResponseField>

<ResponseField name="unit_type" type="&#x22;physical&#x22; | &#x22;discrete&#x22;">
  `physical` for measurable quantities (e.g. `nmol/L`, `mg`). `discrete` for enumerated/categorical
  values (e.g. positive/negative).
</ResponseField>

## Error responses

| Status | Description                                |
| ------ | ------------------------------------------ |
| `403`  | Forbidden — missing `panels_access` scope. |
| `500`  | Internal server error.                     |

<RequestExample>
  ```bash cURL theme={null}
  curl --url 'https://anivahealth.com/api/v1/units' \
    --header 'x-api-key: YOUR_API_KEY'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "id": 1,
      "title": "nmol/L",
      "display_title": null,
      "aliases": ["nmol/l"],
      "unit_type": "physical"
    },
    {
      "id": 2,
      "title": "mmol/L",
      "display_title": null,
      "aliases": ["mmol/l", "millimol/L"],
      "unit_type": "physical"
    },
    {
      "id": 47,
      "title": "ug/dL",
      "display_title": "µg/dL",
      "aliases": ["µg/dL", "mcg/dL"],
      "unit_type": "physical"
    }
  ]
  ```
</ResponseExample>
