API — обзор

Last updated: 2026-10-29Что сегодня открыто стороннему разработчику, какой доступ нужен каждому API, где его взять и как выглядят ошибки и лимиты.

Обзор API

Здесь описано только то, что сторонний разработчик может вызвать уже сегодня. Большая часть платформы общается сама с собой через закрытые эндпоинты, которых здесь нет, и ваши запросы они отклонят. Чего нет на этих страницах, то пока не публичное API.

Что открыто

APIХостДоступСтатус
Вход через Syndicateauth.aperturesyndicate.comOAuth-клиент из Dev StudioОткрыт разработчикам
ASAIasai.aperturesyndicate.comключ asai_…Платно
Каталог Resonanceresonance-api.aperturesyndicate.comне нуженОткрыт, для личных и некоммерческих проектов
Сервер игры Apeironapeiron.aperturesyndicate.comигровой ключ ags_…Открыт опубликованным играм
Реестр SYNXsynx.aperturesyndicate.comчтение без доступа, публикация — сессия CLIОткрыт
Статусstatus.aperturesyndicate.comне нуженОткрыт

Вебхуков, оплаты по факту вне ASAI и публичных API чата, профилей и датасетов нет.

Как получить доступ

Всё, что требует доступа, начинается в Dev Studio. Студия работает на вашем обычном аккаунте Синдиката.

  1. Запросите доступ разработчика на dev.aperturesyndicate.com/apply. Бейдж Developer выдаётся в момент отправки; заявку мы читаем потом и можем бейдж снять.
  2. Sign-in apps — заведите OAuth-клиент и получите client_id.
  3. Wallet и ASAI keys — пополните папку кошелька и выпустите ключ asai_…, который из неё платит.
  4. Apps & games → ваша игра → Items — выпустите ключи ags_… для сервера игры.

Если бейдж Developer снят, ваши ключи отзываются вместе с ним.

Запросы и ответы

  • Только HTTPS, тело в JSON с content-type: application/json, если на странице не сказано иное.
  • Время — ISO 8601 в UTC; у длительностей единица в имени поля (durationMs).
  • Идентификаторы — UUID, если не сказано иное. Id игры — её pb_….
  • Списки принимают limit и offset и возвращают страницу вместе с общим count.

Ошибки

Большинство API отвечает на ошибку JSON с понятным человеку текстом и постоянным машинным кодом:

json
{ "error": "Unknown client", "code": "INVALID_CLIENT" }

Ветвитесь по code, а не по тексту. Исключение — ASAI: он отвечает в формате OpenAI, чтобы готовые SDK его понимали, см. ASAI.

СтатусЗначит
400Запрос собран неправильно или ссылается на то, чего нет
401Доступа нет, он неверный или отозван
402Папка кошелька за ключом ASAI пуста
403Доступ верный, но этого не разрешает
404Не найдено — и для того, что существует, но не ваше
409Действие отклонило правило: лимит, повтор, состояние проверки
429Лимит запросов — притормозите и повторите позже
5xxОшибка на нашей стороне; повторите с паузой

Лимиты

APIЛимит
Вход, /authorize30 в минуту с IP
Вход, /token60 в минуту с IP
ASAI60 запросов в минуту на ключ
Каталог Resonance300 запросов в минуту с IP

Запрос сверх лимита получает 429. Сделайте паузу: повтор в тесном цикле только продлевает ограничение.

Стабильность

Описанное поле не удаляется и не переименовывается без предупреждения на этой странице. Новые поля могут появиться в любом ответе в любой момент — незнакомые просто пропускайте. Неописанные поля меняются без предупреждения.

Правила

Пользуясь API, вы принимаете Условия для разработчиков и API. На каталог Resonance действует ещё и раздел 8 Условий Resonance, он строже: без коммерческого использования без договорённости, с обязательной ссылкой на источник, а удалённые треки должны исчезнуть из вашего приложения в течение семи дней.

Нашли уязвимость? См. Ответственное раскрытие.

API — обзор | AS Docs