fireblocks · Agentic Access

fireblocks Agentic Access

x-agentic-access generated

fireblocks exposes 303 API operations that an AI agent could call, of which 160 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: 143 read, 115 write, 42 physical, and 3 safety-critical.

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

Operations: 303 Acting: 160 Human-in-the-loop: 3 Method: generated

By consequence

read 143 write 115 physical 42 safety-critical 3

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
PATCH /key_link/validation_keys/{keyId} safety-critical required
PUT /management/ota safety-critical required
POST /management/users/{id}/reset_device safety-critical required
POST /exchange_accounts/{exchangeAccountId}/internal_transfer physical conditional
POST /fiat_accounts/{accountId}/deposit_from_linked_dda physical conditional
PUT /nfts/ownership/tokens physical conditional
PUT /nfts/ownership/tokens/spam physical conditional
PUT /nfts/ownership/tokens/status physical conditional
PUT /nfts/ownership/tokens/{id}/status physical conditional
POST /off_exchange/settlements/trader physical conditional
POST /payments/payout physical conditional
POST /payments/payout/{payoutId}/actions/execute physical conditional
POST /payments/workflow_config physical conditional
DELETE /payments/workflow_config/{configId} physical conditional
POST /payments/workflow_execution physical conditional
POST /payments/workflow_execution/{workflowExecutionId}/actions/execute physical conditional
POST /policy/draft physical conditional
POST /smart-transfers physical conditional
POST /smart-transfers/settings/user-groups physical conditional
PUT /smart-transfers/{ticketId}/cancel physical conditional
PUT /smart-transfers/{ticketId}/expires-in physical conditional
PUT /smart-transfers/{ticketId}/external-id physical conditional
PUT /smart-transfers/{ticketId}/fulfill physical conditional
PUT /smart-transfers/{ticketId}/submit physical conditional
POST /smart-transfers/{ticketId}/terms physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/fireblocks-assets-api-openapi.yml, openapi/fireblocks-compliance-api-openapi.yml,
  openapi/fireblocks-contracts-api-openapi.yml, openapi/fireblocks-exchange-api-openapi.yml,
  openapi/fireblocks-gas-station-api-openapi.yml, openapi/fireblocks-network-api-openapi.yml,
  openapi/fireblocks-nfts-api-openapi.yml, openapi/fireblocks-payments-api-openapi.yml, openapi/fireblocks-staking-api-openapi.yml,
  openapi/fireblocks-tokenization-api-openapi.yml, openapi/fireblocks-transactions-api-openapi.yml,
  openapi/fireblocks-vaults-api-openapi.yml, openapi/fireblocks-wallets-api-openapi.yml, openapi/fireblocks-webhooks-api-openapi.yml,
  openapi/fireblocks-workspace-api-openapi.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 303
  by_action_class:
    connected: 143
    acting: 160
  by_consequence:
    read: 143
    write: 115
    physical: 42
    safety-critical: 3
  human_in_the_loop_required: 3
