Описывайте API в форме. Swagger соберётся сам.

Kontrakta — редактор контрактов API для аналитиков. Вы заполняете методы и модели, редактор проверяет каждое поле и выдаёт swagger для бекенда, types.ts и моки для фронтенда, а описание — для Confluence.

Без регистрации. Документы хранятся в вашем браузере.

Модель User
Имя поля Тип Обяз.
Это настоящий генератор: поменяйте имя или тип поля.

Как это работает

  1. Опишите

    Методы, параметры, тела запросов, ответы и модели — в строгих формах. Параметры пути появляются из самого пути, operationId предлагается сам.

  2. Проверьте

    Редактор сразу показывает ошибки: имена не в camelCase, пустые описания, конфликтующие пути. Щелчок по ошибке ведёт прямо к полю.

  3. Выгрузите

    Swagger 2.0, OpenAPI 3.0 или 3.1 в YAML и JSON, types.ts и JSON-моки для фронтенда, описание метода для Confluence или Markdown.

Возможности

Строгий редактор вместо ручного YAML

Каждое поле проверяется на лету. Справа видно, что получится: YAML, JSON, Swagger UI, types.ts и моки — для всего документа или только открытого метода.

  • Поиск по документу и переход к ошибке в один щелчок
  • Дженерики вроде PaginatedResponse<T> и композиции oneOf с дискриминатором
  • Версии метода с метками: 1.2, EPIC-123 — и выгрузка нужной версии
  • Отмена и повтор любой правки
  • Импорт готового swagger 2.0, 3.0 и 3.1
Редактор метода GET /users/{userId}/roles: формы слева, YAML справа

Общие модели с версиями

Модели, общие для нескольких API, живут в каталоге и публикуются версиями. Документ сам решает, когда переходить на новую версию, — правка в каталоге не ломает чужие сервисы.

  • Перед публикацией видно, какие изменения ломающие
  • Подключить, склонировать или создать производную для PATCH
  • Производная модель прямо из поля или тела запроса: свой состав и обязательные поля
  • Поля другой модели одной кнопкой: «Унаследовать из модели»
  • Перенос модели из документа в каталог и обратно
Каталог моделей: публикация версии и история изменений

Одно описание — для всей команды

Аналитик описывает контракт один раз. Бекенд получает валидный swagger для генераторов, фронтенд — типы и моки, чтобы начать работу до готовности API.

  • types.ts с интерфейсами запросов и ответов
  • Моки с правдоподобными данными: даты, uuid, email, enum
  • Выгрузка всего документа, выбранных методов или только моделей
Окно экспорта: swagger, types.ts и моки

Описание для Confluence из того же контракта

Страница метода собирается из документа: параметры, поля тел и ответов с ограничениями и значениями enum, примеры JSON. Не нужно вести описание в вики отдельно и сверять его со swagger.

  • Вставка в Confluence готовыми заголовками и таблицами
  • Wiki-разметка Confluence: примеры становятся макросом «Код»
  • Markdown для README в git
Окно «Описание для вики»: превью страницы метода с таблицей параметров

Кому это нужно

Аналитикам
Описывают API без знания YAML и тонкостей OpenAPI. Страница для Confluence собирается из того же контракта.
Бекенду
Получают swagger, который проходит валидацию и генерирует код без ручных правок.
Фронтенду
Получают types.ts и моки в тот же день, когда описан контракт, а не когда готов сервер.

Установка на сервер компании

Kontrakta ставится в вашем контуре: один Docker-образ и PostgreSQL. Документы не покидают сеть компании. Сейчас установка доступна как пилот по запросу.

Вход через Keycloak
Сотрудники входят учётной записью компании по OpenID Connect. Kontrakta не хранит паролей.
Пространства и роли
Документы лежат по командам. Роли «просмотр», «правка» и «администратор» приходят из групп IdP или выдаются в Kontrakta. Закрытые пространства — только для своих.
Работа вместе без потерь
Документ правит один человек, остальные видят, кто его держит. Без связи правки сохраняются в браузере и уходят на сервер позже. Сервер хранит историю версий документа.
Лицензия по числу редакторов
Платят только за тех, кто правит. Читатели не ограничены. Пилот — 30 дней.
Безопасные обновления
Перед обновлением администратор проверяет новой версией, как она откроет все документы и их историю. Документы при обновлении не переписываются.
Российский продукт
Интерфейс и поддержка на русском. Правообладатель — российский индивидуальный предприниматель, оплата в рублях.

Напишите нам, чтобы обсудить пилот на вашем сервере.

Тарифы

Пробная версия доступна сейчас, установка на ваш сервер — как пилот по запросу. Облако — в работе.

Таблица прокручивается вбок.

Сравнение тарифов
Возможность Пробная Личная Команда Enterprise
Статус Доступна сейчас Скоро Скоро Пилот по запросу
Для кого Попробовать продукт Один специалист Студии и компании до 20 человек Крупные компании
Где хранятся документы В вашем браузере Облако в России Облако в России Ваш сервер
Документов Документ API и каталог моделей Без ограничений Без ограничений Без ограничений
Экспорт swagger, types.ts, моков Есть Есть Есть Есть
Описание для Confluence и Markdown Есть Есть Есть Есть
Общие модели с версиями Есть, в одном каталоге Есть Общий каталог команды Общий каталог компании
Несколько устройств Нет До 5 Есть Есть
Пространства, роли и блокировка на правку Нет Нет Есть Есть
Вход через Keycloak компании (SSO) Нет Нет Нет Есть
Попробовать бесплатно

Хотите обсудить пилот на своём сервере или узнать о запуске облака? Напишите нам.