---
title: "Identities Overview Metrics"
method: GET
path: "/api/admin/identities/overview/metrics"
tags: ["admin-identities"]
---

# Identities Overview Metrics

`GET /api/admin/identities/overview/metrics`

## 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/admin/identities/overview/metrics`
- Auth: none declared

Secondary directory metrics with independent recovery from core rows.

TOS-2838 reference implementation for user-initiated cancellation. This is
the route the ticket opened on - the slowest authenticated read in the
product, and the one where a user is most likely to give up waiting.

The caller chooses the operation id and sends it up front, because a
non-streaming response cannot hand one back while the request it would
cancel is still running. Sending no header simply means no Cancel is
offered, so every existing caller keeps working unchanged.

Registration and release both use their own short-lived session rather than
``db``: after a cancel lands, ``db``'s transaction is aborted and cannot be
written to, so bookkeeping on it would fail exactly when it matters.

## Headers

- `x-operation-id` string, uuid, nullable

## Response `200`

Successful Response

- IdentityOverviewMetricsResponse
  - `generated_at` string, nullable, required
  - `snapshot_status` 'fresh' | 'stale' | 'unavailable', required
  - `rows` IdentityOverviewMetricsOut[], required
    - `id` string, uuid, required
    - `balance_usd` string, nullable, required
    - `balance_owner_derived` boolean, required
    - `balance_source` 'self' | 'owner' | 'caller', required
    - `grants` GrantLite[], required
      - `granted_usd` string, required
      - `used_usd` string, required
      - `source` string, required
      - `granted_at` string, nullable, required
      - `expires_at` string, nullable, required
    - `spend_usd` string, required
    - `spend_30d_usd` string, required
    - `notional_margin_usd` string, required
    - `keys` object, nullable, required
    - `keys_owner_derived` boolean, required
    - `keys_source` 'self' | 'owner' | 'agent' | 'caller', required
    - `keys_detail` object, required
    - `billing_mode` 'owner_pays' | 'caller_pays', required
    - `credential_mode` 'caller_required' | 'agent_required' | 'caller_first' | 'agent_first', required
    - `credential_platform_fallback` boolean, required
    - `model_default` string, nullable, required
    - `model_fast` string, nullable, required
    - `model_deep` string, nullable, required
    - `mind_status` 'rebuilding' | 'issues' | 'ok' | 'none', required
    - `mind_rebuild_progress` integer, nullable, required
    - `mind_issue_count` integer, required
    - `mind_node_count` integer, required
    - `chats_count` integer, required

## 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/ce2c2ce318b1?raw)
