ВозможностиДокументацияЦеныPlaygroundFAQ

REST API Reference

HTTP API для интеграции с FlowLink

~6 мин чтения

Base URLs

Productionhttps://relay.flow-masters.ru:9081
Localhttp://127.0.0.1:9081
Staginghttps://staging.flow-masters.ru:9081

Аутентификация

Большинство эндпоинтов требуют JWT токен или API ключ. JWT токены получаются через /api/v1/signup или /api/v1/login.

bash
# JWT токен в заголовке
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

# API ключ в заголовке
Authorization: Bearer flk_live_abc123...
# Или через x-api-key
x-api-key: flk_live_abc123...

Token Scopes

agents:readagents:writeagents:adminpolicy:readpolicy:writeapprovals:writesystem:readsystem:write

Эндпоинты

Health & System

GET/healthzpublic

Базовая проверка работоспособности

bash
curl -X GET https://relay.flow-masters.ru:9081/healthz
GET/healthpublic

Детальная проверка состояния системы

bash
curl -X GET https://relay.flow-masters.ru:9081/health
GET/metricsauth required

Метрики в формате Prometheus

bash
curl -X GET https://relay.flow-masters.ru:9081/metrics \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Auth & Account

POST/api/v1/signuppublic

Регистрация пользователя

bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/signup \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "secure_password",
    "organization": "My Company"
  }'
GET/api/account/infoauth required

Информация о текущем аккаунте

bash
curl -X GET https://relay.flow-masters.ru:9081/api/account/info \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/account/settingsauth required

Получение настроек аккаунта

bash
curl -X GET https://relay.flow-masters.ru:9081/api/account/settings \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
PUT/api/account/settingsauth required

Обновление настроек аккаунта

bash
curl -X PUT https://relay.flow-masters.ru:9081/api/account/settings \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "language": "en",
    "timezone": "UTC"
  }'
GET/api/account/notificationsauth required

Получение уведомлений пользователя

bash
curl -X GET https://relay.flow-masters.ru:9081/api/account/notifications \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/account/notifications/{id}/readauth required

Отметить уведомление как прочитанное

bash
curl -X POST https://relay.flow-masters.ru:9081/api/account/notifications/notif_123/read \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Agents & Control Plane

GET/api/agentsauth required

Список всех агентов

agents:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/agents \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/v1/agentsauth required

Список агентов через Control Plane

agents:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/agents \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/v1/agents/{id}auth required

Детали конкретного агента

agents:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/agents/agent_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
DELETE/api/v1/agents/{id}auth required

Удаление (дерегистрация) агента

agents:admin
bash
curl -X DELETE https://relay.flow-masters.ru:9081/api/v1/agents/agent_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/v1/heartbeatpublic

Системный heartbeat

bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/heartbeat \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "agent_abc",
    "status": "healthy"
  }'
GET/api/exec/{agent_id}auth required

Выполнение команды на агенте

agents:write
bash
curl -X GET https://relay.flow-masters.ru:9081/api/exec/agent_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -G --data-urlencode "command=ls -la"

Devices

POST/api/devices/pairpublic

Привязка нового устройства

bash
curl -X POST https://relay.flow-masters.ru:9081/api/devices/pair \
  -H "Content-Type: application/json" \
  -d '{
    "device_name": "Workstation-01",
    "pairing_code": "XYZ-123"
  }'
POST/api/devices/confirmpublic

Подтверждение привязки устройства

bash
curl -X POST https://relay.flow-masters.ru:9081/api/devices/confirm \
  -H "Content-Type: application/json" \
  -d '{
    "device_id": "dev_abc",
    "token": "pairing_token_xyz"
  }'
GET/api/devicesauth required

Список всех устройств

bash
curl -X GET https://relay.flow-masters.ru:9081/api/devices \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
DELETE/api/devices/{id}auth required

Удаление устройства

bash
curl -X DELETE https://relay.flow-masters.ru:9081/api/devices/dev_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/devices/{id}/trustauth required

Проверка статуса доверия устройства

bash
curl -X GET https://relay.flow-masters.ru:9081/api/devices/dev_abc/trust \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

GitOps

GET/api/v1/gitops/drift/{agent_id}auth required

Проверка отклонения конфигурации (Drift)

policy:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/gitops/drift/agent_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/v1/gitops/backup/{agent_id}auth required

Запуск бэкапа конфигурации

policy:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/gitops/backup/agent_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/v1/gitops/backups/{agent_id}auth required

Список бэкапов

policy:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/gitops/backups/agent_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/v1/gitops/restore/{agent_id}auth required

Восстановление из бэкапа

policy:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/gitops/restore/agent_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "backup_id": "bak_123"
  }'
