---
title: "GET /member/protection"
method: GET
path: "/member/protection"
tags: ["member"]
---

# GET /member/protection

`GET /member/protection`

Projects the Engine's current protection authority. The daemon does not
infer or persist bootstrap progress; callers refresh this snapshot.

## Response `200`

- SpaceProtectionEnvelope — Canonical success envelope: `{ "data": T, "ts": <unix millis i64> }`. `ts` is `chrono::Utc::now().timestamp_millis()`, set in the webserver handler via [`ApiEnvelope::now`] (the contract carries only the type + the clock helper, not a hard dependency on when the handler reads the clock). `rename_all = "camelCase"` is a no-op for the single-word fields here but is declared for forward-compat. IMPORTANT (utoipa v4): every concrete `ApiEnvelope<X>` that needs a named OpenAPI component is declared in the `#[aliases(...)]` block below. Add a new alias line whenever a new payload type needs enveloping. NEVER register the bare `ApiEnvelope` in `components(schemas(...))` — utoipa errors on a bare generic, and an un-aliased generic inlines an anonymous schema.
  - `data` SpaceProtectionDto, required
    - `legacyBootstrap` LegacyBootstrapDto
      - `bootstrapId` string, required
      - `outcome` 'awaiting_readmission' | 'complete' | 'recovery_required', required — Recoverable Legacy bootstrap progress, owned and persisted by the Engine.
      - `pendingReadmission` integer, required
    - `members` MemberProtectionDto[], required
      - `deviceId` string, required
      - `status` 'legacy_unprotected' | 'protected' | 'awaiting_readmission' | 'requires_readmission' | 'recovery_required', required — Protection state of one roster member in the current space.
    - `mode` 'legacy' | 'migrating' | 'ready', required — Engine-authoritative state of a Legacy-to-MLS space protection upgrade.
  - `ts` integer, required — Server time when the response was built (unix epoch milliseconds).

## Other responses

- `500` — Internal server error
- `503` — Runtime unavailable

---

[API](https://skmtc.net/uniclipboard/apis/uniclipboard-daemon-api.md) · [All operations](https://skmtc.net/uniclipboard/apis/uniclipboard-daemon-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/uniclipboard/uniclipboard-daemon-api/revisions/10dd20bcf330/schema)
