Integrations

Grant (or update) an agent's access to an integration connection

Upsert on (agentId, connectionId). Allowed for the agent's owner or an admin of the owner's company. A PERSONAL connection can only be granted by its creator, to an agent they own (403 personal_grant_owner_only).

post/agents/{agentId}/integration-grants

Request

  • Base URL: https://api.atako.ai
  • URL: https://api.atako.ai/agents/{agentId}/integration-grants
  • Auth: HTTP bearer

Path parameters

agentIdstring required

Agent id

Request body

connectionIdstring uuid
allowedToolsstring[]

Filtered server-side to valid connector actions.

scope'read' | 'write' | 'read_write'
expiresAtstring date-time nullable
constraintsobject nullable

Response

idstring uuid required
agentIdstring uuid
connectionIdstring uuid required
allowedToolsstring[]
scope'read' | 'write' | 'read_write' required
constraintsobject nullable
grantedBystring uuid
expiresAtstring date-time nullable
createdAtstring date-time required
maskedboolean

List endpoint only: true for another user's PERSONAL connection (an admin viewing a colleague's agent) — no connection name, only ownerName. Revocable, not editable.

ownerNamestring nullable

Masked rows only: the personal connection owner's first name.

isDefaultboolean

Present (true) ONLY on a SYNTHETIC row the list endpoint fabricates for a companyWide+defaultGranted connector (e.g. 'projects') when this agent has no explicit integration_grants row yet — it already has full access by default; this row lets the UI show that instead of "no access". id/connectionId both equal the connection's own id on a synthetic row (no real grant row exists) — DELETE on that id persists an opt-out (a real row with allowedTools:[]) instead of a no-op. Absent (never false) on a real row.

Changes

No recorded changes to this operation across all 2 revisions of this API.