Skip to content
ВозможностиДокументацияЦеныПартнёры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
1# JWT токен в заголовке
2Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
3
4# API ключ в заголовке
5Authorization: Bearer flk_live_abc123...
6# Или через x-api-key
7x-api-key: flk_live_abc123...

Token Scopes

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

Эндпоинты

Health & System

GET/healthzpublic

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

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

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

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

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

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

Auth & Account

POST/api/v1/signuppublic

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

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

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

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

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

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

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

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

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

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

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

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

Agents & Control Plane

GET/api/agentsauth required

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

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

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

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

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

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

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

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

Системный heartbeat

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

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

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

Devices

POST/api/devices/pairpublic

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

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

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

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

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

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

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

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

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

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

GitOps

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

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

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

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

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

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

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

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

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

Статус GitOps Guard

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

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

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

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

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

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

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

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

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

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

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

GitOps Webhook endpoint

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

Shield & Security

GET/api/shield/alertsauth required

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

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

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

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

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

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

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

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

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

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

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

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

Audit & Compliance

GET/api/auditauth required

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

system:read
bash
1curl -X GET https://relay.flow-masters.ru:9081/api/audit \
2 -H "Authorization: Bearer YOUR_JWT_TOKEN" \
3
4 -G --data-urlencode "start_time=2025-01-01T00:00:00Z" \
5 -G --data-urlencode "end_time=2025-01-02T00:00:00Z"
GET/api/audit/exportauth required

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

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

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

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

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

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

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

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

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

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

Integrations & Webhooks

GET/api/integrationsauth required

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

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

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

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

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

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

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

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

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

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

OAuth callback

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

Webhook для Alertmanager

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

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

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

Webhook для Telegram бота

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

Admin & Management

GET/api/admin/configauth required

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RBAC & Roles

POST/api/v1/rolesauth required

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

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

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

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

Детали роли

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

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

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

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

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

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

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

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

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

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

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

Real-Time & Streaming

GET/wsauth required

WebSocket соединение

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

Server-Sent Events (SSE)

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

MCP JSON-RPC endpoint

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

MCP streaming

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

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

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

json
1{
2 "error": {
3 "code": "INVALID_TOKEN",
4 "message": "JWT token is invalid or expired",
5 "details": {}
6 }
7}
8
9# Частые коды ошибок:
10# - INVALID_TOKEN: JWT токен недействителен
11# - INSUFFICIENT_SCOPES: Недостаточно прав
12# - AGENT_NOT_FOUND: Агент не найден
13# - POLICY_NOT_FOUND: Политика не найдена
14# - COMMAND_BLOCKED: Команда заблокирована
15# - 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

Безлимит

Edit this page