| # API Endpoints | |
| This page lists all available API endpoints. | |
| General | |
| - All API routers are mounted under the `/api/v1` prefix (see `app.main`). | |
| - Health endpoint is available at `/health`. | |
| Health | |
| - GET /health | |
| - Returns: `{ "status": "ok" }` | |
| - Purpose: basic liveness/health check. | |
| Governance (risk/intent evaluation) | |
| - POST /api/v1/intents/evaluate | |
| - Description: Evaluate an infrastructure intent and return a risk score and explanation. | |
| - Body: an InfrastructureIntentRequest JSON object (see the model in `app.models.infrastructure_intents`). | |
| - Behaviour: The endpoint converts the incoming intent to an OSS intent and calls into the locally initialized RiskEngine (`app.state.risk_engine`). | |
| - Errors: May return 500 if evaluation fails. | |
| - POST /api/v1/intents/outcome | |
| - Description: Record the observed outcome of an executed intent to update priors. | |
| - Behaviour: Not implemented in this repository; the endpoint returns a `501 Not Implemented` (the current implementation raises a 501 indicating outcome recording is not yet implemented). | |
| Other routers | |
| - The application also registers routers for incidents, risk, intents, and history at `/api/v1` (see `app.main`). Consult the respective modules in `app.api` for their exact endpoints and payloads. | |
| Notes | |
| - The governance evaluation relies on a `RiskEngine` instance initialized at app startup (see `app.main`) which reads `ARF_HMC_MODEL` and `ARF_USE_HYPERPRIORS` environment variables. | |