---
title: "Idle sleep for the platform: the mode, the hours per plan, what sleeps now, wake times, and whether the waker routes"
method: GET
path: "/operator/idle-sleep"
tags: ["Operator"]
---

# Idle sleep for the platform: the mode, the hours per plan, what sleeps now, wake times, and whether the waker routes

`GET /operator/idle-sleep`

## Request

- Base URL: `https://hostingsurge.com/api/v1`
- URL: `https://hostingsurge.com/api/v1/operator/idle-sleep`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-hs_session`

## Response `200`

Idle sleep

- object
  - `setting` object, required
    - `mode` 'off' | 'dry_run' | 'on', required
    - `freeHours` integer, nullable, required
    - `proHours` integer, nullable, required
    - `businessHours` integer, nullable, required
    - `includeStatic` boolean, required
    - `configured` boolean, required: false: nothing saved yet, the defaults apply
    - `note` string, nullable, required
    - `updatedAt` string, nullable, required: ISO-8601 timestamp
    - `updatedByEmail` string, nullable, required
  - `defaults` object, required
    - `mode` 'off' | 'dry_run' | 'on', required
    - `freeHours` integer, nullable, required
    - `proHours` integer, nullable, required
    - `businessHours` integer, nullable, required
    - `includeStatic` boolean, required
  - `stats` object, required
    - `sleeping` integer, required
    - `waking` integer, required
    - `alwaysOn` integer, required
    - `optedIn` integer, required
    - `sleepsTotal` integer, required
    - `wakesTotal` integer, required
    - `wakes24h` integer, required
    - `avgWakeMs24h` number, nullable, required
    - `maxWakeMs24h` number, nullable, required
    - `sleepingMemoryMb` number, required
    - `databases` object, required
      - `sleeping` integer, required
      - `waking` integer, required
      - `backupPaused` integer, required
  - `feed` object, required
    - `trackingSince` string, nullable, required: ISO-8601 timestamp
    - `reportedAt` string, nullable, required: ISO-8601 timestamp
    - `caughtUpAt` string, nullable, required: ISO-8601 timestamp
    - `ready` boolean, required
  - `waker` object, required
    - `configured` boolean, required
    - `healthy` boolean, required
    - `routing` boolean, nullable, required
    - `checkedAt` string, nullable, required: ISO-8601 timestamp
  - `lastSweep` object, nullable, required
    - `at` string, required: ISO-8601 timestamp
    - `mode` 'off' | 'dry_run' | 'on', required
    - `candidates` integer, required
    - `wouldSleep` integer, required
    - `slept` integer, required
    - `blocked` string, nullable, required: why nothing was put to sleep although the mode is on (e.g. waker_unavailable)
    - `metricsReady` boolean, nullable, required: CPU use is measured for the candidates (the host metrics collector runs); null: nothing to check
    - `keptAwake` object, required
    - `sample` object[], required
      - `projectId` string, uuid, required
      - `organizationId` string, uuid, required
      - `name` string, required
      - `kind` string, required
      - `planId` string, required
      - `idleHours` number, nullable, required
      - `memoryMb` integer, required
  - `bounds` object, required
    - `hours` object, required
      - `min` integer, required
      - `max` integer, required

## Other responses

- `400`: Invalid request (code invalid_request)
- `403`: Not a platform operator, a bearer-authenticated request, or a session older than 5 minutes (code forbidden; details.reauthenticate is true for the last case)
- `404`: Not found (code not_found)

---

[API](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api.md) · [All operations](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/revisions/4d08337cdff1?raw)
