Soldo · Agentic Access

Soldo Agentic Access

x-agentic-access generated

Soldo exposes 235 API operations that an AI agent could call, of which 152 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: 83 read, 138 write, 8 physical, and 6 safety-critical.

6 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.

CompanyConsumerFintechFinancial ServicesSpend ManagementExpense ManagementBusiness CardsPrepaid CardsPaymentsBanking
Operations: 235 Acting: 152 Human-in-the-loop: 6 Method: generated

By consequence

read 83 write 138 physical 8 safety-critical 6

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 /business/v2/cards/presets/{presetId} safety-critical required
PUT /business/v2/cards/{cardId}/presets/{presetId} safety-critical required
DELETE /business/v2/cards/{cardId}/presets/{presetId} safety-critical required
PUT /business/v2/wallets/autotransfer-presets/{presetId}/relate-resource safety-critical required
PUT /business/v2/wallets/autotransfer-presets/{presetId}/unrelate-resource safety-critical required
DELETE /business/v2/wallets/presets/{presetId} safety-critical required
POST /business/v2/business-trips/{businessTripId}/complete-transfer physical conditional
POST /business/v2/expense-review/{userId}/reminder physical conditional
DELETE /business/v2/orders/{orderId} physical conditional
POST /business/v2/purchases physical conditional
PUT /business/v2/purchases/{purchaseId} physical conditional
DELETE /business/v2/purchases/{purchaseId} physical conditional
POST /business/v2/purchases/{purchaseId}/redeem physical conditional
PUT /business/v2/wallets/internalTransfer/{fromWalletId}/{toWalletId} physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-21'
method: generated
source: openapi/soldo-business-api-v20-openapi-original.json
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: 235
  by_action_class:
    acting: 152
    connected: 83
  by_consequence:
    write: 138
    read: 83
    physical: 8
    safety-critical: 6
  human_in_the_loop_required: 6
