Change an integration connection's tool allow-list
Replaces the tools the organization’s agents may use through this built-in integration connection, validated against the catalog exactly as when the app was added: an empty list, an unknown tool, or a tool the read preset does not admit is refused. The connection’s state is unchanged. Every agent using the app inherits the new list at its next credential refresh. A connection that is narrowed at vault-grant time instead is refused with 422.
Authorizations
A Recursion API key, created in the console under API keys.
Headers
Optional tenant consistency check. When present, it must name the tenant bound to the API key, including when x-organization-id is default.
1Organization in which to act. Required for a tenant-scoped API key. Optional for an organization-scoped key, where it must name that same organization. The value may be an organization id or default.
1Path Parameters
Integration connection id (UUID) as returned by managedAgentsListIntegrationConnections.
Body
Request body changing the organization tool allow-list of a built-in, GitHub, or Slack integration connection. Validated against the provider's catalog; the connection's state is unchanged and sessions pick the new list up at their next credential refresh.
For a built-in integration, the permission preset the selected tools are checked against: read or write; when omitted, the read preset applies. Omit for native GitHub and Slack: GitHub tools determine token permissions; Slack tools do not change OAuth scopes or thread access.
The app's tools the organization's agents may use, by tool name from the catalog. Replaces the connection's allow-list in full; an empty list is refused. Omit to keep the current allow-list, for example to check a built-in integration's tools against another permission preset.
1 - 200 elementsResponse
An organization's link to a third-party account, created by installing an integration such as the GitHub App. It holds no secret itself; grant it to an agent so sessions can mint short-lived provider credentials from it.
An organization's link to a third-party account, created by installing an integration such as the GitHub App. It holds no secret itself; grant it to an agent so sessions can mint short-lived provider credentials from it.
Identifier for this connection (UUID). Server-assigned. Cite it when granting an agent access to the integration.
RFC 3339 timestamp of when this record was created. Server-assigned.
The provider's own identifier for the link, which token minting addresses. The installation id for GitHub; the composite {api_app_id}:{team_id} for Slack; the customer service-account email for Google Cloud.
Organization that owns this record. Resolved from the API key; never accepted from the caller.
Stable slug of the third-party integration adapter this connection uses.
Lifecycle of the connection: pending was registered directly and waits for provider setup (a trust probe or registered OAuth sign-in activates it), active can mint tokens, suspended is restorable at the provider and resolves to no credential, revoked was uninstalled and must be installed again.
RFC 3339 timestamp of the last change to this record. Server-assigned.
Name of the connected third-party account, e.g. the GitHub org or user login. Cached at install time for display, so no provider call is needed to show it.
Kind of account that was connected, as the provider reports it, e.g. Organization or User for GitHub and workspace for Slack.
User who completed the install, recorded for audit.
Latest completed connection check, with the time it began. Historical evidence, not a guarantee of current availability. Absent until a check has been saved.
Native GitHub or Slack MCP tools selected for this organization. A connection with no saved selection gets every supported tool except opt-in tools that delete data, which must be selected explicitly.
Operator-assigned label distinguishing multiple accounts for one built-in vendor.
What the provider granted the install, as permission name to access level (e.g. contents: write). Used to narrow a minted token without a provider round trip and to explain why a permission preset is unavailable.
Whether the install covers all of the account's resources or only chosen ones: all or selected. Informational only; the authoritative list stays at the provider.
Runtime usage counts, supplied on the connection list.