operations:
- path: /assets
  method: get
  operationId: listAssets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /assets
  method: post
  operationId: registerNewAsset
  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: /assets/{id}
  method: get
  operationId: getAsset
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /assets/{id}
  method: patch
  operationId: updateAssetUserMetadata
  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: /assets/prices/{id}
  method: post
  operationId: setAssetPrice
  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: /blockchains
  method: get
  operationId: listBlockchains
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /blockchains/{id}
  method: get
  operationId: getBlockchain
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /transactions/validate_address/{assetId}/{address}
  method: get
  operationId: validateAddress
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /estimate_network_fee
  method: get
  operationId: estimateNetworkFee
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /supported_assets
  method: get
  operationId: getSupportedAssets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/travel_rule/transaction/validate
  method: post
  operationId: validateTravelRuleTransaction
  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: /screening/travel_rule/transaction/validate/full
  method: post
  operationId: validateFullTravelRuleTransaction
  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: /screening/travel_rule/vasp/{did}
  method: get
  operationId: getVASPByDID
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/travel_rule/vasp
  method: get
  operationId: getVASPs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/travel_rule/vasp/update
  method: put
  operationId: updateVasp
  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: /screening/travel_rule/post_screening_policy
  method: get
  operationId: getPostScreeningPolicy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/travel_rule/screening_policy
  method: get
  operationId: getScreeningPolicy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/travel_rule/vault/{vaultAccountId}/vasp
  method: get
  operationId: getVaspForVault
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/travel_rule/vault/{vaultAccountId}/vasp
  method: post
  operationId: setVaspForVault
  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: /screening/travel_rule/policy_configuration
  method: get
  operationId: getScreeningConfiguration
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/travel_rule/policy_configuration
  method: put
  operationId: updateTravelRuleConfig
  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: /screening/aml/policy_configuration
  method: get
  operationId: getAmlScreeningConfiguration
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/aml/policy_configuration
  method: put
  operationId: updateAmlScreeningConfiguration
  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: /screening/aml/screening_policy
  method: get
  operationId: getAmlScreeningPolicy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/aml/post_screening_policy
  method: get
  operationId: getAmlPostScreeningPolicy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/configurations
  method: put
  operationId: updateScreeningConfiguration
  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: /screening/transaction/{txId}/bypass_screening_policy
  method: post
  operationId: retryRejectedTransactionBypassScreeningChecks
  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: /screening/transaction/{txId}
  method: get
  operationId: getScreeningFullDetails
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /screening/aml/verdict/manual
  method: post
  operationId: setAmlVerdict
  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: /tap/active_policy
  method: get
  operationId: getActivePolicy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tap/draft
  method: get
  operationId: getDraft
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tap/draft
  method: put
  operationId: updateDraft
  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: /tap/draft
  method: post
  operationId: publishDraft
  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: /tap/publish
  method: post
  operationId: publishPolicyRules
  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: /policy/active_policy
  method: get
  operationId: getActiveV2Policy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /policy/draft
  method: get
  operationId: getV2Draft
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /policy/draft
  method: put
  operationId: updateV2Draft
  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: /policy/draft
  method: post
  operationId: publishV2Draft
  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: /tokenization/templates
  method: get
  operationId: getContractTemplates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tokenization/templates
  method: post
  operationId: uploadContractTemplate
  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: /tokenization/templates/{contractTemplateId}
  method: get
  operationId: getContractTemplateById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tokenization/templates/{contractTemplateId}
  method: delete
  operationId: deleteContractTemplateById
  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: /tokenization/templates/{contractTemplateId}/constructor
  method: get
  operationId: getConstructorByContractTemplateId
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tokenization/templates/{contractTemplateId}/function
  method: get
  operationId: getFunctionAbiByContractTemplateId
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tokenization/templates/{contractTemplateId}/deploy
  method: post
  operationId: deployContract
  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: /tokenization/contracts
  method: get
  operationId: getDeployedContracts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tokenization/contracts/{id}
  method: get
  operationId: getDeployedContractById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tokenization/contracts/{assetId}/{contractAddress}
  method: get
  operationId: getDeployedContractByAddress
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tokenization/contracts/fetch_abi
  method: post
  operationId: fetchContractAbi
  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: /tokenization/contracts/abi
  method: post
  operationId: addContractABI
  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: /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions
  method: get
  operationId: getDeployedContractAbi
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/read
  method: post
  operationId: readCallFunction
  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: /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/write
  method: post
  operationId: writeCallFunction
  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: /contract_interactions/base_asset_id/{baseAssetId}/tx_hash/{txHash}/receipt
  method: get
  operationId: getTransactionReceipt
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /connections
  method: get
  operationId: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /connections/wc
  method: post
  operationId: create
  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: /connections/wc/{id}
  method: put
  operationId: submit
  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: /connections/wc/{id}
  method: delete
  operationId: remove
  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: /exchange_accounts
  method: get
  operationId: getExchangeAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /exchange_accounts
  method: post
  operationId: addExchangeAccount
  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: /exchange_accounts/paged
  method: get
  operationId: getPagedExchangeAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /exchange_accounts/{exchangeAccountId}
  method: get
  operationId: getExchangeAccount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /exchange_accounts/{exchangeAccountId}/internal_transfer
  method: post
  operationId: internalTransfer
  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: /exchange_accounts/{exchangeAccountId}/convert
  method: post
  operationId: convertAssets
  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: /exchange_accounts/{exchangeAccountId}/{assetId}
  method: get
  operationId: getExchangeAccountAsset
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /exchange_accounts/credentials_public_key
  method: get
  operationId: getExchangeAccountsCredentialsPublicKey
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /fiat_accounts
  method: get
  operationId: getFiatAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /fiat_accounts/{accountId}
  method: get
  operationId: getFiatAccount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /fiat_accounts/{accountId}/redeem_to_linked_dda
  method: post
  operationId: redeemFundsToLinkedDDA
  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: /fiat_accounts/{accountId}/deposit_from_linked_dda
  method: post
  operationId: depositFundsFromLinkedDDA
  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: /connected_accounts
  method: get
  operationId: getConnectedAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /connected_accounts/{accountId}
  method: get
  operationId: getConnectedAccount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /connected_accounts/{accountId}/balances
  method: get
  operationId: getConnectedAccountBalances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /connected_accounts/{accountId}/rates
  method: get
  operationId: getConnectedAccountRates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /connected_accounts/{accountId}/manifest/capabilities/trading/pairs
  method: get
  operationId: getConnectedAccountTradingPairs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /trading/providers
  method: get
  operationId: getTradingProviders
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /trading/quotes
  method: post
  operationId: createQuote
  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: /trading/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: /trading/orders
  method: get
  operationId: getOrders
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /trading/orders/{orderId}
  method: get
  operationId: getOrder
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /gas_station
  method: get
  operationId: getGasStationInfo
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /gas_station/{assetId}
  method: get
  operationId: getGasStationByAssetId
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /gas_station/configuration
  method: put
  operationId: updateGasStationConfiguration
  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: /gas_station/configuration/{assetId}
  method: put
  operationId: updateGasStationConfigurationByAssetId
  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: /network_connections
  method: get
  operationId: getNetworkConnections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /network_connections
  method: post
  operationId: createNetworkConnection
  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: /network_connections/{connectionId}/set_routing_policy
  method: patch
  operationId: setRoutingPolicy
  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: /network_connections/{connectionId}/is_third_party_routing/{assetType}
  method: get
  operationId: checkThirdPartyRouting
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /network_connections/{connectionId}
  method: get
  operationId: getNetwork
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /network_connections/{connectionId}
  method: delete
  operationId: deleteNetworkConnection
  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: /network_ids
  method: get
  operationId: getNetworkIds
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /network_ids
  method: post
  operationId: createNetworkId
  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: /network_ids/routing_policy_asset_groups
  method: get
  operationId: getRoutingPolicyAssetGroups
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /network_ids/search
  method: get
  operationId: searchNetworkIds
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /network_ids/{networkId}
  method: get
  operationId: getNetworkId
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /network_ids/{networkId}
  method: delete
  operationId: deleteNetworkId
  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: /network_ids/{networkId}/set_routing_policy
  method: patch
  operationId: setNetworkIdRoutingPolicy
  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: /network_ids/{networkId}/set_discoverability
  method: patch
  operationId: setNetworkIdDiscoverability
  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: /network_ids/{networkId}/set_name
  method: patch
  operationId: setNetworkIdName
  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: /off_exchange/add
  method: post
  operationId: addOffExchange
  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: /off_exchange/remove
  method: post
  operationId: removeOffExchange
  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: /off_exchange/settlements/trader
  method: post
  operationId: settleOffExchangeTrades
  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: /off_exchange/settlements/transactions
  method: get
  operationId: getOffExchangeSettlementTransactions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /off_exchange/collateral_accounts/{mainExchangeAccountId}
  method: get
  operationId: getOffExchangeCollateralAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /nfts/ownership/tokens
  method: put
  operationId: updateOwnershipTokens
  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: /nfts/ownership/tokens
  method: get
  operationId: getOwnershipTokens
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /nfts/ownership/assets
  method: get
  operationId: listOwnedTokens
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /nfts/ownership/collections
  method: get
  operationId: listOwnedCollections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /nfts/tokens/{id}
  method: put
  operationId: refreshNFTMetadata
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    a

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