Skip to content

Connections

List Connections

List connections for the organisation, visible to the caller.

PRIVATE connections owned by someone else are omitted entirely (not just redacted). wildcard_agent_count is the number of org agents with a "*" tool grant — excluded from every connection’s used_by_agent_ids.

Omit limit to get every connection; total is a real COUNT of the visible set either way — never the size of the page.

Parameters

NameInTypeRequiredDescription
limitqueryintegernoMax rows to return (1-100). Omit to return every row.
offsetqueryintegernoRows to skip — pass the previous response’s next_offset.
org_idpathstring (uuid)yes

Responses

StatusDescriptionBody
200Successful Responseagentdepot_api__routers__connections__ConnectionListResponse
422Validation ErrorHTTPValidationError

GET /api/orgs/{org_id}/connections/{connection_id}

Section titled “GET /api/orgs/{org_id}/connections/{connection_id}”

Get Connection

Get a single connection by its prefixed ID.

A PRIVATE connection owned by someone else 404s — indistinguishable from a connection that doesn’t exist.

Parameters

NameInTypeRequiredDescription
connection_idpathstringyes
org_idpathstring (uuid)yes

Responses

StatusDescriptionBody
200Successful Responseagentdepot_api__routers__connections__ConnectionResponse
422Validation ErrorHTTPValidationError

PATCH /api/orgs/{org_id}/connections/{connection_id}

Section titled “PATCH /api/orgs/{org_id}/connections/{connection_id}”

Update Connection

Update a connection’s status (enable/disable) and/or display label.

Any org member may manage connections for now — see issue #260. A PRIVATE connection owned by someone else 404s.

Parameters

NameInTypeRequiredDescription
connection_idpathstringyes
org_idpathstring (uuid)yes

Request body (required)

FieldTypeRequiredDescription
labelstringno
statusstringno

Responses

StatusDescriptionBody
200Successful Responseagentdepot_api__routers__connections__ConnectionResponse
422Validation ErrorHTTPValidationError

DELETE /api/orgs/{org_id}/connections/{connection_id}

Section titled “DELETE /api/orgs/{org_id}/connections/{connection_id}”

Delete Connection

Disconnect / remove a connection.

Any org member may remove a connection visible to them for now — see issue #260. A PRIVATE connection owned by someone else 404s.

Parameters

NameInTypeRequiredDescription
connection_idpathstringyes
org_idpathstring (uuid)yes

Responses

StatusDescriptionBody
204Successful Response
422Validation ErrorHTTPValidationError

PATCH /api/orgs/{org_id}/connections/{connection_id}/scope

Section titled “PATCH /api/orgs/{org_id}/connections/{connection_id}/scope”

Update Connection Scope

Convert a connection’s visibility scope (private ⇄ org).

Any org member who can see the connection may change its scope (same permission model as editing its label / disconnecting it). A private row is only visible to its owner, so only the owner can re-scope it; an org-scoped row is re-scopable by any member. Making a connection with no recorded owner (owner_user_id NULL — e.g. a pre-existing row) private assigns ownership to the member performing the change.

Parameters

NameInTypeRequiredDescription
connection_idpathstringyes
org_idpathstring (uuid)yes

Request body (required)

FieldTypeRequiredDescription
scopestringyes

Responses

StatusDescriptionBody
200Successful Responseagentdepot_api__routers__connections__ConnectionResponse
422Validation ErrorHTTPValidationError

GET /api/orgs/{org_id}/connections/by-slug/{slug}

Section titled “GET /api/orgs/{org_id}/connections/by-slug/{slug}”

Get Connection By Slug

Get a single connection by its URL slug.

Parameters

NameInTypeRequiredDescription
org_idpathstring (uuid)yes
slugpathstringyes

Responses

StatusDescriptionBody
200Successful Responseagentdepot_api__routers__connections__ConnectionResponse
422Validation ErrorHTTPValidationError

GET /api/orgs/{org_id}/connections/catalog

Section titled “GET /api/orgs/{org_id}/connections/catalog”

Get Catalog

Return the app-level connections catalog: one card per product.

Merges the static apps (:func:iter_static_apps) with dynamic Composio apps (every ENABLED auth-config toolkit not already covered by a static app’s Composio method, e.g. Freshdesk) and a synthetic “Custom MCP” entry. connected reflects whether the org has a connection (visible to the caller) whose provider_key matches the app.

Parameters

NameInTypeRequiredDescription
org_idpathstring (uuid)yes

Responses

StatusDescriptionBody
200Successful ResponseCatalogResponse
422Validation ErrorHTTPValidationError

GET /api/orgs/{org_id}/connections/catalog/{app_key}/methods

Section titled “GET /api/orgs/{org_id}/connections/catalog/{app_key}/methods”

Get Catalog App Methods

Return the ranked connect methods for one catalog app.

app_key is either a static app key (:data:APP_MAP), the synthetic "mcp_server" key, or an ENABLED Composio toolkit slug not covered by a static app.

Parameters

NameInTypeRequiredDescription
app_keypathstringyes
org_idpathstring (uuid)yes

Responses

StatusDescriptionBody
200Successful ResponseMethodListResponse
422Validation ErrorHTTPValidationError