---
title: "Composio SDK"
description: "Поддерживаемый клиент, совместимые версии и ограничения."
group: "Техническая документация"
order: 25
---

## Адреса этого стенда

- Документация: https://context4.me/docs.md
- Индекс для агента: https://context4.me/docs/agent-index.json
- Консоль и подключения: https://console.context4.me/integrations
- MCP: https://context4.me/mcp
- HTTP API: https://context4.me/v1
- Composio base URL: https://context4.me/compat/context4/v1
- OpenAPI: https://context4.me/docs/openapi.json
- Каталог HTTP/MCP: https://context4.me/docs/api-index.json
- Маршруты Composio: https://context4.me/docs/compat-routes.json
- Коннекторы: https://context4.me/docs/connectors.json


# 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-маршрутов](https://context4.me/docs/compat-api-reference.md) показывает методы, пути, полномочия и статусы. Нативные запросы `/v1` описаны отдельным [OpenAPI](https://context4.me/docs/openapi.json); не переносите между ними имена полей автоматически.

## 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](https://context4.me/docs/ai-mcp.md) объясняет 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](https://context4.me/docs/proxy-requests.md) использует `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](https://context4.me/docs/api-endpoints.md).
