Dinari Agentic Access
Dinari exposes 61 API operations that an AI agent could call, of which 21 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: 40 read, 10 write, and 11 physical.
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.
By consequence
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.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| POST | /api/v2/accounts/{account_id}/order_requests/eip155 | physical | conditional |
| POST | /api/v2/accounts/{account_id}/order_requests/eip155/permit | physical | conditional |
| POST | /api/v2/accounts/{account_id}/order_requests/eip155/permit_transaction | physical | conditional |
| POST | /api/v2/accounts/{account_id}/order_requests/limit_buy | physical | conditional |
| POST | /api/v2/accounts/{account_id}/order_requests/limit_sell | physical | conditional |
| POST | /api/v2/accounts/{account_id}/order_requests/market_buy | physical | conditional |
| POST | /api/v2/accounts/{account_id}/order_requests/market_sell | physical | conditional |
| POST | /api/v2/accounts/{account_id}/orders/cancel | physical | conditional |
| POST | /api/v2/accounts/{account_id}/orders/{order_id}/cancel | physical | conditional |
| POST | /api/v2/accounts/{account_id}/token_transfers | physical | conditional |
| POST | /api/v2/accounts/{account_id}/withdrawal_requests | physical | conditional |
Source
Agentic Access
generated: '2026-07-18'
method: generated
source: openapi/dinari-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: 61
by_action_class:
connected: 40
acting: 21
by_consequence:
read: 40
write: 10
physical: 11
human_in_the_loop_required: 0
operations:
- path: /api/v2/market_data/alloys/
method: get
operationId: getAlloys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/alloys/{alloy_id}/current_price
method: get
operationId: getAlloyCurrentPrice
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/alloys/{alloy_id}/historical_prices/
method: get
operationId: getAlloyPriceChart
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/stocks/
method: get
operationId: getStocks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/stocks/{stock_id}/current_price
method: get
operationId: getStockCurrentPrice
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/stocks/{stock_id}/current_quote
method: get
operationId: getStockCurrentQuotesRouteV1
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/stocks/{stock_id}/historical_prices/
method: get
operationId: getStockPriceChart
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/stocks/splits
method: get
operationId: getStockSplits
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/stocks/{stock_id}/splits
method: get
operationId: getStockSplitsById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/stocks/{stock_id}/news
method: get
operationId: getStockNewsByStockId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/stocks/{stock_id}/dividends
method: get
operationId: getStockDividendsByStockId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/market_data/market_hours/
method: get
operationId: getMarketHours
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/entities/
method: get
operationId: getEntities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/entities/
method: post
operationId: createEntities
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/entities/me
method: get
operationId: getCurrentEntity
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/entities/{entity_id}
method: get
operationId: getEntityById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/entities/{entity_id}
method: patch
operationId: updateEntityById
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/entities/{entity_id}/accounts
method: get
operationId: getEntityAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/entities/{entity_id}/accounts
method: post
operationId: createEntityAccounts
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/entities/{entity_id}/kyc
method: get
operationId: getEntityKyc
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/entities/{entity_id}/kyc
method: post
operationId: createEntityKyc
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/entities/{entity_id}/kyc/{kyc_id}/document
method: get
operationId: getEntityKycDocument
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/entities/{entity_id}/kyc/{kyc_id}/document
method: post
operationId: createEntityKycDocument
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/entities/{entity_id}/kyc/url
method: post
operationId: createManagedEntityKycEmbed
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/orders/
method: get
operationId: getEntityOrders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}
method: get
operationId: getAccount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/deactivate
method: post
operationId: createAccountDeactivation
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/portfolio
method: get
operationId: getAccountPortfolio
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/cash
method: get
operationId: getAccountCash
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/interest_payments
method: get
operationId: getAccountInterestPayments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/dividend_payments
method: get
operationId: getAccountDividendPayments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/faucet
method: post
operationId: createAccountFaucet
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/activities/brokerage
method: get
operationId: getBrokerageAccountActivities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/wallet
method: get
operationId: getWallet
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/wallet/external/nonce
method: get
operationId: getAccountWalletConnectionNonce
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/wallet/external
method: post
operationId: createAccountWalletConnection
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/wallet/internal
method: post
operationId: createAccountWalletInternalConnection
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/orders
method: get
operationId: getOrders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/orders/{order_id}
method: get
operationId: getOrderById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/orders/{order_id}/cancel
method: post
operationId: createOrderCancellation
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/orders/cancel
method: post
operationId: createBatchOrderCancellation
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/order_requests
method: get
operationId: getListOrderRequests
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/order_requests/{order_request_id}
method: get
operationId: getOrderRequestById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/order_requests/eip155/permit
method: post
operationId: createEIP155OrderRequestPermit
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/order_requests/eip155
method: post
operationId: createEIP155OrderRequestPermitTransaction
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/order_requests/eip155/permit_transaction
method: post
operationId: createEip155PermitTransaction
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/order_fulfillments
method: get
operationId: getAccountAllOrderFulfillments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/orders/{order_id}/fulfillments
method: get
operationId: getAccountOrderFulfillments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/order_fulfillments/{order_fulfillment_id}
method: get
operationId: getAccountOrderFulfillmentById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/order_requests/market_buy
method: post
operationId: createMarketBuyManagedOrderRequest
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/order_requests/market_sell
method: post
operationId: createMarketSellManagedOrderRequest
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/order_requests/limit_buy
method: post
operationId: createLimitBuyManagedOrderRequest
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/order_requests/limit_sell
method: post
operationId: createLimitSellManagedOrderRequest
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/token_transfers
method: get
operationId: getTokenTransfers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/token_transfers
method: post
operationId: createTokenTransfers
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/token_transfers/{transfer_id}
method: get
operationId: getTokenTransfer
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/withdrawal_requests
method: get
operationId: getAccountWithdrawalRequests
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/withdrawal_requests
method: post
operationId: createAccountWithdrawalRequests
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v2/accounts/{account_id}/withdrawal_requests/{withdrawal_request_id}
method: get
operationId: getAccountWithdrawalRequest
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/withdrawals
method: get
operationId: getAccountWithdrawals
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/accounts/{account_id}/withdrawals/{withdrawal_id}
method: get
operationId: getAccountWithdrawal
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none