GET/api/v1/gitops/guard/{agent_id}auth required

Статус GitOps Guard

policy:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/gitops/guard/agent_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/v1/gitops/reposauth required

Список репозиториев

policy:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/gitops/repos \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/v1/gitops/reposauth required

Создание репозитория

policy:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/gitops/repos \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Main Policy Repo",
    "provider": "github",
    "url": "https://github.com/org/repo"
  }'
POST/api/v1/gitops/applyauth required

Применение политики

policy:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/gitops/apply \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "repo_url": "https://github.com/org/repo",
    "branch": "main",
    "policy_path": "policies/agent.yaml"
  }'
POST/api/v1/gitops/rollbackauth required

Откат версии политики

policy:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/gitops/rollback \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "policy_id": "pol_abc",
    "version": "v1.2.0"
  }'
GET/api/v1/gitops/versionsauth required

Список версий политик

policy:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/gitops/versions \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/v1/gitops/webhookpublic

GitOps Webhook endpoint

bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/gitops/webhook \
  -H "Content-Type: application/json" \
  -d '{
    "event": "push",
    "repository": "main-repo"
  }'

Shield & Security

GET/api/shield/alertsauth required

Список активных алертов

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/shield/alerts \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/shield/approve/{pid}auth required

Одобрение заблокированного процесса

approvals:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/shield/approve/proc_123 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "Authorized by admin"
  }'
POST/api/shield/reject/{pid}auth required

Отклонение заблокированного процесса

approvals:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/shield/reject/proc_123 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "Malicious activity detected"
  }'
POST/api/shield/resolveauth required

Разрешение алерта

approvals:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/shield/resolve \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_id": "alrt_456"
  }'
POST/api/shield/ingestauth required

Импорт алертов безопасности

system:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/shield/ingest \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "external_siem",
    "alerts": [...]
  }'
POST/api/shield/canaryauth required

Запуск canary-теста

system:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/shield/canary \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"}

Audit & Compliance

GET/api/auditauth required

Запрос логов аудита

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/audit \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \

  -G --data-urlencode "start_time=2025-01-01T00:00:00Z" \
  -G --data-urlencode "end_time=2025-01-02T00:00:00Z"
GET/api/audit/exportauth required

Экспорт логов аудита

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/audit/export \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Accept: application/json"
POST/api/audit/eventauth required

Регистрация события аудита

audit:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/audit/event \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "event_type": "user_login",
    "actor": "admin",
    "details": {}
  }'
GET/api/v1/compliance/reportauth required

Получение отчёта о комплаенсе

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/compliance/report \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/v1/compliance/reportsauth required

Список отчётов

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/compliance/reports \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/v1/compliance/report/generateauth required

Генерация отчёта

system:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/compliance/report/generate \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "audit_summary",
    "period": "last_30_days"
  }'

Integrations & Webhooks

GET/api/integrationsauth required

Список установленных интеграций

bash
curl -X GET https://relay.flow-masters.ru:9081/api/integrations \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/integrationsauth required

Установка интеграции

bash
curl -X POST https://relay.flow-masters.ru:9081/api/integrations \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "slack",
    "config": {}
  }'
DELETE/api/integrations/{id}auth required

Удаление интеграции

bash
curl -X DELETE https://relay.flow-masters.ru:9081/api/integrations/int_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/integrations/oauth/beginauth required

Начало OAuth процесса

bash
curl -X POST https://relay.flow-masters.ru:9081/api/integrations/oauth/begin \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "integration_id": "int_abc"
  }'
GET/api/integrations/catalogauth required

Каталог интеграций

bash
curl -X GET https://relay.flow-masters.ru:9081/api/integrations/catalog \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/integrations/oauth/callbackauth required

OAuth callback

bash
curl -X GET https://relay.flow-masters.ru:9081/api/integrations/oauth/callback \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -G --data-urlencode "code=abc123def" \
  -G --data-urlencode "state=xyz"
POST/api/webhooks/alertmanagerpublic

Webhook для Alertmanager

bash
curl -X POST https://relay.flow-masters.ru:9081/api/webhooks/alertmanager \
  -H "Content-Type: application/json" \
  -d '{
    "status": "firing",
    "alerts": [...]
  }'
POST/api/webhooks/generic-alertpublic

Общий webhook для алертов

bash
curl -X POST https://relay.flow-masters.ru:9081/api/webhooks/generic-alert \
  -H "Content-Type: application/json" \
  -d '{
    "event": "security_alert",
    "payload": {}
  }'
POST/api/tg/webhookpublic

Webhook для Telegram бота

