generated: '2026-07-15' method: generated source: openapi/lean-authentication-api-openapi.yml, openapi/lean-banks-api-openapi.yml, openapi/lean-customers-api-openapi.yml, openapi/lean-data-api-openapi.yml, openapi/lean-entities-api-openapi.yml, openapi/lean-insights-api-openapi.yml, openapi/lean-payment-sources-api-openapi.yml, openapi/lean-payments-api-openapi.yml, openapi/lean-payouts-api-openapi.yml, openapi/lean-refunds-api-openapi.yml, openapi/lean-verifications-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: 51 by_action_class: acting: 14 connected: 37 by_consequence: write: 7 read: 37 physical: 7 human_in_the_loop_required: 0 operations: - path: /oauth2/token method: post operationId: generateAccessToken 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: /banks/v1/ method: get operationId: listBanks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/v1 method: post operationId: createCustomer 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: /customers/v1 method: get operationId: listCustomers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/v1/{customer_id} method: get operationId: getCustomerById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/v1/app-user-id/{app_user_id} method: get operationId: getCustomerByAppUserId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/accounts method: get operationId: getAccounts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/accounts/{account_id}/transactions method: get operationId: getTransactions 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: getBalances x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/accounts/{account_id}/beneficiaries method: get operationId: getBeneficiaries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/accounts/{account_id}/direct-debits method: get operationId: getDirectDebits x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/accounts/{account_id}/scheduled-payments method: get operationId: getScheduledPayments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/accounts/{account_id}/standing-orders method: get operationId: getStandingOrders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/accounts/{account_id}/identities method: get operationId: getAccountIdentities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/identity method: get operationId: getIdentity x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/refreshes method: post operationId: triggerDataRefresh 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/refreshes method: get operationId: getDataRefreshes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/v2/refreshes/{refresh_id} method: get operationId: getDataRefreshStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/v1/{customer_id}/entities method: get operationId: getEntitiesForCustomer x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/v1/{customer_id}/entities/{entity_id} method: get operationId: getEntityById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/v1/entities method: get operationId: retrieveEntitiesForDateRange x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /insights/v2/income method: post operationId: computeIncome 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: /insights/v2/expenses method: get operationId: getExpenses x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /insights/v2/assets/cashflows method: get operationId: getCashflows x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/v1/{customer_id}/payment-sources method: get operationId: listCustomerPaymentSources x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/v1/{customer_id}/payment-sources/{payment_source_id} method: get operationId: getPaymentSourceById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/v1/{customer_id}/payment-sources/{payment_source_id} method: delete operationId: deletePaymentSource 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/v1/intents method: post operationId: createPaymentIntent 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/v1/intents method: get operationId: listPaymentIntents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payments/v1/intents/{intent_id} method: get operationId: getPaymentByIntentId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payments/v1/{payment_id} method: get operationId: getPaymentByPaymentId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payments/account-on-file method: post operationId: initiateAofPayment 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: /consents/account-on-file method: post operationId: createAofConsent 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: /consents/v1 method: get operationId: listCustomerConsents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /consents/{consent_id} method: get operationId: getConsentDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /consents/{consent_id}/balance method: get operationId: fetchConsentBalance x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /consents/{consent_id}/history method: get operationId: getConsentHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payouts/v1/payment method: post operationId: createPayoutPayment 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: /payouts/v1/payments method: get operationId: listPayouts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payouts/v1/payments/{payment_id}/history method: get operationId: getPayoutPaymentHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payouts/v1/{payment_id} method: get operationId: getPayout x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payouts/v1/intents/{payment_intent_id} method: get operationId: getPayoutIntent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payouts/v1/payment/destinations method: post operationId: createPayoutDestination 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: /payouts/v1/payment/destinations method: get operationId: listPayoutDestinations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payouts/v1/payment/destinations/{destination_id} method: get operationId: getPayoutDestination x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payouts/refunds method: get operationId: listRefunds x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /payouts/refunds method: post operationId: createRefund 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: /payouts/refunds method: put operationId: processRefunds 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: /payouts/refunds/reasons method: get operationId: getRefundReasons x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /verifications/v1/accounts method: post operationId: verifyAccount 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: /insights/v1/name-verification method: post operationId: verifyName 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