Revolut · Agentic Access

Revolut Agentic Access

x-agentic-access generated

Revolut exposes 237 API operations that an AI agent could call, of which 119 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 118 read, 70 write, 48 physical, and 1 safety-critical.

1 operation are classed safety-critical and should require human-in-the-loop approval at runtime.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

CompanyFintechPaymentsBankingOpen BankingMerchant AcquiringCryptocurrencyCards
Operations: 237 Acting: 119 Human-in-the-loop: 1 Method: generated

By consequence

read 118 write 70 physical 48 safety-critical 1

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
DELETE /cards/{card_id} safety-critical required
PATCH /api/customers/{customer_id}/payment-methods/{payment_method_id} physical conditional
DELETE /api/customers/{customer_id}/payment-methods/{payment_method_id} physical conditional
POST /api/orders physical conditional
PATCH /api/orders/{order_id} physical conditional
POST /api/orders/{order_id}/cancel physical conditional
POST /api/orders/{order_id}/capture physical conditional
POST /api/orders/{order_id}/increment-authorisation physical conditional
POST /api/orders/{order_id}/payment-intents physical conditional
POST /api/orders/{order_id}/payments physical conditional
POST /api/orders/{order_id}/refund physical conditional
POST /api/payment-intents/{payment_intent_id}/cancel physical conditional
POST /api/synchronous-webhooks physical conditional
PATCH /counterparties/{counterparty_id}/payment-methods/{payment_method_id} physical conditional
POST /domestic-payment-consents physical conditional
POST /domestic-payments physical conditional
POST /domestic-scheduled-payment-consents physical conditional
POST /domestic-scheduled-payments physical conditional
POST /domestic-standing-order-consents physical conditional
POST /domestic-standing-orders physical conditional
POST /draft-payments physical conditional
DELETE /draft-payments/{DraftPaymentId} physical conditional
DELETE /draft-payments/{DraftPaymentId}/transfers/{DraftPaymentTransferId} physical conditional
POST /file-payment-consents physical conditional
POST /file-payment-consents/{ConsentId}/file physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-20'
method: generated
source: openapi/revolut-business-openapi.yaml, openapi/revolut-crypto-ramp-openapi.yaml, openapi/revolut-merchant-openapi.yaml,
  openapi/revolut-open-banking-openapi.yaml, openapi/revolut-x-openapi.yaml
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: 237
  by_action_class:
    acting: 119
    connected: 118
  by_consequence:
    write: 70
    read: 118
    safety-critical: 1
    physical: 48
  human_in_the_loop_required: 1
operations:
- path: /accounting-categories
  method: post
  operationId: createAccountingCategory
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /accounting-categories
  method: get
  operationId: getAccountingCategories
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /accounting-categories/{accounting_category_id}
  method: get
  operationId: getAccountingCategory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /accounting-categories/{accounting_category_id}
  method: patch
  operationId: updateAccountingCategory
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /accounting-categories/{accounting_category_id}
  method: delete
  operationId: deleteAccountingCategory
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /account-name-validation
  method: post
  operationId: validateAccountName
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /accounts
  method: get
  operationId: getAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/{account_id}
  method: get
  operationId: getAccount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/{account_id}/bank-details
  method: get
  operationId: getAccountDetails
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /card-invitations
  method: post
  operationId: createCardInvitation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /card-invitations
  method: get
  operationId: getCardInvitations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /card-invitations/{card_invitation_id}
  method: get
  operationId: getCardInvitation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /card-invitations/{card_invitation_id}
  method: patch
  operationId: updateCardInvitation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /card-invitations/{cardInvitationId}/cancel
  method: post
  operationId: cancelCardInvitation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /cards
  method: get
  operationId: getCards
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /cards
  method: post
  operationId: createCard
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /cards/{card_id}
  method: get
  operationId: getCard
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /cards/{card_id}
  method: patch
  operationId: updateCard
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /cards/{card_id}
  method: delete
  operationId: deleteCard
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
- path: /cards/{card_id}/contacts
  method: put
  operationId: updateCardContacts
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /cards/{card_id}/references
  method: put
  operationId: updateCardReferences
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /cards/{card_id}/freeze
  method: post
  operationId: freezeCard
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /cards/{card_id}/unfreeze
  method: post
  operationId: unfreezeCard
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /cards/{card_id}/lock
  method: post
  operationId: lockCard
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /cards/{card_id}/unlock
  method: post
  operationId: unlockCard
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /cards/{card_id}/sensitive-details
  method: get
  operationId: getSensitiveCardDetails
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ_SENSITIVE_CARD_DATA
    token:
      max-ttl: 3600
    audit: none
