Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/nicolas344/Sentinel-SoftServe/llms.txt

Use this file to discover all available pages before exploring further.

The Sentinel SoftServe REST API is a FastAPI-based backend that powers the agentic incident triage co-pilot. All resources — incidents, actions, alerts, and health checks — are exposed under a versioned /api/ prefix and communicate exclusively in JSON. This page covers the base URLs, authentication model, pagination contract, error format, and a full index of every available endpoint.

Base URLs

EnvironmentBase URL
Local developmenthttp://localhost:8000
Production (Render)https://sentinel-softserve.onrender.com
Interactive Swagger UI documentation is available at /docs:
  • Local: http://localhost:8000/docs
  • Production: https://sentinel-softserve.onrender.com/docs

Request & Response Format

Every request body and every response body is JSON. Set the Content-Type: application/json header on all POST, PATCH, and PUT requests. Responses always include an appropriate HTTP status code alongside the JSON body.

Authentication

All endpoints under /api/ — with the exception of POST /api/alerts and GET /api/health — require a valid Supabase JWT passed as a Bearer token:
Authorization: Bearer <supabase-jwt-token>
See the Authentication page for full details on obtaining and using tokens.

All Endpoints Prefix

Every application endpoint is mounted under the /api/ prefix. The only exception is the bare liveness probe GET /health, which lives at the root and requires no authentication.

Pagination

List endpoints accept two query parameters for pagination:
ParameterTypeDefaultDescription
pageinteger11-based page number
limitinteger20Number of records per page
Every paginated response follows this envelope:
{
  "data": [...],
  "total": 42,
  "page": 1,
  "limit": 20,
  "pages": 3
}
pages is computed as ceil(total / limit) and will be 0 when there are no results.

Error Format

All error responses use a consistent structure:
{
  "detail": "human-readable error message"
}

HTTP Status Codes

CodeMeaning
200 OKRequest succeeded
201 CreatedResource created successfully
400 Bad RequestInvalid input or malformed request body
401 UnauthorizedMissing, invalid, or expired JWT
404 Not FoundResource does not exist
409 ConflictDuplicate action execution or status transition conflict
503 Service UnavailablePrometheus metrics unreachable and no cached snapshot available

Endpoint Index

The table below lists every endpoint exposed by the Sentinel API.
MethodPathDescription
GET/api/incidentsList incidents with filters and pagination
POST/api/incidentsCreate a manual incident
GET/api/incidents/{id}Get a single incident by UUID
PATCH/api/incidents/{id}/statusUpdate incident status
GET/api/incidents/{id}/post-mortemRetrieve (or generate) post-mortem
PUT/api/incidents/{id}/post-mortemSave or update post-mortem content
GET/api/incidents/{id}/exportExport incident as JSON or Markdown
GET/api/incidents/{id}/runbooksRetrieve relevant runbooks from ChromaDB
GET/api/incidents/{id}/similarFind similar past incidents via episodic memory
GET/api/incidents/{id}/metricsGet live Prometheus metrics for the incident target
POST/api/execute-actionExecute the proposed remediation action
POST/api/incidents/{id}/rejectReject the proposed action
POST/api/incidents/{id}/postponePostpone the proposed action
POST/api/alertsReceive Alertmanager webhook notifications
GET/api/healthFull integration health check
GET/healthSimple liveness probe

Explore by Section

Authentication

Supabase JWT Bearer tokens, HS256/ES256 validation, and the alerts webhook secret.

Incidents

List, create, update, export, and triage incidents with full filter and pagination support.

Actions

Execute, reject, or postpone AI-proposed remediation actions with atomic concurrency control.

Alerts

Receive Prometheus Alertmanager webhooks and automatically create incidents.

Health

Ping all six service dependencies and get an aggregate health status.

Build docs developers (and LLMs) love