# Get current org threshold (v2)

Canonical page: https://docs.ovok.com/api/slim/threshold/v2/get-current-org-threshold-v2

`GET /v2/slim/threshold`

Returns the home's threshold configuration in the v2 shape: the alert limits every resident follows unless they have limits of their own.

**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 `PlanDefinition:read` (an admin or super admin who holds no access policy skips this check).
**Scope:** The caller's project (from the token).

## Behaviour

- Heart-rate and respiratory-rate limits (and the optional vitals below) are evaluated by Signals. Ovok stores them and forwards them to Signals.
- `settings.heartRate` and `settings.respiratoryRate` carry `mode: 'organization'` with absolute `min` and `max`. A home stored on a baseline band before baseline bands became per-resident still reads back as `mode: 'baseline'` with `deviationPercent`. A PUT no longer accepts that, so such a home must send an absolute band.
- `settings.outOfBed.maxDurationSeconds` is a non-negative multiple of 60. `deviationPercent` is the home's relative out-of-bed band, or `null`. `baselineAverage` and `effectiveMaxDurationSeconds` are per resident, so they are `null` here; see `GET /v2/slim/threshold/patient/{patientId}`.
- `settings.bedTimePeriod` is a top-level field, separate from `outOfBed`. `timezone` is resolved by the server: the home's time zone (Europe/Berlin unless the home set one), in which `start` and `end` are wall-clock times. A window nobody stored reads as 19:00 to 09:00, and that is the window the out-of-bed check applies. A home created through `POST /v1/slim/project/child` stores its own start, picked once from 18:00 to 20:00, so it reads the same on every call.
- `ranges` is the range each vital's limits may take in this home. It is always present: what the home set, else the default (heart rate 40–120, respiratory rate 4–60).
- `settings.oxygenSaturation`, `pulseRate`, `perfusionIndex` and `bodyTemperature` are `null` until the home watches the vital, else `{ mode: 'organization', enabled, min, max }`, where `min` or `max` is `null` for a one-sided limit.
- Not in v2: `sleepDuration`, `numberOfTimesGettingOutOfBed`, standalone `meanHeartRate` / `meanRespiratoryRate`, `status`, `date`, the `patient-auto` mode, and the deprecated `durationSeconds`.
- A home with no thresholds yet gets the default template, with `id: null`: heart rate on at 40–110 and respiratory rate on at 8–25 (the limits a new home is seeded with), and out of bed off. Heart or respiratory rate is off only once someone saves it off. If the stored thresholds cannot be read, the route answers 502, never the default template.
- The v1 route `GET /v1/slim/threshold` is deprecated in favour of this one.

## Example

```bash
curl -X GET 'https://api.sandbox.ovok.com/v2/slim/threshold' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'
```