- path: /counterparties
  method: get
  operationId: getCounterparties
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /counterparty
  method: post
  operationId: addCounterparty
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /counterparties/countries
  method: get
  operationId: getCounterpartyCountries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /counterparties/fields
  method: get
  operationId: getCounterpartyRequirements
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /counterparty/{counterparty_id}
  method: get
  operationId: getCounterparty
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /counterparty/{counterparty_id}
  method: delete
  operationId: deleteCounterparty
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /counterparties/{counterparty_id}/payment-methods/{payment_method_id}
  method: patch
  operationId: updateCounterpartyPaymentMethod
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /rate
  method: get
  operationId: getRate
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /exchange
  method: post
  operationId: exchangeMoney
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - PAY
    - READ
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /exchange-reasons
  method: get
  operationId: getExchangeReasons
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /expenses
  method: get
  operationId: getExpenses
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /expenses/{expense_id}
  method: get
  operationId: getExpense
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /expenses/{expense_id}/receipts/{receipt_id}/content
  method: get
  operationId: getExpenseReceipt
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /label-groups
  method: post
  operationId: createLabelGroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /label-groups
  method: get
  operationId: getLabelGroups
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /label-groups/{group_id}
  method: get
  operationId: getLabelGroup
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /label-groups/{group_id}
  method: patch
  operationId: updateLabelGroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /label-groups/{group_id}
  method: delete
  operationId: deleteLabelGroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /label-groups/{group_id}/labels
  method: post
  operationId: createLabel
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /label-groups/{group_id}/labels
  method: get
  operationId: getLabels
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /label-groups/{group_id}/labels/{label_id}
  method: patch
  operationId: updateLabel
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /label-groups/{group_id}/labels/{label_id}
  method: delete
  operationId: deleteLabel
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /payment-drafts
  method: get
  operationId: getPaymentDrafts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /payment-drafts
  method: post
  operationId: createPaymentDraft
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /payment-drafts/{payment_draft_id}
  method: get
  operationId: getPaymentDraft
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /payment-drafts/{payment_draft_id}
  method: delete
  operationId: deletePaymentDraft
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /payment-drafts/{payment_draft_id}
  method: patch
  operationId: updatePaymentDraft
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /payment-drafts/{payment_draft_id}/payments
  method: post
  operationId: addPaymentDraftPayment
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /payment-drafts/{payment_draft_id}/payments/{payment_id}
  method: patch
  operationId: updatePaymentDraftPayment
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /payment-drafts/{payment_draft_id}/payments/{payment_id}
  method: delete
  operationId: deletePaymentDraftPayment
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /payout-links
  method: post
  operationId: createPayoutLink
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - PAY
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /payout-links
  method: get
  operationId: getPayoutLinks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /payout-links/{payout_link_id}
  method: get
  operationId: getPayoutLink
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /payout-links/{payout_link_id}/cancel
  method: post
  operationId: cancelPayoutLink
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /sandbox/transactions/{id}/{action}
  method: post
  operationId: simulateTransferStateUpdate
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /sandbox/topup
  method: post
  operationId: simulateTopUp
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /tax-rates
  method: post
  operationId: createTaxRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /tax-rates
  method: get
  operationId: getTaxRates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /tax-rates/{tax_rate_id}
  method: get
  operationId: getTaxRate
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /tax-rates/{tax_rate_id}
  method: patch
  operationId: updateTaxRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /tax-rates/{tax_rate_id}
  method: delete
  operationId: deleteTaxRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /team-members
  method: get
  operationId: getTeamMembers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /team-members
  method: post
  operationId: inviteTeamMember
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /team-members/{team_member_id}
  method: delete
  operationId: deleteTeamMember
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /roles
  method: get
  operationId: getRoles
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /transactions
  method: get
  operationId: getTransactions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /transaction/{id}
  method: get
  operationId: getTransaction
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /pay
  method: post
  operationId: createPayment
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - PAY
    - READ
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /pay/indicative-quote
  method: post
  operationId: getIndicativeQuote
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - PAY
    - READ
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /pay/fields
  method: post
  operationId: getPaymentRequirements
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - PAY
    - READ
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /transfer
  method: post
  operationId: createTransfer
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - PAY
    - READ
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /transfer-reasons
  method: get
  operationId: getTransferReasons
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /webhook
  method: get
  operationId: getWebhookV1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /webhook
  method: post
  operationId: setUpWebhook
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /webhook
  method: delete
  operationId: deleteWebhookV1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - READ
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /webhooks
  method: post
  operationId: createWebhook
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /webhooks
  method: get
  operationId: getWebhooks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /webhooks/{webhook_id}
  method: get
  operationId: getWebhook
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /webhooks/{webhook_id}
  method: patch
  operationId: updateWebhook
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /webhooks/{webhook_id}
  method: delete
  operationId: deleteWebhook
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /webhooks/{webhook_id}/rotate-signing-secret
  method: post
  operationId: rotateWebhookSigningSecret
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - WRITE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /webhooks/{webhook_id}/failed-events
  method: get
  operationId: getFailedWebhookEvents
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - READ
    token:
      max-ttl: 3600
    audit: none
- path: /config
  method: get
  operationId: retrieve-configuration
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /quote
  method: get
  operationId: retrieve-an-order-quote
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /buy
  method: get
  operationId: retrieve-a-redirect-url
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /orders/{order_id}
  method: get
  operationId: retrieve-an-order
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /orders
  method: get
  operationId: retrieve-all-orders
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /webhooks/{webhook_id}
  method: get
  operationId: retrieve-a-webhook
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /webhooks/{webhook_id}
  method: patch
  operationId: update-a-webhook
  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: /webhooks/{webhook_id}
  method: delete
  operationId: delete-a-webhook
  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: /webhooks
  method: get
  operationId: retrieve-a-list-of-webhooks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /webhooks
  method: post
  operationId: create-a-webhook
  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/orders
  method: post
  operationId: createOrder
  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: /api/orders
  method: get
  operationId: retrieveOrderList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/orders/{order_id}
  method: get
  operationId: retrieveOrder
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/orders/{order_id}
  method: patch
  operationId: updateOrder
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl

# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revolut/refs/heads/main/agentic-access/revolut-agentic-access.yml