Narmi · Agentic Access

Narmi Agentic Access

x-agentic-access generated

Narmi exposes 189 API operations that an AI agent could call, of which 100 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: 89 read, 64 write, 34 physical, and 2 safety-critical.

2 operations 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.

CompanyFintechDigital BankingBankingPaymentsACHWiresFedNowCardsFinancial Services
Operations: 189 Acting: 100 Human-in-the-loop: 2 Method: generated

By consequence

read 89 write 64 physical 34 safety-critical 2

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
POST /v1/accounts/{account_uuid}/stops/ safety-critical required
POST /v1/data_access_management/revoke/ safety-critical required
POST /v1/accounts/{uuid}/withdrawals/ physical conditional
POST /v1/ach_payments/ physical conditional
POST /v1/ach_payments/scheduled/ physical conditional
DELETE /v1/ach_payments/scheduled/{uuid}/ physical conditional
POST /v1/deposits/ physical conditional
POST /v1/express-checkout/create-setup-intent/ physical conditional
POST /v1/fedwire_destinations/ physical conditional
PUT /v1/fedwire_destinations/{uuid}/ physical conditional
POST /v1/fedwire_templates/ physical conditional
PUT /v1/fedwire_templates/{uuid}/ physical conditional
PATCH /v1/fedwire_templates/{uuid}/ physical conditional
DELETE /v1/fedwire_templates/{uuid}/ physical conditional
POST /v1/loan_payments/ach/ physical conditional
POST /v1/payees/ physical conditional
PUT /v1/payees/{id}/ physical conditional
DELETE /v1/payees/{id}/ physical conditional
POST /v1/payments/ physical conditional
DELETE /v1/payments/{id}/ physical conditional
POST /v1/swift_transactions/ physical conditional
POST /v1/swift_transactions/templates/ physical conditional
POST /v1/swiftwire_templates/ physical conditional
PUT /v1/swiftwire_templates/{uuid}/ physical conditional
PATCH /v1/swiftwire_templates/{uuid}/ physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-20'
method: generated
source: openapi/narmi-public-openapi-original.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: 189
  by_action_class:
    connected: 89
    acting: 100
  by_consequence:
    read: 89
    write: 64
    safety-critical: 2
    physical: 34
  human_in_the_loop_required: 2
