---
title: "Posture score and the counts behind it"
method: GET
path: "/v1/otel/summary"
tags: ["Observability"]
---

# Posture score and the counts behind it

`GET /v1/otel/summary`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/otel/summary`
- Auth: HTTP bearer

`posture_score` is the mean agent trust score, less a penalty per open critical threat scaled by the fraction of the organization that threat can reach. Scaling by fraction rather than count is what makes the number comparable between a seven-agent org and a fifty-agent one.

It returns 100 when there are no agents, and also while the trust engine is still in shadow mode and no scores exist yet — absence of data is not evidence of compromise. It never goes below 0.

`top_threats` uses the same ranking as `/v1/otel/threats`, so clicking through from the summary lands on the same first row.

## Response `200`

Posture summary

- OtelSummary
  - `posture_score` integer, required
  - `open_threats` integer, required
  - `open_critical` integer, required
  - `pending_approvals` integer, required
  - `agent_count` integer, required
  - `top_threats` object[], required: At most five, same ranking as /v1/otel/threats.

## Other responses

- `401`: Unauthenticated
- `403`: Not a human user

---

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