bash
curl -X POST https://relay.flow-masters.ru:9081/api/tg/webhook \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "123456",
    "message": "Hello!"
  }'

Admin & Management

GET/api/admin/configauth required

Конфигурация системы

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/admin/config \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/admin/config/reloadauth required

Перезагрузка конфигурации

system:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/admin/config/reload \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/admin/accountsauth required

Список учетных записей

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/admin/accounts \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
PUT/api/admin/accounts/{id}/planauth required

Изменение тарифного плана

system:write
bash
curl -X PUT https://relay.flow-masters.ru:9081/api/admin/accounts/usr_abc/plan \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "plan_id": "pro"
  }'
POST/api/admin/accounts/{id}/toggleauth required

Активация/деактивация аккаунта

system:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/admin/accounts/usr_abc/toggle \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "active": false
  }'
GET/api/admin/dashboard-statsauth required

Глобальная статистика дашборда

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/admin/dashboard-stats \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/admin/plansauth required

Список тарифных планов

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/admin/plans \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/admin/plansauth required

Создание тарифного плана

system:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/admin/plans \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Enterprise Plus",
    "price": 999,
    "features": [...]
  }'
PUT/api/admin/plans/{id}auth required

Обновление тарифного плана

system:write
bash
curl -X PUT https://relay.flow-masters.ru:9081/api/admin/plans/plan_abc/ \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 499
  }'
DELETE/api/admin/plans/{id}auth required

Удаление тарифного плана

system:write
bash
curl -X DELETE https://relay.flow-masters.ru:9081/api/admin/plans/plan_abc \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/admin/subscriptionsauth required

Список подписок

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/admin/subscriptions \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/admin/ordersauth required

Список заказов

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/admin/orders \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

RBAC & Roles

POST/api/v1/rolesauth required

Создание кастомной роли

system:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/roles \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Security Auditor",
    "permissions": ["audit:read"]
  }'
GET/api/v1/rolesauth required

Список всех ролей

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/roles \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
GET/api/v1/roles/{name}auth required

Детали роли

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/roles/admin \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
PUT/api/v1/roles/{name}auth required

Обновление роли

system:write
bash
curl -X PUT https://relay.flow-masters.ru:9081/api/v1/roles/admin \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "permissions": ["all"]
  }'
DELETE/api/v1/roles/{name}auth required

Удаление роли

system:write
bash
curl -X DELETE https://relay.flow-masters.ru:9081/api/v1/roles/admin \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
POST/api/v1/roles/{name}/assignauth required

Назначение роли пользователю

system:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/roles/admin/assign \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "usr_123"
  }'
POST/api/v1/roles/{name}/revokeauth required

Отозвание роли у пользователя

system:write
bash
curl -X POST https://relay.flow-masters.ru:9081/api/v1/roles/admin/revoke \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "usr_123"
  }'
GET/api/v1/roles/user/{user_id}auth required

Список ролей пользователя

system:read
bash
curl -X GET https://relay.flow-masters.ru:9081/api/v1/roles/user/usr_123 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Real-Time & Streaming

GET/wsauth required

WebSocket соединение

bash
# WebSocket handshake
wss://relay.flow-masters.ru:9081/ws
GET/api/eventsauth required

Server-Sent Events (SSE)

bash
curl -X GET https://relay.flow-masters.ru:9081/api/events \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Accept: text/event-stream"
POST/mcpauth optional

MCP JSON-RPC endpoint

bash
# MCP tools/list (public)
curl -X POST https://relay.flow-masters.ru:9081/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'
POST/mcp/streamauth optional

MCP streaming

bash
curl -X POST https://relay.flow-masters.ru:9081/mcp/stream \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": { ... }
  }'

Ответы с ошибками

Все ошибки возвращаются в формате JSON с полем error.

json
{
  "error": {
    "code": "INVALID_TOKEN",
    "message": "JWT token is invalid or expired",
    "details": {}
  }
}

# Частые коды ошибок:
# - INVALID_TOKEN: JWT токен недействителен
# - INSUFFICIENT_SCOPES: Недостаточно прав
# - AGENT_NOT_FOUND: Агент не найден
# - POLICY_NOT_FOUND: Политика не найдена
# - COMMAND_BLOCKED: Команда заблокирована
# - RATE_LIMIT_EXCEEDED: Превышен лимит запросов

Rate Limiting

API имеет rate limiting для предотвращения abuse. Лимиты указаны в заголовках ответа.

Заголовки Rate Limit

X-RateLimit-Limit: 1000

X-RateLimit-Remaining: 950

X-RateLimit-Reset: 1642245600

Лимиты по планам

Starter

100 req/min

Team

500 req/min

Business

2 000 req/min

Enterprise

Безлимит