API Reference
Get a project's full graph
Normalized nodes and edges for a project, code entities by default.
GET
/graph/{project}anyReturns normalized {id, kind, name, qualified_name, path, absolute_path, start_line, end_line} nodes and {source, target, type} edges.
By default only code-entity nodes (Class, Function, Method, Interface, Enum, Type) are returned. Pass include=structural to get every node (folders, files, modules, packages) and every edge. Edges never dangle.
Path parameters
projectstringrequiredThe project_name.
Query parameters
includestringSet to structural to include every node/edge instead of only code entities.
limitintegerMaximum number of nodes to return. Default 5000, no upper bound.
Request
cURL
bash
curl "localhost:8000/graph/your-repo?include=structural&limit=1000" \
-H "Authorization: Bearer $TOKEN"Responses
200The project's graph
json
{
"project": "your-repo",
"generated_at": "2026-07-08T22:43:50Z",
"nodes": [ { "id": 1, "kind": "Class", "name": "RequestHandler", "qualified_name": "src.http.RequestHandler", "path": "src/http/request_handler.py", "start_line": 10, "end_line": 80 } ],
"edges": [ { "source": 1, "target": 2, "type": "CALLS" } ],
"stats": { "total_nodes": 480, "total_edges": 900, "returned_nodes": 480, "returned_edges": 900, "truncated": false }
}404No graph ingested
json
{ "detail": "no graph found for project 'your-repo' — run POST /instances/pipeline to ingest it" }