---
title: "Get Perspective Sleep Status"
method: GET
path: "/api/mind/v2/perspective/{identity_id}/sleep-status"
tags: ["mind-v2"]
---

# Get Perspective Sleep Status

`GET /api/mind/v2/perspective/{identity_id}/sleep-status`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/mind/v2/perspective/{identity_id}/sleep-status`
- Auth: none declared

TOS-1984 Phase 1/2: truthful Awake/Sleeping presence for a Mind.

Lightweight, read-only view over ``mind_sleep_cycles`` - deliberately NOT
folded into the heavy `/graph` payload since the header badge polls this
on its own 60s interval independent of graph loads. Phase 2 additive:
``wake_state='woken_by_you'`` surfaces a turn-start wake (TOS-1979 Phase
B, ``defer_running_cycle``) truthfully; this endpoint only ever reports
what the sleep-cycle-dispatcher itself has durably recorded.

TOS-2265: access is CHAT-ENTITLED, not owner-only - deliberately its own
check (``check_chat_entitled_access``), wider than every other route in
this file that still uses `/rebuild-status`'s owner-scoped
`_check_perspective_access`. Anyone who could open a chat with this agent
could already wake it by sending a message, so seeing that it is asleep
is not a new disclosure.

## Path parameters

- `identity_id` string, uuid, required

## Headers

- `x-impersonate-identity-id` string, nullable

## Response `200`

Successful Response

- V2SleepStatus: TOS-1984 Phase 1/2: truthful Awake/Sleeping presence for a Mind. Derived entirely from ``mind_sleep_cycles`` (the sleep-cycle-dispatcher's own bookkeeping, TOS-1979 Phase A) - never inferred from activity/idle heuristics. See ``_sleep_status_for_identity`` for the state rules.
  - `state` 'awake' | 'sleeping', required
  - `stage` 'settle' | 'replay_select' | 'decay' | 'consolidate' | 'prior_seed' | 'dormancy' | 'feedback' | 'retrospect' | 'rem_integrate' | 'waking_validate', nullable, required
  - `last_cycle_completed_at` string, date-time, nullable, required
  - `window_start_hour_utc` integer, required
  - `window_end_hour_utc` integer, required
  - `window_derived` boolean, required
  - `wake_state` 'woken_by_you', nullable
  - `pressure` number
  - `pressure_band` 'rested' | 'tired' | 'overtired'
  - `pressure_backlog` number
  - `pressure_volume` number
  - `pressure_debt` number

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thinqos/apis/thinqos-api.md) · [All operations](https://skmtc.dev/thinqos/apis/thinqos-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thinqos/apis/thinqos-api/revisions/5387b4ded614?raw)
