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.

Связанные разделы

Обновлено: 20 мая 2026 г.