generated: '2026-07-15' method: generated source: openapi/turso-platform-api-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 49 by_action_class: connected: 25 acting: 24 by_consequence: read: 25 write: 21 physical: 1 safety-critical: 2 human_in_the_loop_required: 2 operations: - path: /v1/organizations/{organizationSlug}/databases method: get operationId: listDatabases x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/databases method: post operationId: createDatabase x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/databases/{databaseName} method: get operationId: getDatabase x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/databases/{databaseName} method: delete operationId: deleteDatabase x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/databases/{databaseName}/configuration method: get operationId: getDatabaseConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/databases/{databaseName}/configuration method: patch operationId: updateDatabaseConfiguration x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/databases/{databaseName}/instances method: get operationId: listDatabaseInstances x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/databases/{databaseName}/instances/{instanceName} method: get operationId: getDatabaseInstance x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/databases/{databaseName}/auth/tokens method: post operationId: createDatabaseToken x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/databases/{databaseName}/usage method: get operationId: getDatabaseUsage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/databases/{databaseName}/stats method: get operationId: getDatabaseStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/databases/{databaseName}/auth/rotate method: post operationId: invalidateDatabaseTokens x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups method: get operationId: listGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/groups method: post operationId: createGroup x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups/{groupName} method: get operationId: getGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/groups/{groupName} method: delete operationId: deleteGroup x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups/{groupName}/configuration method: get operationId: getGroupConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/groups/{groupName}/configuration method: patch operationId: updateGroupConfiguration x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups/{groupName}/transfer method: post operationId: transferGroup x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups/{groupName}/unarchive method: post operationId: unarchiveGroup x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups/{groupName}/locations/{location} method: post operationId: addLocationToGroup x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups/{groupName}/locations/{location} method: delete operationId: removeLocationFromGroup x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups/{groupName}/update method: post operationId: updateGroupDatabases x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups/{groupName}/auth/tokens method: post operationId: createGroupToken x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/groups/{groupName}/auth/rotate method: post operationId: invalidateGroupTokens x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/locations method: get operationId: listLocations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations method: get operationId: listOrganizations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug} method: get operationId: getOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug} method: patch operationId: updateOrganization x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/plans method: get operationId: listOrganizationPlans x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/invoices method: get operationId: listOrganizationInvoices x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/subscription method: get operationId: getOrganizationSubscription x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/usage method: get operationId: getOrganizationUsage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/members method: get operationId: listOrganizationMembers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/members method: post operationId: addOrganizationMember x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/members/{username} method: get operationId: getOrganizationMember x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/members/{username} method: patch operationId: updateMemberRole x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/organizations/{organizationSlug}/members/{username} method: delete operationId: removeOrganizationMember x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/auth/validate method: get operationId: validateAPIToken x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/auth/api-tokens method: get operationId: listAPITokens x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/auth/api-tokens/{tokenName} method: post operationId: createAPIToken x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/auth/api-tokens/{tokenName} method: delete operationId: revokeAPIToken x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/organizations/{organizationSlug}/api-tokens method: get operationId: listOrganizationAPITokens x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/organizations/{organizationSlug}/api-tokens/{tokenId} method: delete operationId: revokeOrganizationAPIToken x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/organizations/{organizationSlug}/audit-logs method: get operationId: listOrganizationAuditLogs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/organizations/{organizationSlug}/invites method: get operationId: listOrganizationInvitesV2 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/organizations/{organizationSlug}/invites method: post operationId: inviteOrganizationMemberV2 x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v2/organizations/{organizationSlug}/invites/{email} method: delete operationId: deleteOrganizationInviteByEmailV2 x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/user method: get operationId: getCurrentUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none