# Get patient vital thresholds

Canonical page: https://docs.ovok.com/api/slim/threshold/patient/get-patient-vital-thresholds

`GET /v1/slim/threshold/patient/{patientId}/vitals`

Lists the bands the resident's own Signals settings hold for vitals other than the ones Ovok's thresholds cover. Signals is the certified service that evaluates readings. Ovok reads the stored limits from it and does not evaluate readings.

**Auth:** Bearer token. The caller must be a practitioner, an admin, a super admin, or hold the "System Owner" access policy. The access policy must grant `Goal:read` (an admin or super admin who holds no access policy skips this check).
**Scope:** The resident must be in the caller's project (from the token) or one of its sub-projects. A resident outside that scope answers 404, the same as an unknown id.

## Behaviour

- Read-only.
- Codes that the threshold routes own (`GET /v2/slim/threshold/patient/{patientId}`, for example SpO₂ and pulse rate) are left out of the list.
- Each entry has `code`, `min` and `max` (each `null` for no bound on that side). `version` and `updatedAt` are always `null`: Signals keeps the band in the resident's settings, unversioned.
- A resident with no Signals record, or with no such thresholds, gets `{ "vitals": [] }`.
- A resident whose Signals record was left half-created by an interrupted create is completed by this read.
- If Signals cannot be reached the route answers 502, never an empty list.

## Example

```bash
curl -X GET 'https://api.sandbox.ovok.com/v1/slim/threshold/patient/c3499c27-2973-0a7f-807e-fb8676a92dcb/vitals' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'
```
