generated: '2026-07-15' method: generated source: openapi/tink-account-check-api-openapi.yml, openapi/tink-connector-api-openapi.yml, openapi/tink-data-api-openapi.yml, openapi/tink-data-enrichment-api-openapi.yml, openapi/tink-money-manager-api-openapi.yml, openapi/tink-oauth-api-openapi.yml, openapi/tink-payments-api-openapi.yml, openapi/tink-risk-reports-api-openapi.yml, openapi/tink-webhooks-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: 63 by_action_class: connected: 38 acting: 25 by_consequence: read: 38 write: 20 physical: 4 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: /api/v1/account-verification-reports/{report_id} method: get operationId: getAccountVerificationReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/account-verification-reports/{report_id}/pdf method: get operationId: getAccountVerificationReportPdf x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v1/business-account-verification-reports/{report_id} method: get operationId: getBusinessAccountVerificationReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /link/v1/session method: post operationId: createLinkSession 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: /connector/users/{external_user_id}/accounts method: post operationId: ingestConnectorAccounts 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: /connector/users/{external_user_id}/transactions method: post operationId: ingestConnectorTransactions 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: /data/v2/accounts method: get operationId: listAccounts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/accounts/{account_id}/balances method: get operationId: getAccountBalances x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/accounts/{account_id}/parties method: get operationId: listAccountParties x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/transactions method: get operationId: listTransactions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/identities method: get operationId: listIdentities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/investment-accounts method: get operationId: listInvestmentAccounts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/investment-accounts/{id}/holdings method: get operationId: listInvestmentHoldings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/loan-accounts method: get operationId: listLoanAccounts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/loan-accounts/{accountId} method: get operationId: getLoanAccount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/balance-refresh method: post operationId: createBalanceRefresh 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: /api/v1/balance-refresh/{balanceRefreshId} method: get operationId: getBalanceRefresh x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/credentials/list method: get operationId: listCredentials x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/credentials/{credentialsId} method: delete operationId: deleteCredentials 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: /api/v1/provider-consents method: get operationId: listProviderConsents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /enrichment/v1/transactions method: get operationId: listEnrichedTransactions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /enrichment/v1/categories method: get operationId: listCategories x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /enrichment/v1/recurring-transactions method: get operationId: listRecurringTransactions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /enrichment/v1/predicted-recurring-transactions method: get operationId: listPredictedRecurringTransactions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /enrichment/v1/recurring-transactions-groups method: get operationId: listRecurringTransactionsGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /enrichment/v1/recurring-transactions-groups/{groupId} method: get operationId: getRecurringTransactionsGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance-management/v1/cash-flow-summaries/{resolution} method: get operationId: getCashFlowSummaries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance-management/v1/business-budgets method: post operationId: createBusinessBudget 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: /finance-management/v1/business-budgets method: get operationId: listBusinessBudgets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance-management/v1/business-budgets/{budgetId} method: get operationId: getBusinessBudget x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance-management/v1/business-budgets/{budgetId} method: patch operationId: updateBusinessBudget 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: /finance-management/v1/business-budgets/{budgetId} method: delete operationId: deleteBusinessBudget 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: /finance-management/v1/business-budgets/{budgetId}/history method: get operationId: getBusinessBudgetHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance-management/v1/financial-calendar-events method: post operationId: createCalendarEvent 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: /finance-management/v1/financial-calendar-events method: get operationId: listCalendarEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance-management/v1/financial-calendar-events/{calendarEventId} method: get operationId: getCalendarEvent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance-management/v1/financial-calendar-events/{calendarEventId} method: patch operationId: updateCalendarEvent 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: /finance-management/v1/financial-calendar-events/{calendarEventId} method: delete operationId: deleteCalendarEvent 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: /finance-management/v1/financial-calendar-events/{calendarEventId}/reconciliations method: post operationId: createReconciliation 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: /finance-management/v1/financial-calendar-summaries/{resolution} method: get operationId: listCalendarEventSummaries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/oauth/token method: post operationId: createOauthToken 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: /api/v1/oauth/authorization-grant method: post operationId: createAuthorizationGrant 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: /api/v1/oauth/authorization-grant/delegate method: post operationId: createDelegatedAuthorizationGrant 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: /api/v1/user/create method: post operationId: createUser 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: /api/v1/user/delete method: post operationId: deleteUser 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: /payments method: post operationId: initiatePayment 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: /payments/{paymentId} method: get operationId: getPayment x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payments/{paymentId}/cancel method: post operationId: cancelPayment 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: /payments/{paymentId}/refunds method: post operationId: refundPayment 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: /payments/{paymentId}/refunds/{refundId} method: get operationId: getRefund x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payments/mandates method: post operationId: createMandate 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: /payments/mandates/{id} method: get operationId: getMandate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payments/mandates/{id} method: delete operationId: revokeMandate 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: /v2/income-checks/{report_id} method: get operationId: getIncomeCheckReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/income-checks/{report_id}:generate-pdf method: get operationId: generateIncomeCheckPdf x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risk/v1/expense-checks/{report_id} method: get operationId: getExpenseCheckReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risk/v1/risk-insights/{report_id} method: get operationId: getRiskInsightsReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /risk/v2/risk-categorisation/reports/{report_id} method: get operationId: getRiskCategorisationReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /events/v2/webhook-endpoints method: post operationId: createWebhookEndpoint 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: /events/v2/webhook-endpoints method: get operationId: listWebhookEndpoints x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /events/v2/webhook-endpoints/{endpointId} method: get operationId: getWebhookEndpoint x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /events/v2/webhook-endpoints/{endpointId} method: patch operationId: updateWebhookEndpoint 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: /events/v2/webhook-endpoints/{endpointId} method: delete operationId: deleteWebhookEndpoint 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