API Updates Portal
L'Updates Portal expose une petite API JSON publique afin que vous puissiez interroger le statut, ingérer les entrées du changelog, suivre la roadmap et vérifier les problèmes connus depuis vos propres systèmes. Aucune authentification n'est requise.
URL de base
https://updates.foura.ai
Statut du service
GET /api/v1/status
Renvoie le statut opérationnel en direct de chaque service FourA, ainsi que les incidents actifs et récents. Mis en cache côté serveur pendant 15 secondes, de sorte qu'une interrogation plus fréquente renvoie le même 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": "..." }
]
}
| Champ de premier niveau | Type | Description |
|---|---|---|
overall |
string | operational si chaque service est sain, sinon l'une des valeurs de statut de service |
services |
array | Une entrée par service surveillé avec slug, name, description, le status actuel et l'historique daily (jusqu'à 90 jours) |
active_incidents |
array | Incidents actuellement ouverts |
recent_incidents |
array | Incidents résolus au cours des 14 derniers jours |
Valeurs de status du service : operational, degraded, partial_outage, major_outage, maintenance.
Valeurs d' impact de l'incident : minor (performances dégradées), major (interruption partielle), critical (interruption de service).
Pattern d'interrogation
Utilisez cet endpoint pour intégrer le statut de FourA dans votre propre dashboard ou système d'alerte.
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
L'ancien GET /api/status renvoie 410 Gone et redirige les appelants ici.
Changelog
GET /api/changelog
Renvoie les entrées publiées du changelog dans l'ordre chronologique inverse.
curl "https://updates.foura.ai/api/changelog?limit=20"
Paramètres de requête :
| Paramètre | Type | Par défaut | Description |
|---|---|---|---|
page |
integer | 1 | Numéro de page (indexé à partir de 1) |
limit |
integer | 20 | Entrées par page (max 50) |
category |
string | - | Filtrer par new, improved ou 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
Le changelog complet (les 30 entrées les plus récentes) est également publié sous forme de flux RSS à l'adresse :
https://updates.foura.ai/rss
Abonnez-vous dans Feedly, Miniflux, Thunderbird ou n'importe quel lecteur. Le corps du flux correspond au corps du changelog, y compris le markdown converti en HTML.
Roadmap
GET /api/roadmap
Renvoie chaque élément de la roadmap, trié par nombre de votes puis par date de création.
curl https://updates.foura.ai/api/roadmap
{
"items": [
{
"id": 12,
"title": "...",
"description": "...",
"category": "API",
"status": "planned",
"votes": 23,
"target_date": "Q3 2026"
}
]
}
Valeurs de status de l'élément : planned, in_progress, done, cancelled.
Vote
POST /api/roadmap/:id/vote
Bascule un vote sur un seul élément de la roadmap. Les votes sont anonymes et liés à l'IP de l'appelant + User-Agent. Un nouvel appel supprime le vote.
curl -X POST https://updates.foura.ai/api/roadmap/12/vote
{ "votes": 24, "voted": true }
voted indique l'état après l'appel : true si votre vote a été ajouté, false s'il a été supprimé.
Problèmes connus
GET /api/issues
Renvoie les problèmes suivis par le support de FourA.
curl "https://updates.foura.ai/api/issues?tab=open"
Paramètres de requête :
| Paramètre | Type | Par défaut | Description |
|---|---|---|---|
tab |
string | open |
open pour les problèmes actifs, resolved pour ceux résolus/fermés |
{
"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
}
]
}
Valeurs de severity : low, medium, high, critical.
Valeurs de status : open, investigating, resolved, closed.
Notes
- Tous les endpoints sont publics. Aucune clé API n'est requise, mais attendez-vous à un rate limit généreux par IP source.
- Les réponses sont au format JSON via HTTPS. Il n'y a pas de pagination sur la roadmap ou les problèmes ; les listes sont courtes.
- Pour les versions en texte libre ou HTML brut du changelog, utilisez le flux
/rssau lieu de/api/changelog.
Voir aussi
- Statut du service : Lire les mêmes données dans le navigateur
- Changelog : Parcourir les entrées avec des filtres et une pagination
- Roadmap : Voter pour des éléments dans l'interface utilisateur
- Problèmes connus : Consulter les problèmes ouverts et résolus
- Updates Portal : Aperçu de la section