operations:
- path: /oauth/authorize
  method: post
  operationId: authorize
  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: /business/v2/online-ads/{onlineAdId}
  method: get
  operationId: online-ads-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - online_ads_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/online-ads/{onlineAdId}
  method: put
  operationId: online-ads-update
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - online_ads_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/online-ads/{onlineAdId}
  method: post
  operationId: online-ads-activate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - online_ads_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/online-ads/{onlineAdId}
  method: delete
  operationId: online-ads-delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - online_ads_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/subscriptions/{subscriptionId}
  method: get
  operationId: subscription-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - subscription_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/subscriptions/{subscriptionId}
  method: put
  operationId: subscription-update
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - subscription_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/subscriptions/{subscriptionId}
  method: post
  operationId: subscription-activate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - subscription_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/subscriptions/{subscriptionId}
  method: delete
  operationId: subscription-delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - subscription_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/addresses
  method: get
  operationId: address-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - address_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/addresses
  method: post
  operationId: address-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - address_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/expense-policies/{expensePolicyId}/assignees
  method: get
  operationId: expense-policy-assignees-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - expense_policy_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/expense-policies/{expensePolicyId}/assignees
  method: post
  operationId: expense-policy-assignees-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - expense_policy_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/expense-policies/{expensePolicyId}/assignees
  method: delete
  operationId: expense-policy-assignees-remove
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - expense_policy_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/autotags
  method: get
  operationId: autotag-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - autotag_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/autotags
  method: post
  operationId: autotag-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - autotag_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/business-trips
  method: get
  operationId: business-trip-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - business_trip_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/business-trips
  method: post
  operationId: business-trip-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - business_trip_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/cards
  method: get
  operationId: card-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - card_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/cards
  method: post
  operationId: card-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - card_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/contacts
  method: get
  operationId: contact-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - contact_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/contacts
  method: post
  operationId: contact-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - contact_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/employees/out-of-office
  method: get
  operationId: out-of-office-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - out_of_office_delegation_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/employees/out-of-office
  method: post
  operationId: out-of-office-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - out_of_office_delegation_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/entities/expense-category
  method: get
  operationId: expense-category-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - expense_category_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/entities/expense-category
  method: post
  operationId: expense-category-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - expense_category_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/expense-review/processes
  method: get
  operationId: expense-review-processes-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - expense_review_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/expense-review/processes
  method: post
  operationId: expense-review-process-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - expense_review_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/expense-review/configuration
  method: get
  operationId: expense-review-configuration-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - expense_review_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/expense-review/configuration
  method: put
  operationId: expense-review-configuration-update
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - expense_review_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/expense-review/configuration
  method: post
  operationId: expense-review-configuration-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - expense_review_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/groups
  method: get
  operationId: group-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - group_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/groups
  method: post
  operationId: group-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - group_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/dictionaries
  method: get
  operationId: list-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - tag_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/dictionaries
  method: post
  operationId: list-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - tag_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/online-ads/{onlineAdId}/addAssignees
  method: put
  operationId: online-ads-assignees-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - online_ads_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/purchases
  method: get
  operationId: pre-approved-spend-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - purchase_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/purchases
  method: post
  operationId: pre-approved-spend-add
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - purchase_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: /business/v2/requests
  method: get
  operationId: request-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - request_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/requests
  method: post
  operationId: request-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - request_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/resource-sets
  method: get
  operationId: resource-set-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - resource_set_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/resource-sets
  method: post
  operationId: resource-set-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - resource_set_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/groups/{groupId}/resource
  method: post
  operationId: group-resource-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - group_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/groups/{groupId}/resource
  method: delete
  operationId: group-resource-remove
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - group_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/subscriptions/{subscriptionId}/addAssignees
  method: put
  operationId: subscription-assignees-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - subscription_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/dictionaries/{listId}/tags
  method: get
  operationId: tag-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - tag_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/dictionaries/{listId}/tags
  method: post
  operationId: tag-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - tag_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/dictionaries/{listId}/tags/bulk
  method: put
  operationId: tags-update-bulk
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - tag_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/dictionaries/{listId}/tags/bulk
  method: post
  operationId: tags-add-bulk
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - tag_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/entities/tax-rate
  method: get
  operationId: vat-rate-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - tax_rate_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/entities/tax-rate
  method: post
  operationId: vat-rate-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - tax_rate_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/transactions/custom-exports/bulk-add
  method: post
  operationId: transaction-export-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transaction_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/transactions/{transactionId}/metadata/{metadataId}
  method: get
  operationId: transaction-metadata-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - transaction_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/transactions/{transactionId}/metadata/{metadataId}
  method: put
  operationId: transaction-metadata-update
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transaction_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/transactions/{transactionId}/metadata/{metadataId}
  method: post
  operationId: transaction-metadata-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transaction_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/transactions/{transactionId}/metadata/{metadataId}
  method: delete
  operationId: transaction-metadata-delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transaction_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/transactions/{transactionId}/tags/{tagId}
  method: post
  operationId: transaction-tag-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transaction_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/transactions/{transactionId}/tags/{tagId}
  method: delete
  operationId: transaction-tag-remove
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transaction_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/vehicles
  method: get
  operationId: vehicle-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - vehicle_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/vehicles
  method: post
  operationId: vehicle-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vehicle_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/wallets
  method: get
  operationId: wallet-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - wallet_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/wallets
  method: post
  operationId: wallet-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - wallet_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/wallets/autotransfer-presets/{presetId}/relate-resource
  method: put
  operationId: wallet-auto-transfer-preset-set
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    scope:
    - wallet_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: /business/v2/webhooks/subscriptions
  method: get
  operationId: webhook-subscription-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - webhook_subscription_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/webhooks/subscriptions
  method: post
  operationId: webhook-subscription-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - webhook_subscription_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/workflows
  method: get
  operationId: workflow-search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - workflow_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/workflows
  method: post
  operationId: workflow-add
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - workflow_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/requests/{requestId}/approve
  method: put
  operationId: request-approve
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - request_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/employees/{userId}/assignRole
  method: post
  operationId: user-role-set
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - employee_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/autotags/{autotagId}
  method: get
  operationId: autotag-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - autotag_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/autotags/{autotagId}
  method: put
  operationId: autotag-update
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - autotag_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/autotags/{autotagId}
  method: delete
  operationId: autotag-delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - autotag_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/roles
  method: get
  operationId: roles-list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - role_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/business-trips/{businessTripId}
  method: get
  operationId: business-trip-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - business_trip_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/business-trips/{businessTripId}
  method: delete
  operationId: business-trip-delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - business_trip_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/cards/{cardId}
  method: get
  operationId: card-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - card_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/cards/{cardId}
  method: put
  operationId: card-update
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - card_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/cards/{cardId}
  method: delete
  operationId: card-delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - card_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/cards/{cardId}/rules/cashpoint
  method: get
  operationId: card-rule-cashpoint-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - card_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/cards/{cardId}/rules/countries
  method: get
  operationId: card-rule-countries-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - card_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/cards/{cardId}/rules/countries
  method: post
  operationId: card-rule-countries-set
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - card_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/cards/{cardId}/rules/merchantCategories
  method: get
  operationId: card-rule-merchant-categories-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - card_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/cards/{cardId}/rules/merchantCategories
  method: post
  operationId: card-rule-merchant-categories-set
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - card_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/cards/{cardId}/rules/spendingLimits
  method: get
  operationId: card-rule-spending-limits-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - card_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/cards/{cardId}/move/{newWalletId}
  method: put
  operationId: card-wallet-switch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - card_write
    - wallet_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/expense-review/processes/priority
  method: post
  operationId: expense-review-process-priority-change
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - expense_review_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/company
  method: get
  operationId: company-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - company_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/business-trips/{businessTripId}/complete-transfer
  method: post
  operationId: business-trip-complete-transfer
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - business_trip_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: /business/v2/documents/confirm
  method: post
  operationId: document-upload-confirm
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - document_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/transactions/{transactionId}/attachments/{attachmentId}
  method: get
  operationId: transaction-attachment-get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - transaction_read
    token:
      max-ttl: 3600
    audit: none
- path: /business/v2/transactions/{transactionId}/attachments/{attachmentId}
  method: put
  operationId: transaction-attachment-metadata-update
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transaction_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/transactions/{transactionId}/attachments/{attachmentId}
  method: post
  operationId: transaction-attachment-upload-confirm
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transaction_write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /business/v2/transactions/{transactionId}/attachments/{attachmentId}
  method: delete
  operationId: transaction-attachment-delete
  x-agentic-access:
    actio

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