Finance OS / API

Introduction

Finance OS API — это REST-интерфейс к финансовой платформе Finance OS. Через него можно управлять криптокошельками, проводить операции на биржах через единый API (по аналогии с 3commas), получать AI-аналитику рынка, организовывать майнинг и проводить B2B-операции в одном кабинете.

С чего начать
Если вы здесь впервые — переходите к Authentication, получайте токен и пробуйте свой первый GET /api/mobile/user.

Принципы API

  • REST — стандартная семантика: GET для чтения, POST для создания, PATCH для обновления, DELETE для удаления.
  • JSON — тела запросов и ответов всегда в JSON. Обязательные заголовки: Content-Type: application/json, Accept: application/json.
  • HTTPS-only — обычный HTTP отклоняется на уровне nginx.
  • Bearer-auth — все приватные endpoints требуют Authorization: Bearer {token}. Поддерживаются два формата: API keys (sk_live_… / sk_test_…) для серверных интеграций и Sanctum session tokens (123|…) для мобильных приложений. Детали — в разделе Authentication.
  • UTF-8 — все строки, включая поля адресов и комментариев на кириллице.

Базовый URL

Production:

https://fin-os.io/api

Все пути в этой документации указываются с префиксом /api, который не нужно дублировать в коде клиента — Finance OS API не использует версионирование путей в v1, версия передаётся через Accept-Version заголовок (опционально, по умолчанию текущая стабильная).

Sandbox недоступен в v1
Тестовое окружение появится в v1.1. Сейчас все запросы идут в продакшн — будьте внимательны с операциями вывода средств.

Формат данных

Соглашения по типам

Name Type Required Description
string UTF-8 string optional Кириллица и эмодзи разрешены, RTL не поддерживается.
integer int64 optional Идентификаторы и счётчики.
decimal string optional Только строкой с точкой как разделителем: "1234.56789012". Никогда не float — потеря точности.
uuid string optional UUID v4: 5f8d…. Используется как первичный ключ для большинства публичных ресурсов.
timestamp string (ISO-8601, UTC) optional 2026-05-27T14:23:00Z. Локальная зона клиента — забота клиента.
currency string (ISO-4217 или ticker) optional RUB, USD, USDT, BTC, KAS, LTC.
network enum optional TRC20, ERC20, BEP20, BTC, LTC, KAS, SOL, TON.

Форма ответа

Все успешные ответы имеют единую обёртку:

{
  "data": { ... },
  "meta": { ... }
}

Для списков с пагинацией добавляются поля links и meta.current_page / last_page / per_page / total — детально в Pagination.

Ошибки

Ошибки возвращают HTTP-статус из семейства 4xx/5xx и тело вида:

{
  "message": "The given data was invalid.",
  "errors": {
    "email": ["The email field is required."]
  }
}

Полный справочник кодов и форматов — в Errors.

Лимиты

По умолчанию: 60 запросов в минуту на токен, 10 на IP для неавторизованных публичных endpoints. Превышение → 429 Too Many Requests. Заголовки X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After — в каждом ответе. Подробнее в Rate Limiting.

Поддержка

Технические вопросы: admin@fin-os.io. Sandbox-инцидент или авария — мы оповещаем через статус-страницу (планируется в v1.1).