Endpoints protegidos por API key. Incluye el header Authorization: Bearer <STATUS_API_KEY> en cada llamada. Sin token válido la respuesta es 401.
Spec completo: /api/public/openapi.json (OpenAPI 3.1).
/api/public/incidentsCrea un incidente y su primer update. Soporta auto_create_participant para descubrir participantes nuevos durante monitoreo.
Body
{
"title": "Latencia elevada en Bancolombia",
"component_slug": "bancolombia",
"severity": "major",
"status": "investigating",
"message": "Estamos investigando reportes de latencia elevada.",
"auto_create_participant": { // opcional: crea el componente si el slug no existe
"name": "Bancolombia",
"description": "Participante Bancolombia"
}
}Ejemplo curl
curl -X POST https://status.example.com/api/public/incidents \
-H "Authorization: Bearer $STATUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"...","component_slug":"bancolombia","severity":"major","status":"investigating","message":"...","auto_create_participant":{"name":"Bancolombia"}}'/api/public/componentsLista todos los componentes (MOL, DICE, nodos, participantes) con su slug. No requiere API key. Acepta ?group=mol|dice|nodo|participante.
Ejemplo curl
curl https://status.example.com/api/public/components
# o filtrando por grupo:
curl "https://status.example.com/api/public/components?group=nodo"/api/public/componentsCrea manualmente un participante (group=participante).
Body
{
"slug": "bancolombia",
"name": "Bancolombia",
"description": "Participante Bancolombia"
}Ejemplo curl
curl -X POST https://status.example.com/api/public/components \
-H "Authorization: Bearer $STATUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"slug":"bancolombia","name":"Bancolombia"}'/api/public/incidents/:id/updatesAgrega una actualización al incidente. Si status='resolved', se marca resolved_at.
Body
{
"status": "monitoring",
"message": "Aplicamos un fix y estamos monitoreando."
}Ejemplo curl
curl -X POST https://status.example.com/api/public/incidents/$INCIDENT_ID/updates \
-H "Authorization: Bearer $STATUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"monitoring","message":"..."}'/api/public/incidents/:id/resolveAtajo para resolver un incidente. Body opcional con un mensaje de cierre.
Body
{ "message": "Servicio restablecido por completo." }Ejemplo curl
curl -X POST https://status.example.com/api/public/incidents/$INCIDENT_ID/resolve \
-H "Authorization: Bearer $STATUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message":"Servicio restablecido."}'/api/public/components/:slugCambia manualmente el estado de un componente. Útil para mantenimientos programados.
Body
{
"current_status": "maintenance"
// operational | degraded | partial_outage | major_outage | maintenance
}Ejemplo curl
curl -X PATCH https://status.example.com/api/public/components/mol-system \
-H "Authorization: Bearer $STATUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"current_status":"maintenance"}'/api/public/maintenancesCrea un mantenimiento programado para un actor. Soporta auto_create_participant.
Body
{
"title": "Ventana de mantenimiento DICE",
"description": "Reinicio del servicio de directorio",
"component_slug": "dice-system",
"scheduled_start": "2026-06-05T02:00:00Z",
"scheduled_end": "2026-06-05T04:00:00Z",
"status": "scheduled"
}Ejemplo curl
curl -X POST https://status.example.com/api/public/maintenances \
-H "Authorization: Bearer $STATUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"...","component_slug":"dice-system","scheduled_start":"2026-06-05T02:00:00Z","scheduled_end":"2026-06-05T04:00:00Z"}'/api/public/maintenancesLista mantenimientos activos (scheduled o in_progress). No requiere autenticación.
Body
// Sin bodyEjemplo curl
curl https://status.example.com/api/public/maintenances/api/public/maintenances/:idActualiza ventana o estado. status: scheduled | in_progress | completed | cancelled.
Body
{
"status": "in_progress"
}Ejemplo curl
curl -X PATCH https://status.example.com/api/public/maintenances/$MAINT_ID \
-H "Authorization: Bearer $STATUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"in_progress"}'/api/public/maintenances/:idCancela un mantenimiento (no lo elimina; lo marca como cancelled).
Body
// Sin bodyEjemplo curl
curl -X DELETE https://status.example.com/api/public/maintenances/$MAINT_ID \
-H "Authorization: Bearer $STATUS_API_KEY"Identificadores válidos para component_slug y /components/:slug.
| Actor | Slug | Nombre |
|---|---|---|
| MOL | mol-system | MOL |
| DICE | dice-system | DICE |
| Nodo | redeban | Redeban |
| Nodo | credibanco | Credibanco |
| Nodo | visionamos | Visionamos |
| Nodo | transfiya | Transfiya |
| Nodo | ach | ACH |
| Nodo | gopayments | Go Payments |
| Nodo | servibanca | Servibanca |
| Nodo | drixi | Drixi |
Feed público con los últimos 50 incidentes y sus updates.
GET https://status.example.com/rss.xml