Перейти к содержимому
CalabДокументация

Версия API

Как узнать версию сервера, как версионируются REST, gateway и вебхуки и что считается совместимым изменением.

GET /api/version

Публичный маршрут без авторизации: версия сборки сервера и сведения о лицензии.

curl -s https://app.example.com/api/version
JSON
{
  "version": "3.3.0",
  "commit": "75c4474",
  "license": "BUSL-1.1",
  "commercialLicense": "…",
  "attribution": "…",
  "url": "…",
  "product": "Calab",
  "planContact": "…"
}
ПолеЧто это
versionверсия релиза сервера; dev — локальная сборка
commitкороткий git-коммит сборки; unknown, если не проставлен
licenseSPDX-идентификатор лицензии
commercialLicenseгде получить коммерческую лицензию
attribution · urlтекст и ссылка атрибуции, которую показывают клиенты
productназвание продукта для людей
planContactкуда обращаться за платным тарифом

Сверяйте version с журналом изменений API, чтобы понять, есть ли на сервере нужная вам возможность.

Как версионируется API

ИнтерфейсВерсияПравило
REST /api/…без версии в путитолько расширяется: новые маршруты, поля и значения перечислений; существующие не меняют смысл
Gateway?v=1 в адресеновые события и поля добавляются без смены версии; несовместимое изменение — новая версия протокола
Вебхук бота—тело — BotWebhookUpdate, растёт как события gateway
Вебхук доскизаголовок X-Calab-Webhook-Version: 1, поле versionполя только добавляются
OAuth / OIDCdiscovery-документ пространствавозможности провайдера перечислены в /.well-known/openid-configuration

Как писать совместимый клиент

  • Пропускайте незнакомые поля ответов и событий — они появляются без предупреждения.
  • Обрабатывайте незнакомые значения перечислений как «другое», а не как ошибку.
  • Не полагайтесь на порядок полей в JSON и на текст message в ошибках.
  • Передавайте только известные вам поля запроса: сервер игнорирует неизвестные, поэтому опечатка в имени поля не вызовет ошибку — проверяйте ответ.
  • Числа uint64 (размеры файлов, seq) приходят строками — не теряйте точность.