EOS · Сервис курсов валют (Rate)

HTTP API для курсов валют. Эта страница — справка по эндпоинтам.

Порт: 3200 Фаза: /health Деплой: ветка deploy/rate/<env>

Авторизация. Все /api/* (кроме /api/bootstrap/* в фазе 0) требуют заголовок Authorization: Bearer <JWT>. Токен выдаёт сервис Auth; Rate проверяет его подпись по JWKS Auth (RATE_AUTH_URL).

Ответы. JSON: успех — { "data": … }, ошибка — { "error": { "code", "message" } }.

Служебные

GET/healthLiveness + текущая фаза (0 — нужен bootstrap, 1 — настроен).
GET/Эта страница (инструкция по API).

Bootstrap (только фаза 0)

Доступно лишь пока сервис не настроен (нет control-DB / Auth URL).

GET/api/bootstrap/statusНужна ли первичная настройка.
POST/api/bootstrap/configureЗадать controlDbUrl + authUrl.

Spaces (каталог и доступы)

POST/api/spacesСоздать Space.
GET/api/spacesСписок доступных Space.
GET/api/spaces/:spaceIdКарточка Space.
PATCH/api/spaces/:spaceId/visibilityСменить видимость.
POST/api/spaces/:spaceId/archiveАрхивировать Space.
GET/api/spaces/:spaceId/rolesРоли Space.
POST/api/spaces/:spaceId/rolesСоздать роль.
DELETE/api/spaces/:spaceId/roles/:roleIdУдалить роль.
POST/api/spaces/:spaceId/grantsВыдать доступ.
DELETE/api/spaces/:spaceId/grants/:grantIdОтозвать доступ.
POST/api/spaces/:spaceId/transfer-adminПередать админство.

Ingest (администрирование загрузки курсов)

GET/api/spaces/:spaceId/ingest/keysСписок API-ключей провайдера.
POST/api/spaces/:spaceId/ingest/keysДобавить ключ.
PATCH/api/spaces/:spaceId/ingest/keys/:keyId/disableОтключить ключ.
PATCH/api/spaces/:spaceId/ingest/keys/:keyId/reactivateВключить ключ.
GET/api/spaces/:spaceId/ingest/configКонфигурация загрузки.
PUT/api/spaces/:spaceId/ingest/configИзменить конфигурацию.
POST/api/spaces/:spaceId/ingest/backfillДогрузить историю за период.
POST/api/spaces/:spaceId/ingest/fetchРазовая ручная загрузка.

Rates (чтение курсов)

GET/api/spaces/:spaceId/rates/pairsДоступные валютные пары.
GET/api/spaces/:spaceId/rates/rawСырые значения за период.
GET/api/spaces/:spaceId/rates/intervalАгрегация по интервалу.
GET/api/spaces/:spaceId/rates/trailingСкользящее среднее.

Views (дашборды и списки)

GET/api/spaces/:spaceId/dashboardsДашборды пользователя (+ POST/PATCH/DELETE).
GET/api/spaces/:spaceId/template/dashboardsШаблонные дашборды Space (+ POST/PATCH/DELETE).
GET/api/spaces/:spaceId/listsСписки пар (+ POST/PATCH/DELETE).
GET/api/spaces/:spaceId/template/listsШаблонные списки Space (+ POST/PATCH/DELETE).
GET/api/spaces/:spaceId/last-openedПоследний открытый вид (GET/PUT).

Bindings и Export

POST/api/spaces/:spaceId/bindingsПривязать внешнего потребителя.
GET/api/spaces/:spaceId/bindingsСписок привязок.
DELETE/api/spaces/:spaceId/bindings/:bindingIdУдалить привязку.
GET/api/spaces/:spaceId/export/ratesЭкспорт курсов (для интеграций платформы).