Retrieve a node
Retrieves a node as it stood at a point in its graph’s history, with whatever around it you expand.
Expandable fields
| Path | Adds |
|---|---|
parent | The parent node, beside parent_id. Absent for a root. |
root | The root node, beside root_id. |
session | The session node, beside session_id. |
requested_by | The node that asked for this one, beside requested_by_id. |
blocked.on | The nodes it’s waiting on, beside blocked.on_ids. |
children | Its children, as a list (the first 100, oldest first, and a url for the rest). |
descendants | Every node under it, as one flat list in tree order (the first 1,000, and a url for the rest). See descendants_max_depth. |
tasks | Its task list. |
spawns | The children it has asked for. |
waits | What it has waited on, and is waiting on. |
messages | Messages it has sent and received. |
Expanded nodes can be expanded in turn: parent.parent, children.children, root.tasks.
Expanding to a depth. expand[]=children.children nests two levels of children; a path goes at most 4 levels.
Expanding all the way down. expand[]=descendants returns everything under the node as one flat list, in tree order (each parent before its children), each node with its parent_id so you can rebuild the tree in one pass. Limit its depth with descendants_max_depth. It holds the first 1,000; if has_more, its url lists the rest (it includes as_of, so every page is the same moment): request it with starting_after set to the last node you have.
# The whole tree under a node…
curl -G https://agentgraph.chofter.com/api/v1/graphs/gph_k3P9xQ2mWt7a/nodes/node_Y2xhdWRlLWNvZGU6NWY… \
-u $AGENT_GRAPH_KEY: -d "expand[]=descendants"
# …and, if has_more, the next 1,000.
curl -G "https://agentgraph.chofter.com/api/v1/graphs/gph_k3P9xQ2mWt7a/nodes?ancestor_id=…&as_of=…&order=tree" \
-u $AGENT_GRAPH_KEY: -d limit=1000 -d starting_after=node_…
If the node doesn’t exist at as_of but does later, the error is 404 node_not_yet_created, with the event that creates it.
Retrieve a node
curl https://agentgraph.chofter.com/api/v1/graphs/$GRAPH_ID/nodes/$NODE_ID \
-H "Authorization: Bearer $AGENT_GRAPH_API_KEY"{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/a3fd07c2b19e4d61",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"depth": 1,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": "Reading the auth middleware",
"headline": "Reading the auth middleware",
"purpose": "Find every caller of the old session store",
"agent_type": "Explore",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01HxV9qT3mJb7d2KcL5nRw8E",
"cwd": "/Users/dev/work/api",
"created": 1791540843221,
"ended": null,
"last_event": 1791541903812,
"child_count": 1,
"descendant_count": 1,
"background_agent_count": 0,
"task_counts": {
"total": 4,
"pending": 1,
"in_progress": 1,
"completed": 2,
"open": 2
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU"
],
"starting": 0,
"node_count": 1,
"open_tasks": 5,
"cycle": false
}
}{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/a3fd07c2b19e4d61",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"depth": 1,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": "Reading the auth middleware",
"headline": "Reading the auth middleware",
"purpose": "Find every caller of the old session store",
"agent_type": "Explore",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01HxV9qT3mJb7d2KcL5nRw8E",
"cwd": "/Users/dev/work/api",
"created": 1791540843221,
"ended": null,
"last_event": 1791541903812,
"child_count": 1,
"descendant_count": 1,
"background_agent_count": 0,
"task_counts": {
"total": 4,
"pending": 1,
"in_progress": 1,
"completed": 2,
"open": 2
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU"
],
"starting": 0,
"node_count": 1,
"open_tasks": 5,
"cycle": false
},
"parent": {
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10",
"provider": "claude-code",
"kind": "session",
"parent_id": null,
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": null,
"depth": 0,
"state": "working",
"stale": false,
"attention": null,
"title": "Move auth to the new session store",
"summary": null,
"headline": "Updating the session middleware",
"purpose": null,
"agent_type": null,
"background": null,
"link_method": null,
"spawn_call_id": null,
"cwd": "/Users/dev/work/api",
"created": 1791540131480,
"ended": null,
"last_event": 1791541907912,
"child_count": 3,
"descendant_count": 5,
"background_agent_count": 2,
"task_counts": {
"total": 6,
"pending": 2,
"in_progress": 1,
"completed": 3,
"open": 3
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE"
],
"starting": 0,
"node_count": 2,
"open_tasks": 7,
"cycle": false
}
},
"children": {
"object": "list",
"url": "/api/v1/graphs/gph_k3P9xQ2mWt7a/nodes?parent_id=node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE&as_of=evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"has_more": false,
"data": [
{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/b81c22e09f7a3c55",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"depth": 2,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": null,
"headline": "Searching for SessionStore imports",
"purpose": "List the files that import SessionStore",
"agent_type": "general-purpose",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01Pq4Ze8sYh2WnVb6XcJ1dRt",
"cwd": "/Users/dev/work/api",
"created": 1791540874033,
"ended": null,
"last_event": 1791541898692,
"child_count": 0,
"descendant_count": 0,
"background_agent_count": 0,
"task_counts": {
"total": 5,
"pending": 3,
"in_progress": 1,
"completed": 1,
"open": 4
},
"blocked": null
}
]
}
}{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10",
"provider": "claude-code",
"kind": "session",
"parent_id": null,
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": null,
"depth": 0,
"state": "working",
"stale": false,
"attention": null,
"title": "Move auth to the new session store",
"summary": null,
"headline": "Updating the session middleware",
"purpose": null,
"agent_type": null,
"background": null,
"link_method": null,
"spawn_call_id": null,
"cwd": "/Users/dev/work/api",
"created": 1791540131480,
"ended": null,
"last_event": 1791541907912,
"child_count": 3,
"descendant_count": 5,
"background_agent_count": 2,
"task_counts": {
"total": 6,
"pending": 2,
"in_progress": 1,
"completed": 3,
"open": 3
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE"
],
"starting": 0,
"node_count": 2,
"open_tasks": 7,
"cycle": false
},
"descendants": {
"object": "list",
"url": "/api/v1/graphs/gph_k3P9xQ2mWt7a/nodes?ancestor_id=node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw&as_of=evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1&order=tree",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"has_more": true,
"data": [
{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/a3fd07c2b19e4d61",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"depth": 1,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": "Reading the auth middleware",
"headline": "Reading the auth middleware",
"purpose": "Find every caller of the old session store",
"agent_type": "Explore",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01HxV9qT3mJb7d2KcL5nRw8E",
"cwd": "/Users/dev/work/api",
"created": 1791540843221,
"ended": null,
"last_event": 1791541903812,
"child_count": 1,
"descendant_count": 1,
"background_agent_count": 0,
"task_counts": {
"total": 4,
"pending": 1,
"in_progress": 1,
"completed": 2,
"open": 2
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU"
],
"starting": 0,
"node_count": 1,
"open_tasks": 5,
"cycle": false
}
},
{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/b81c22e09f7a3c55",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"depth": 2,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": null,
"headline": "Searching for SessionStore imports",
"purpose": "List the files that import SessionStore",
"agent_type": "general-purpose",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01Pq4Ze8sYh2WnVb6XcJ1dRt",
"cwd": "/Users/dev/work/api",
"created": 1791540874033,
"ended": null,
"last_event": 1791541898692,
"child_count": 0,
"descendant_count": 0,
"background_agent_count": 0,
"task_counts": {
"total": 5,
"pending": 3,
"in_progress": 1,
"completed": 1,
"open": 4
},
"blocked": null
}
]
}
}{
"error": {
"type": "invalid_request_error",
"code": "parameter_invalid",
"message": "Invalid limit: must be between 1 and 1000.",
"param": "limit",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "invalid_request_error",
"code": "expand_too_deep",
"message": "The path children.children.children.children.children goes 5 levels deep; at most 4 are allowed.",
"param": "expand",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "authentication_error",
"code": "api_key_invalid",
"message": "Invalid API key: ag_sk_live_****Xa9T.",
"param": null,
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "permission_error",
"code": "api_key_restricted",
"message": "This restricted key can't read gph_k3P9xQ2mWt7a.",
"param": null,
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "No such node: node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU.",
"param": "node_id",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "invalid_request_error",
"code": "node_not_yet_created",
"message": "The node node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE is created by evt_01M4G2FMPN7KD3N1PZ0QX8RM4A, after as_of.",
"param": "as_of",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors",
"first_event_id": "evt_01M4G2FMPN7KD3N1PZ0QX8RM4A"
}
}{
"error": {
"type": "invalid_request_error",
"code": "outside_retention_window",
"message": "This graph holds events from evt_01M4FXYWR82B8XK0V5QJ7M1N3R to evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1.",
"param": "as_of",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors",
"first_event_id": "evt_01M4FXYWR82B8XK0V5QJ7M1N3R",
"last_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limit",
"message": "Too many requests. Try again in 1 second.",
"param": null,
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "api_error",
"code": "api_error",
"message": "Something went wrong. Try again, and include the Request-Id if it keeps happening.",
"param": null,
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}Returns Examples
{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/a3fd07c2b19e4d61",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"depth": 1,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": "Reading the auth middleware",
"headline": "Reading the auth middleware",
"purpose": "Find every caller of the old session store",
"agent_type": "Explore",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01HxV9qT3mJb7d2KcL5nRw8E",
"cwd": "/Users/dev/work/api",
"created": 1791540843221,
"ended": null,
"last_event": 1791541903812,
"child_count": 1,
"descendant_count": 1,
"background_agent_count": 0,
"task_counts": {
"total": 4,
"pending": 1,
"in_progress": 1,
"completed": 2,
"open": 2
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU"
],
"starting": 0,
"node_count": 1,
"open_tasks": 5,
"cycle": false
}
}{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/a3fd07c2b19e4d61",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"depth": 1,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": "Reading the auth middleware",
"headline": "Reading the auth middleware",
"purpose": "Find every caller of the old session store",
"agent_type": "Explore",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01HxV9qT3mJb7d2KcL5nRw8E",
"cwd": "/Users/dev/work/api",
"created": 1791540843221,
"ended": null,
"last_event": 1791541903812,
"child_count": 1,
"descendant_count": 1,
"background_agent_count": 0,
"task_counts": {
"total": 4,
"pending": 1,
"in_progress": 1,
"completed": 2,
"open": 2
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU"
],
"starting": 0,
"node_count": 1,
"open_tasks": 5,
"cycle": false
},
"parent": {
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10",
"provider": "claude-code",
"kind": "session",
"parent_id": null,
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": null,
"depth": 0,
"state": "working",
"stale": false,
"attention": null,
"title": "Move auth to the new session store",
"summary": null,
"headline": "Updating the session middleware",
"purpose": null,
"agent_type": null,
"background": null,
"link_method": null,
"spawn_call_id": null,
"cwd": "/Users/dev/work/api",
"created": 1791540131480,
"ended": null,
"last_event": 1791541907912,
"child_count": 3,
"descendant_count": 5,
"background_agent_count": 2,
"task_counts": {
"total": 6,
"pending": 2,
"in_progress": 1,
"completed": 3,
"open": 3
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE"
],
"starting": 0,
"node_count": 2,
"open_tasks": 7,
"cycle": false
}
},
"children": {
"object": "list",
"url": "/api/v1/graphs/gph_k3P9xQ2mWt7a/nodes?parent_id=node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE&as_of=evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"has_more": false,
"data": [
{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/b81c22e09f7a3c55",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"depth": 2,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": null,
"headline": "Searching for SessionStore imports",
"purpose": "List the files that import SessionStore",
"agent_type": "general-purpose",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01Pq4Ze8sYh2WnVb6XcJ1dRt",
"cwd": "/Users/dev/work/api",
"created": 1791540874033,
"ended": null,
"last_event": 1791541898692,
"child_count": 0,
"descendant_count": 0,
"background_agent_count": 0,
"task_counts": {
"total": 5,
"pending": 3,
"in_progress": 1,
"completed": 1,
"open": 4
},
"blocked": null
}
]
}
}{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10",
"provider": "claude-code",
"kind": "session",
"parent_id": null,
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": null,
"depth": 0,
"state": "working",
"stale": false,
"attention": null,
"title": "Move auth to the new session store",
"summary": null,
"headline": "Updating the session middleware",
"purpose": null,
"agent_type": null,
"background": null,
"link_method": null,
"spawn_call_id": null,
"cwd": "/Users/dev/work/api",
"created": 1791540131480,
"ended": null,
"last_event": 1791541907912,
"child_count": 3,
"descendant_count": 5,
"background_agent_count": 2,
"task_counts": {
"total": 6,
"pending": 2,
"in_progress": 1,
"completed": 3,
"open": 3
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE"
],
"starting": 0,
"node_count": 2,
"open_tasks": 7,
"cycle": false
},
"descendants": {
"object": "list",
"url": "/api/v1/graphs/gph_k3P9xQ2mWt7a/nodes?ancestor_id=node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw&as_of=evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1&order=tree",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"has_more": true,
"data": [
{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/a3fd07c2b19e4d61",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"depth": 1,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": "Reading the auth middleware",
"headline": "Reading the auth middleware",
"purpose": "Find every caller of the old session store",
"agent_type": "Explore",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01HxV9qT3mJb7d2KcL5nRw8E",
"cwd": "/Users/dev/work/api",
"created": 1791540843221,
"ended": null,
"last_event": 1791541903812,
"child_count": 1,
"descendant_count": 1,
"background_agent_count": 0,
"task_counts": {
"total": 4,
"pending": 1,
"in_progress": 1,
"completed": 2,
"open": 2
},
"blocked": {
"on_ids": [
"node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU"
],
"starting": 0,
"node_count": 1,
"open_tasks": 5,
"cycle": false
}
},
{
"id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU",
"object": "node",
"as_of_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1",
"graph_id": "gph_k3P9xQ2mWt7a",
"provider_ref": "claude-code:5f2c1e9a-8d1b-4b6e-9a51-0f6f2c7d3e10/b81c22e09f7a3c55",
"provider": "claude-code",
"kind": "agent",
"parent_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"root_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"session_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEw",
"requested_by_id": "node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE",
"depth": 2,
"state": "working",
"stale": false,
"attention": null,
"title": null,
"summary": null,
"headline": "Searching for SessionStore imports",
"purpose": "List the files that import SessionStore",
"agent_type": "general-purpose",
"background": false,
"link_method": null,
"spawn_call_id": "toolu_01Pq4Ze8sYh2WnVb6XcJ1dRt",
"cwd": "/Users/dev/work/api",
"created": 1791540874033,
"ended": null,
"last_event": 1791541898692,
"child_count": 0,
"descendant_count": 0,
"background_agent_count": 0,
"task_counts": {
"total": 5,
"pending": 3,
"in_progress": 1,
"completed": 1,
"open": 4
},
"blocked": null
}
]
}
}{
"error": {
"type": "invalid_request_error",
"code": "parameter_invalid",
"message": "Invalid limit: must be between 1 and 1000.",
"param": "limit",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "invalid_request_error",
"code": "expand_too_deep",
"message": "The path children.children.children.children.children goes 5 levels deep; at most 4 are allowed.",
"param": "expand",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "authentication_error",
"code": "api_key_invalid",
"message": "Invalid API key: ag_sk_live_****Xa9T.",
"param": null,
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "permission_error",
"code": "api_key_restricted",
"message": "This restricted key can't read gph_k3P9xQ2mWt7a.",
"param": null,
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "No such node: node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2I4MWMyMmUwOWY3YTNjNTU.",
"param": "node_id",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "invalid_request_error",
"code": "node_not_yet_created",
"message": "The node node_Y2xhdWRlLWNvZGU6NWYyYzFlOWEtOGQxYi00YjZlLTlhNTEtMGY2ZjJjN2QzZTEwL2EzZmQwN2MyYjE5ZTRkNjE is created by evt_01M4G2FMPN7KD3N1PZ0QX8RM4A, after as_of.",
"param": "as_of",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors",
"first_event_id": "evt_01M4G2FMPN7KD3N1PZ0QX8RM4A"
}
}{
"error": {
"type": "invalid_request_error",
"code": "outside_retention_window",
"message": "This graph holds events from evt_01M4FXYWR82B8XK0V5QJ7M1N3R to evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1.",
"param": "as_of",
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors",
"first_event_id": "evt_01M4FXYWR82B8XK0V5QJ7M1N3R",
"last_event_id": "evt_01M4G3G4E8Q9R2M5X4T6W8Y0B1"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limit",
"message": "Too many requests. Try again in 1 second.",
"param": null,
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}{
"error": {
"type": "api_error",
"code": "api_error",
"message": "Something went wrong. Try again, and include the Request-Id if it keeps happening.",
"param": null,
"doc_url": "https://agentgraph.chofter.com/docs/reference#errors"
}
}