operations:
- path: /v1/account_balances/
  method: get
  operationId: account_balances_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/account_balances/{uuid}/
  method: get
  operationId: account_balances_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/
  method: get
  operationId: accounts_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - banking:accounts:read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/
  method: post
  operationId: accounts_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - banking:accounts:write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/{account_uuids}/transactions/
  method: get
  operationId: transactions_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - banking:transactions:read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/{account_uuid}/documents/{document_id}/
  method: get
  operationId: accounts_documents_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/{account_uuid}/holds/
  method: get
  operationId: accounts_holds_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/{account_uuid}/stops/
  method: get
  operationId: accounts_stops_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/{account_uuid}/stops/
  method: post
  operationId: accounts_stops_create
  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: /v1/accounts/{account_uuid}/transactions_download/
  method: get
  operationId: accounts_transactions_download_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/{uuid}/
  method: get
  operationId: accounts_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - banking:accounts:read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/{uuid}/
  method: put
  operationId: accounts_update
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - banking:accounts:write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/{uuid}/
  method: delete
  operationId: accounts_destroy
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - banking:accounts:write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/{uuid}/verify/
  method: post
  operationId: account_verify
  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: /v1/accounts/{uuid}/withdrawals/
  method: post
  operationId: accounts_withdrawals_create
  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: /v1/accounts/verify/
  method: post
  operationId: account_verify_instant
  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: /v1/ach_companies/
  method: get
  operationId: ach_companies_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ach_details/
  method: post
  operationId: ach_details_create
  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: /v1/ach_import/csv/import/
  method: post
  operationId: ach_import_csv_import_create
  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: /v1/ach_import/csv/mappings/
  method: get
  operationId: ach_import_csv_mappings_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ach_import/csv/mappings/
  method: post
  operationId: ach_import_csv_mappings_create
  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: /v1/ach_import/csv/mappings/{uuid}/
  method: delete
  operationId: ach_import_csv_mappings_destroy
  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: /v1/ach_import/csv/parse/
  method: post
  operationId: ach_import_csv_parse_create
  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: /v1/ach_import/nacha/download/{file_name}/
  method: get
  operationId: ach_import_nacha_download_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ach_import/nacha/import/
  method: post
  operationId: ach_import_nacha_import_create
  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: /v1/ach_payments/
  method: get
  operationId: ach_payments_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ach_payments/
  method: post
  operationId: ach_payments_create
  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: /v1/ach_payments/{uuid}/
  method: get
  operationId: ach_payments_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ach_payments/scheduled/
  method: get
  operationId: ach_payments_scheduled_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ach_payments/scheduled/
  method: post
  operationId: ach_payments_scheduled_create
  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: /v1/ach_payments/scheduled/{uuid}/
  method: get
  operationId: ach_payments_scheduled_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ach_payments/scheduled/{uuid}/
  method: delete
  operationId: ach_payments_scheduled_destroy
  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: /v1/alerts/account/
  method: get
  operationId: account_alert_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/alerts/account/
  method: post
  operationId: account_alert_create
  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: /v1/alerts/account/{uuid}/
  method: get
  operationId: account_alert_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/alerts/account/{uuid}/
  method: put
  operationId: account_alert_update
  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: /v1/alerts/account/{uuid}/
  method: delete
  operationId: account_alert_delete
  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: /v1/alerts/loan/
  method: get
  operationId: loan_alert_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/alerts/loan/
  method: post
  operationId: loan_alert_create
  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: /v1/alerts/loan/{uuid}/
  method: get
  operationId: loan_alert_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/alerts/loan/{uuid}/
  method: put
  operationId: loan_alert_update
  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: /v1/alerts/loan/{uuid}/
  method: delete
  operationId: loan_alert_delete
  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: /v1/alerts/transaction/
  method: get
  operationId: transaction_alert_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/alerts/transaction/
  method: post
  operationId: transaction_alert_create
  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: /v1/alerts/transaction/{uuid}/
  method: get
  operationId: transaction_alert_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/alerts/transaction/{uuid}/
  method: put
  operationId: transaction_alert_update
  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: /v1/alerts/transaction/{uuid}/
  method: delete
  operationId: transaction_alert_delete
  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: /v1/automatic_savings_enrollment/
  method: get
  operationId: automatic_savings_enrollment_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/automatic_savings_enrollment/
  method: post
  operationId: automatic_savings_enrollment_list
  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: /v1/automatic_savings_enrollment/
  method: delete
  operationId: automatic_savings_enrollment_destroy
  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: /v1/card-linked-offers/
  method: get
  operationId: card_linked_offers_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/card-linked-offers/enrollment/
  method: get
  operationId: card_linked_offers_enrollment_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/card-linked-offers/enrollment/
  method: post
  operationId: card_linked_offers_enrollment_create
  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: /v1/card-linked-offers/enrollment/
  method: delete
  operationId: card_linked_offers_enrollment_destroy
  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: /v1/cards/
  method: get
  operationId: cards_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/cards/{card_id}/
  method: get
  operationId: cards_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/cards/{card_id}/
  method: put
  operationId: cards_update
  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: /v1/cards/{card_id}/address/
  method: get
  operationId: cards_address_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/cards/{card_id}/limits/
  method: get
  operationId: cards_limits_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/cards/{card_id}/limits/
  method: post
  operationId: cards_limits_create
  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: /v1/cards/{card_id}/lock/
  method: post
  operationId: cards_lock_create
  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: /v1/cards/{card_id}/replace_card/
  method: post
  operationId: cards_replace_card_create
  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: /v1/cards/{card_id}/sensitive/
  method: get
  operationId: cards_sensitive_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/cards/{card_id}/subscriptions/
  method: get
  operationId: cards_subscriptions_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/cards/{card_id}/travel_note/
  method: get
  operationId: cards_travel_note_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/cards/{card_id}/travel_note/
  method: post
  operationId: cards_travel_note_create
  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: /v1/cards/{card_id}/travel_note/
  method: delete
  operationId: cards_travel_note_destroy
  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: /v1/cards/{card_id}/unlock/
  method: post
  operationId: cards_unlock_create
  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: /v1/data_access_management/
  method: get
  operationId: data_access_management_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/data_access_management/revoke/
  method: post
  operationId: data_access_management_revoke_create
  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: /v1/deposits/
  method: get
  operationId: deposits_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/deposits/
  method: post
  operationId: deposits_create
  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: /v1/deposits/{deposit_id}/
  method: get
  operationId: deposits_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/documents/
  method: get
  operationId: documents_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/documents/{document_id}/
  method: get
  operationId: documents_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/documents/download/
  method: post
  operationId: documents_download_zip
  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: /v1/enroll/
  method: post
  operationId: enroll_create
  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: /v1/enroll_verify/
  method: post
  operationId: enroll_verify_create
  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: /v1/enrollments
  method: post
  operationId: enrollments_create
  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: /v1/express-checkout/create-setup-intent/
  method: post
  operationId: express_checkout_setup_intent_create
  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/express-checkout/payment-method/{payment_method_id}/
  method: get
  operationId: express_checkout_payment_method_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/fednow_transaction/{uuid}/
  method: get
  operationId: fednow_transaction_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/fedwire_destinations/
  method: post
  operationId: fedwire_destinations_create
  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: /v1/fedwire_destinations/{uuid}/
  method: put
  operationId: fedwire_destinations_update
  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: /v1/fedwire_templates/
  method: get
  operationId: fedwire_templates_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/fedwire_templates/
  method: post
  operationId: fedwire_templates_create
  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: /v1/fedwire_templates/{uuid}/
  method: get
  operationId: fedwire_templates_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/fedwire_templates/{uuid}/
  method: put
  operationId: fedwire_templates_update
  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: /v1/fedwire_templates/{uuid}/
  method: patch
  operationId: fedwire_templates_partial_update
  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: /v1/fedwire_templates/{uuid}/
  method: delete
  operationId: fedwire_templates_destroy
  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: /v1/income_source/
  method: post
  operationId: income_source_create
  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: /v1/income_source/{uuid}/
  method: put
  operationId: income_source_update
  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: /v1/institution/
  method: get
  operationId: institution_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/institutions/{routing_number}/{type}/
  method: get
  operationId: institution_name_retrieve
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/loan_payments/ach/
  method: post
  operationId: loan_payments_ach_create
  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: /v1/me/
  method: get
  operationId: me_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - banking:users:read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/merchants/
  method: get
  operationId: merchants_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/mfa/
  method: get
  operationId: mfa_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/mfa/{id}/
  method: delete
  operationId: mfa_destroy
  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: /v1/payees/
  method: get
  operationId: payees

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