---
title: "Agent, vault, policy, connector and chain graph for the org"
method: GET
path: "/v1/otel/topology"
tags: ["Observability"]
---

# Agent, vault, policy, connector and chain graph for the org

`GET /v1/otel/topology`

## Request

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

A snapshot of the organization's resources and how they connect. Human users only.

Capped at 500 nodes. When the cap applies, `truncated` is true and `total_nodes` reports the count before capping — a client must not present a truncated graph as complete. Agents are kept in preference to everything else, and edges that lose an endpoint to the cap are removed.

Agent `status` is derived at request time, never stored, so it cannot go stale.

## Query parameters

- `fixture` '1' | 'true'

## Response `200`

Topology snapshot

- OtelTopology
  - `nodes` object[], required
    - `id` string, required: Namespaced by kind, e.g. `agent:<uuid>`.
    - `kind` 'agent' | 'vault' | 'policy' | 'connector' | 'chain', required
    - `label` string, required
    - `status` 'compromised' | 'warn' | 'suspended' | 'ok': Agents only. Derived, not stored.
    - `trust` integer: Agents only. Absent until the trust engine has scored the agent.
  - `edges` object[], required
    - `from` string, required
    - `to` string, required
    - `kind` 'calls' | 'grants' | 'holds' | 'signs', required
  - `truncated` boolean, required
  - `total_nodes` integer, required: Node count before the cap.
  - `fixture` boolean: Present and true only for synthetic data.

## Other responses

- `401`: Unauthenticated
- `403`: Not a human user, or fixtures are not available here

---

[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/5fa0918f3b41?raw)
