---
title: "Read the declarative client-state document for the caller"
method: GET
path: "/v1/client-state"
tags: ["ClientState"]
---

# Read the declarative client-state document for the caller

`GET /v1/client-state`

Returns the state the caller’s client should converge on. Scope is resolved from the actor alone — a caller can only ever read their own state, never another org’s. The document is a signal, not a command: it reports whether managed requirements exist, while the vetted list stays behind POST /v1/policy/evaluate.

## Headers

- `Authorization` string

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, required
    - `type` 'client-state', required
    - `attributes` object, required
      - `stateVersion` 1, required
      - `etag` string, required — Opaque token for the whole document. Currently tracks the policy fingerprint; later payloads (cli.minVersion, logSync) fold into it too.
      - `scope` union, required — How the caller’s org was resolved. `resolved` means a single org was found (the policy fields reflect it, or its disabled/default state); `ambiguous` means the actor belongs to multiple orgs with no valid default; `none` means the actor belongs to no org.
        - 'resolved'
        - 'ambiguous'
        - 'none'
      - `policy` object, required
        - `managedRequirementsPresent` boolean, required — Whether the actor’s org mandates any managed plugins. The vetted, policy-gated requirement list still comes from POST /v1/policy/evaluate.
        - `fingerprint` string, required — Changes whenever the org’s effective policy changes. A client that sees a new fingerprint re-evaluates; an unchanged one means nothing to do.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

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