Updates-Portal-API
Das Updates-Portal stellt eine kleine öffentliche JSON-API bereit, damit du den Status abfragen, Changelog-Einträge importieren, die Roadmap verfolgen und bekannte Probleme aus deinen eigenen Systemen prüfen kannst. Keine Authentifizierung erforderlich.
Base URL
https://updates.foura.ai
Service Status
GET /api/v1/status
Gibt den aktuellen Betriebsstatus jedes FourA-Services sowie aktive und kürzliche Vorfälle zurück. Serverseitig für 15 Sekunden zwischengespeichert, sodass häufigeres Abfragen dieselbe Payload zurückgibt.
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": "..." }
]
}
| Top-Level-Feld | Typ | Beschreibung |
|---|---|---|
overall |
string | operational, wenn jeder Service einwandfrei läuft, andernfalls einer der Service-Statuswerte |
services |
array | Ein Eintrag pro überwachtem Service mit slug, name, description, aktuellem status und daily Verlauf (bis zu 90 Tage) |
active_incidents |
array | Vorfälle, die aktuell offen sind |
recent_incidents |
array | Gelöste Vorfälle aus den letzten 14 Tagen |
Service-status-Werte: operational, degraded, partial_outage, major_outage, maintenance.
Vorfalls-impact-Werte: minor (beeinträchtigte Leistung), major (teilweiser Ausfall), critical (Service-Ausfall).
Polling-Muster
Nutze diesen Endpoint, um den FourA-Status in dein eigenes Dashboard oder Paging-System einzubinden.
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
Der veraltete GET /api/status gibt 410 Gone zurück und verweist Aufrufer hierher.
Changelog
GET /api/changelog
Gibt veröffentlichte Changelog-Einträge in umgekehrt chronologischer Reihenfolge zurück.
curl "https://updates.foura.ai/api/changelog?limit=20"
Query-Parameter:
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
page |
integer | 1 | 1-basierte Seitennummer |
limit |
integer | 20 | Einträge pro Seite (max. 50) |
category |
string | - | Filter auf new, improved oder 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
Der vollständige Changelog (die 30 neuesten Einträge) wird auch als RSS veröffentlicht unter:
https://updates.foura.ai/rss
Abonniere ihn in Feedly, Miniflux, Thunderbird oder einem beliebigen Reader. Der Feed-Body entspricht dem Changelog-Body, einschließlich zu HTML gerendertem Markdown.
Roadmap
GET /api/roadmap
Gibt alle Roadmap-Einträge zurück, sortiert nach Stimmenanzahl und Erstellungszeitpunkt.
curl https://updates.foura.ai/api/roadmap
{
"items": [
{
"id": 12,
"title": "...",
"description": "...",
"category": "API",
"status": "planned",
"votes": 23,
"target_date": "Q3 2026"
}
]
}
Eintrags-status-Werte: planned, in_progress, done, cancelled.
Abstimmen
POST /api/roadmap/:id/vote
Schaltet eine Stimme für einen einzelnen Roadmap-Eintrag um. Stimmen sind anonym und an die IP und den User-Agent des Aufrufers gebunden. Ein erneuter Aufruf entfernt die Stimme.
curl -X POST https://updates.foura.ai/api/roadmap/12/vote
{ "votes": 24, "voted": true }
voted meldet den Zustand nach dem Aufruf: true, wenn deine Stimme hinzugefügt wurde, false, wenn sie entfernt wurde.
Bekannte Probleme
GET /api/issues
Gibt Probleme zurück, die vom FourA-Support nachverfolgt werden.
curl "https://updates.foura.ai/api/issues?tab=open"
Query-Parameter:
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
tab |
string | open |
open für aktive Probleme, resolved für gelöste/geschlossene |
{
"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
}
]
}
severity-Werte: low, medium, high, critical.
status-Werte: open, investigating, resolved, closed.
Hinweise
- Alle Endpoints sind öffentlich. Es ist kein API-Key erforderlich, aber es gilt ein großzügiges Rate Limit pro Quell-IP.
- Antworten sind JSON über HTTPS. Es gibt keine Paginierung für die Roadmap oder Probleme, da die Listen kurz sind.
- Für Freitext- oder rohe HTML-Versionen des Changelogs nutze den
/rss-Feed anstelle von/api/changelog.
Verwandte Themen
- Service-Status: Lies dieselben Daten im Browser
- Changelog: Durchsuche Einträge mit Filtern und Paginierung
- Roadmap: Stimme über Einträge in der UI ab
- Bekannte Probleme: Lies offene und gelöste Probleme
- Updates-Portal: Bereichsübersicht