api container runs the .NET API server that orchestrates all operations.
Responsibilities
The API server is the central hub that:- Exposes REST endpoints for the frontend
- Orchestrates code analysis via the analyzer service
- Manages graph data in the database
- Coordinates GPU layout computation
- Hosts the plugin/overlay system
Architecture
Key Concepts
API Endpoints
Graph Data
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/graph | Get all nodes and edges with attributes |
| GET | /api/graph/nodes/{nodeId} | Get single node by ID |
| POST | /api/graph/layout | Save layout positions to database |
| DELETE | /api/graph/layout | Clear layout positions |
GPU Layout
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/graph/layout/compute | Trigger GPU layout computation |
| GET | /api/graph/layout/compute/status | Get computation progress |
| POST | /api/graph/layout/compute/cancel | Cancel running computation |
| GET | /api/graph/layout/compute/available | Check if GPU available |
Overlays
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/overlays | Get all registered plugins |
| POST | /api/overlays/{pluginId}/apply | Apply plugin data |
| DELETE | /api/overlays/{pluginId}/apply | Remove plugin data |
Services
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/health | Service health status |
| GET | /api/services | List all services |
| GET | /api/examples | List example codebases |
| POST | /api/examples/{name}/load | Load example |