API портала обновлений
Портал обновлений предоставляет небольшой публичный JSON API, позволяющий опрашивать статус, импортировать записи списка изменений, отслеживать дорожную карту и проверять известные проблемы из ваших собственных систем. Аутентификация не требуется.
Базовый URL
https://updates.foura.ai
Статус сервисов
GET /api/v1/status
Возвращает текущий рабочий статус каждого сервиса FourA, а также активные и недавние инциденты. Кэшируется на стороне сервера на 15 секунд, поэтому более частый опрос возвращает те же данные.
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 (сбой в работе сервиса).
Шаблон опроса
Используйте этот 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 и перенаправляет вызывающих клиентов сюда.
Список изменений
GET /api/changelog
Возвращает опубликованные записи списка изменений в обратном хронологическом порядке.
curl "https://updates.foura.ai/api/changelog?limit=20"
Параметры запроса:
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
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
Полный список изменений (30 последних записей) также публикуется в формате RSS по адресу:
https://updates.foura.ai/rss
Подпишитесь в Feedly, Miniflux, Thunderbird или любом другом ридере. Тело фида соответствует телу списка изменений, включая Markdown, преобразованный в HTML.
Дорожная карта
GET /api/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
Переключает голос за отдельный элемент дорожной карты. Голоса анонимны и привязаны к 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"
Параметры запроса:
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
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. Для дорожной карты и известных проблем пагинация отсутствует, так как списки небольшие.
- Для получения текстовой или необработанной HTML-версии списка изменений используйте фид
/rssвместо/api/changelog.
Связанные разделы
- Статус сервисов: просмотр тех же данных в браузере
- Список изменений: просмотр записей с фильтрами и пагинацией
- Дорожная карта: голосование за элементы в интерфейсе
- Известные проблемы: просмотр открытых и решенных проблем
- Портал обновлений: обзор раздела