Context4
Техническая документация

Composio SDK.

Поддерживаемый клиент, совместимые версии и ограничения.

Для интеграции через SDK используйте Composio с base URL https://context4.me/compat/context4/v1 и API-ключом Context4. Отдельный Context4 SDK не требуется. SDK добавляет свой путь /api/v3.1/...; не добавляйте его к base URL второй раз.

Поддерживаемые группы версий

ГруппаВерсии
Legacy@composio/core@0.13.1, @composio/client@0.1.0-alpha.74
Tool Router@composio/core@0.14.0
Sessions/Mastra@composio/client@0.1.0-alpha.76, @composio/core@0.17.0, @composio/mastra@0.10.3, strict MastraProvider

Совместимость конкретной группы не означает полную совместимость с любым будущим SDK. Реестр всех compat HTTP-маршрутов показывает методы, пути, полномочия и статусы. Нативные запросы /v1 описаны отдельным OpenAPI; не переносите между ними имена полей автоматически.

Discovery и выполнение

Каталог инструментов, toolkit/auth configs, жизненный цикл connected account, Tool Router sessions, session tools и direct execute используют контракты SDK. user_id — непрозрачный идентификатор конечного пользователя; не помещайте туда email или персональные данные. Explicit account должен быть доступен данному principal и tenant. Auth-config UUID фильтруется точно, несколько ID образуют union, пересечённый с toolkit-фильтром.

Обычное direct execute принимает SDK arguments, выбранный connected_account_id и при необходимости user_id. Tool slug получайте из discovery. Не подменяйте имена угаданным действием, если точный slug не найден. Сначала получите входную схему; сама доступность account не гарантирует право на действие.

Создание session без Idempotency-Key создаёт новую сессию при каждом запросе. Явный ключ повторяет исходную, сохраняя TTL и policy. Explicit idempotency key у direct execute сохраняет helper session на 24-часовое окно replay; тот же account и arguments возвращают исходный log_id. Изменённые аргументы конфликтуют. Без явного ключа выполнение независимо, lifetime helper — 15 минут.

Session search и execute ограничены session snapshot, флагами и read-only policy. Динамический MCP URL возвращается сессией; копируйте его из результата. Справочник MCP объясняет aliases и polling.

Конверт и отрицательное подтверждение

Проверяйте SDK-поля successful, error, data и log_id; HTTP 200 не является достаточным признаком успеха действия. Состояние и payload нативного Execution имеют другую форму.

Иногда terminal failure содержит data.failure_effect: not_applied и data.execution_id: это сохранённое подтверждение отсутствия применения. Сейчас оно ограничено single-attempt UPDATE lead amoCRM с явным отказом 400. Отсутствие поля ничего не доказывает: таймауты, неизвестный ответ и составные операции могут иметь внешний эффект. Не выводите «можно безопасно повторить» только из кода ошибки.

Proxy, файлы и ограничения

Raw proxy использует endpoint, method, parameters, необязательный body и выбранный connected account. У session proxy также действуют session gates. Файловый API предоставляет upload request/list и session mount URLs; содержимое загружается на возвращённый presigned URL, а не как произвольное большое тело public API. Доступность mounts зависит от конфигурации развёртывания.

Compat trigger discovery — намеренная заглушка: список пуст, retrieve даёт not-found, create/delete — 501 trigger_compat_not_implemented. Нативные provider-event subscriptions и syncs не превращают её в Composio trigger parity. Workbench/bash могут перечисляться при включённом флаге, но отвечают not_supported. Custom tools и подключение внешнего MCP-toolkit не следует считать завершёнными только из-за наличия конфигурационного ресурса.

Внешние endpoint-автоматизации first-party workflow engine используют отдельный платформенный контракт. Для клиентского приложения публичный вход в raw endpoint catalog — native discovery и mirror.