The API is organised into domain routers registered in src/api/main.py. Each router owns a slice
of the platform. The table below groups them by area; for the exact, version-accurate request and
response shapes, use the embedded Swagger UI at the Console's API Docs page.
By area
Casework
| Router | Covers |
|---|
investigation_router | Investigation CRUD, transcripts, ontology views, activity logs |
report_router | Report generation, PDF export, findings preview |
evidence_router | Evidence retrieval, source-reliability stats |
lineage_router | Entity lineage and data provenance |
Entities & ontology
| Router | Covers |
|---|
company_router | Company registry, stats, timeline, ownership |
people_router | Person entities |
ontology_router, ontology_entities_router, ontology_company_router | Entity/company queries, graph export, geocoding |
ontology_reconciliation_router, ontology_resolution_router | Conflict-resolution workflows |
ontology_export_router | Per-company PDF/DOCX export |
entity_preview_router, sources_router | Entity preview cards, company sources |
Graph, risk & analytics
| Router | Covers |
|---|
graph_router | Neo4j queries — centrality, ownership chains, common connections |
risk_router | Risk aggregation, category/jurisdiction breakdowns, indicators |
analytics_router, metrics_router | Centrality scores, cost/entity metrics |
Configuration & tenancy
| Router | Covers |
|---|
settings_router | LLM providers, MCP servers, crew config, prompts, schemas, segments |
data_providers_router | Provider registry, country coverage, enrichment |
data_provider_credentials_router | Tenant-scoped credential CRUD |
tenant_router | Tenant registry |
auth_router | Role assignments, workflow roles (admin) |
Orchestration & ops
| Router | Covers |
|---|
temporal_router | Workflow health & status |
pipeline_router | Pipeline status, manual module triggers |
debug_router | MCP health, pipeline config, workflow internals |
health_router | Liveness / readiness |
Cross-cutting routers from other packages
Some routers live with their domain package rather than under api/:
| Router | Package | Covers |
|---|
| mutation/conflict router | src/mutation_queue/ | Mutations, conflicts, provenance |
| risk-matrix router | src/risk_matrix/ | Matrix schemas, assignments, evaluations |
| reference-data router | src/reference_data/ | Datasets, types, adapters |
| source-contracts router | src/source_contracts/ | Provider field definitions |
| ontology-schema router | src/ontology_schema/ | Schema versions, field configs |
| workflows routers | src/workflows/ | Low-code workflow engine, documents |
See Backend architecture for how these packages relate, and
Mutation queue and Risk scoring for
the domains behind the cross-cutting routers.