APITopology

Get topology graph

Aggregated topology graph: nodes per tier with counts, and the edges between them.

GET
/topology/graph

Aggregated topology graph: nodes per tier with counts, and the edges between them.

Authorization

ApiKeyAuth
headerAuthorizationBearer <token>

Bearer token authentication. Send an API key (a saai_api_-prefixed token) as Authorization: Bearer <token>.

Required permission

view_topology

Query Parameters

user_id?string

Scope the graph to one user: their agent instances, with policy effects resolved for their groups and instances.

Formatuuid
start_time?string

Start of the activity window, inclusive. Set together with end_time; defaults to the last 7 days.

Formatdate-time
end_time?string

End of the activity window, exclusive. Set together with start_time.

Formatdate-time

Response Body

The request has succeeded.

application/json
  1. response

The full aggregated topology graph for the caller's org.

subjects*array<>
agents*array<>
policies*array<>
mcps*array<>
subject_agent_edges*array<>
access_edges*array<>
activity_edges*array<>
tags*array<>
curl -X GET "https://example.com/topology/graph"
{  "subjects": [    {      "id": "string",      "name": "string",      "kind": "group",      "user_count": 0    }  ],  "agents": [    {      "slug": "string",      "display_name": "string",      "instance_count": 0,      "tag_ids": [        "string"      ]    }  ],  "policies": [    {      "id": "string",      "name": "string",      "effect": "allow",      "status": "string"    }  ],  "mcps": [    {      "id": "string",      "display_name": "string",      "tag_ids": [        "string"      ]    }  ],  "subject_agent_edges": [    {      "subject_id": "string",      "agent_slug": "string",      "user_count": 0    }  ],  "access_edges": [    {      "agent_slug": "string",      "policy_id": "string",      "mcp_id": "string",      "effect": "allow"    }  ],  "activity_edges": [    {      "subject_id": "string",      "agent_slug": "string",      "policy_id": "string",      "mcp_id": "string",      "calls": 0,      "blocked": 0    }  ],  "tags": [    {      "id": "string",      "name": "string",      "color": "string"    }  ]}