Updates Portal API
Updates Portal предоставя малко публично JSON API, за да можете да проверявате състоянието, да извличате записи от changelog, да следите roadmap и да проверявате известни проблеми от вашите собствени системи. Не се изисква удостоверяване.
Base URL
https://updates.foura.ai
Състояние на услугите
GET /api/v1/status
Връща текущото оперативно състояние на всяка FourA услуга, плюс активните и скорошните инциденти. Кешира се от страна на сървъра за 15 секунди, така че по-често извикване връща същия 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": "..." }
]
}
| Поле от най-горно ниво | Тип | Описание |
|---|---|---|
overall |
string | operational, ако всяка услуга е изправна, в противен случай една от стойностите за състояние на услуга |
services |
array | По един запис за всяка наблюдавана услуга със slug, name, description, текущо status и daily история (до 90 дни) |
active_incidents |
array | Инциденти, които в момента са отворени |
recent_incidents |
array | Разрешени инциденти от последните 14 дни |
Стойности за status на услугата: operational, degraded, partial_outage, major_outage, maintenance.
Стойности за impact на инцидента: minor (влошена производителност), major (частично прекъсване), critical (прекъсване на услугата).
Polling модел
Използвайте този endpoint, за да интегрирате състоянието на FourA във вашия собствен dashboard или система за известяване.
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
Остарелият GET /api/status връща 410 Gone и пренасочва потребителите насам.
Changelog
GET /api/changelog
Връща публикуваните записи в changelog в обратен хронологичен ред.
curl "https://updates.foura.ai/api/changelog?limit=20"
Query параметри:
| Параметър | Тип | По подразбиране | Описание |
|---|---|---|---|
page |
integer | 1 | Номер на страницата (започващ от 1) |
limit |
integer | 20 | Записи на страница (макс. 50) |
category |
string | - | Филтриране по new, improved или 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
Пълният changelog (30-те най-нови записа) също се публикува като RSS на адрес:
https://updates.foura.ai/rss
Абонирайте се във Feedly, Miniflux, Thunderbird или друг четец. Съдържанието на фийда съвпада с това на changelog, включително markdown, рендериран до HTML.
Roadmap
GET /api/roadmap
Връща всеки елемент от roadmap, сортиран по брой гласове и след това по време на създаване.
curl https://updates.foura.ai/api/roadmap
{
"items": [
{
"id": 12,
"title": "...",
"description": "...",
"category": "API",
"status": "planned",
"votes": 23,
"target_date": "Q3 2026"
}
]
}
Стойности за status на елемента: planned, in_progress, done, cancelled.
Гласуване
POST /api/roadmap/:id/vote
Превключва гласа за конкретен елемент от roadmap. Гласовете са анонимни и са обвързани с IP адреса и User-Agent на извикващия. Повторно извикване премахва гласа.
curl -X POST https://updates.foura.ai/api/roadmap/12/vote
{ "votes": 24, "voted": true }
voted отчита състоянието след извикването: true, ако гласът ви е бил добавен, false, ако е бил премахнат.
Известни проблеми
GET /api/issues
Връща проблеми, проследявани от поддръжката на FourA.
curl "https://updates.foura.ai/api/issues?tab=open"
Query параметри:
| Параметър | Тип | По подразбиране | Описание |
|---|---|---|---|
tab |
string | open |
open за активни проблеми, resolved за разрешени/затворени |
{
"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: low, medium, high, critical.
Стойности за status: open, investigating, resolved, closed.
Бележки
- Всички endpoints са публични. Не се изисква API ключ, но очаквайте щедър rate limiting за всеки изходящ IP адрес.
- Отговорите са JSON през HTTPS. Няма пагинация за roadmap или проблеми, тъй като списъците са малки.
- За версии на changelog в свободен текст или чист HTML, използвайте
/rssфийда вместо/api/changelog.
Свързани теми
- Състояние на услугите: Прочетете същите данни в браузъра
- Changelog: Преглеждайте записи с филтри и пагинация
- Roadmap: Гласувайте за елементи в интерфейса
- Известни проблеми: Прочетете отворени и разрешени проблеми
- Updates Portal: Преглед на раздела