API de Updates Portal
El Updates Portal expone una pequeña API JSON pública para que pueda consultar el estado, ingerir entradas del changelog, seguir el roadmap y verificar problemas conocidos desde sus propios sistemas. No requiere autenticación.
URL base
https://updates.foura.ai
Estado del servicio
GET /api/v1/status
Devuelve el estado operativo en tiempo real de cada servicio de FourA, además de los incidentes activos y recientes. Se almacena en caché en el servidor durante 15 segundos, por lo que realizar consultas con mayor frecuencia devolverá el mismo payload.
curl https://updates.foura.ai/api/v1/status
{
"overall": "operational",
"services": [
{
"slug": "api",
"name": "API",
"description": "...",
"status": "operational",
"daily": [
{ "date": "2026-05-19", "status": "operational", "major_outage_minutes": 0, "partial_outage_minutes": 0, "degraded_minutes": 0, "internal_degraded_minutes": 0 }
]
}
],
"active_incidents": [],
"recent_incidents": [
{ "id": "...", "service_slug": "api", "service_name": "API", "impact": "minor", "started_at": "...", "resolved_at": "..." }
]
}
| Campo de nivel superior | Tipo | Descripción |
|---|---|---|
overall |
string | operational si todos los servicios están estables; de lo contrario, uno de los valores de estado del servicio |
services |
array | Una entrada por servicio monitoreado con slug, name, description, el status actual e historial daily (hasta 90 días) |
active_incidents |
array | Incidentes que están abiertos actualmente |
recent_incidents |
array | Incidentes resueltos de los últimos 14 días |
Valores de status del servicio: operational, degraded, partial_outage, major_outage, maintenance.
Valores de impact del incidente: minor (rendimiento degradado), major (interrupción parcial), critical (interrupción del servicio).
Patrón de polling
Use este endpoint para integrar el estado de FourA en su propio dashboard o sistema de alertas.
import requests
def check_foura():
r = requests.get("https://updates.foura.ai/api/v1/status", timeout=5)
r.raise_for_status()
data = r.json()
if data["overall"] != "operational":
# Page on-call, post to Slack, flip a feature flag, etc.
for svc in data["services"]:
if svc["status"] != "operational":
print(f"{svc['name']}: {svc['status']}")
return data
El endpoint heredado GET /api/status devuelve 410 Gone y redirige a los clientes aquí.
Changelog
GET /api/changelog
Devuelve las entradas publicadas del changelog en orden cronológico inverso.
curl "https://updates.foura.ai/api/changelog?limit=20"
Parámetros de consulta:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
page |
integer | 1 | Número de página indexado en 1 |
limit |
integer | 20 | Entradas por página (máximo 50) |
category |
string | - | Filtrar por new, improved o fixed |
{
"entries": [
{
"id": 42,
"title": "...",
"body": "Markdown body",
"category": "new",
"published_at": "2026-05-19T12:00:00Z",
"tags": "[\"api\", \"dashboard\"]"
}
],
"total": 137,
"page": 1,
"limit": 20
}
RSS
El changelog completo (las 30 entradas más recientes) también se publica como RSS en:
https://updates.foura.ai/rss
Suscríbase en Feedly, Miniflux, Thunderbird o cualquier lector. El cuerpo del feed coincide con el cuerpo del changelog, incluyendo el markdown renderizado a HTML.
Roadmap
GET /api/roadmap
Devuelve todos los elementos del roadmap, ordenados por número de votos y luego por fecha de creación.
curl https://updates.foura.ai/api/roadmap
{
"items": [
{
"id": 12,
"title": "...",
"description": "...",
"category": "API",
"status": "planned",
"votes": 23,
"target_date": "Q3 2026"
}
]
}
Valores de status del elemento: planned, in_progress, done, cancelled.
Votación
POST /api/roadmap/:id/vote
Alterna un voto en un solo elemento del roadmap. Los votos son anónimos y están vinculados a la IP y al User-Agent del cliente. Llamar de nuevo elimina el voto.
curl -X POST https://updates.foura.ai/api/roadmap/12/vote
{ "votes": 24, "voted": true }
voted informa el estado posterior a la llamada: true si se agregó su voto, false si se eliminó.
Problemas conocidos
GET /api/issues
Devuelve los problemas de los que realiza un seguimiento el soporte de FourA.
curl "https://updates.foura.ai/api/issues?tab=open"
Parámetros de consulta:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
tab |
string | open |
open para problemas activos, resolved para resueltos/cerrados |
{
"issues": [
{
"id": 5,
"title": "...",
"body": "Markdown description",
"severity": "medium",
"status": "investigating",
"service_id": "api",
"opened_at": "2026-05-18T09:00:00Z",
"resolved_at": null,
"resolution": null
}
]
}
Valores de severity: low, medium, high, critical.
Valores de status: open, investigating, resolved, closed.
Notas
- Todos los endpoints son públicos. No se requiere ninguna clave de API, pero prevea un rate limit generoso por IP de origen.
- Las respuestas son JSON sobre HTTPS. No hay paginación en el roadmap ni en los problemas; las listas son pequeñas.
- Para obtener versiones en texto libre o HTML sin procesar del changelog, use el feed
/rssen lugar de/api/changelog.
Relacionado
- Estado del servicio: Lea los mismos datos en el navegador
- Changelog: Explore las entradas con filtros y paginación
- Roadmap: Vote por los elementos en la interfaz de usuario
- Problemas conocidos: Lea los problemas abiertos y resueltos
- Updates Portal: Descripción general de la sección