lemon.markets Agentic Access
lemon.markets exposes 96 API operations that an AI agent could call, of which 33 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: 63 read, 22 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 | /accounts/{account_id}/batch_orders | physical | conditional |
| POST | /accounts/{account_id}/batch_orders/{order_id}/cancel | physical | conditional |
| POST | /accounts/{account_id}/batch_orders/{order_id}/confirm | physical | conditional |
| POST | /accounts/{account_id}/orders | physical | conditional |
| POST | /accounts/{account_id}/orders/{order_id}/cancel | physical | conditional |
| POST | /accounts/{account_id}/orders/{order_id}/confirm | physical | conditional |
| POST | /accounts/{account_id}/tax_exemption_orders | physical | conditional |
| POST | /accounts/{account_id}/tax_exemption_orders/{tax_exemption_order_id}/cancel | physical | conditional |
| POST | /accounts/{account_id}/treasury_transfers | physical | conditional |
| POST | /accounts/{account_id}/withdrawals | physical | conditional |
| POST | /accounts/{account_id}/withdrawals/{withdrawal_id}/confirm | physical | conditional |
Source
Agentic Access
generated: '2026-07-19'
method: generated
source: openapi/lemonmarkets-brokerage-openapi.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: 96
by_action_class:
acting: 33
connected: 63
by_consequence:
write: 22
read: 63
physical: 11
human_in_the_loop_required: 0
operations:
- path: /accounts/{account}/accept_agreement
method: post
operationId: accept_agreement
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: /businesses/{business_id}/beneficial_owners
method: post
operationId: add_beneficial_owner
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: /businesses/{business_id}/beneficial_owners
method: get
operationId: list_beneficial_owners
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /businesses/{business_id}/legal_representatives
method: post
operationId: add_legal_representative
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: /businesses/{business_id}/legal_representatives
method: get
operationId: list_legal_representatives
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/batch_orders/{order_id}/cancel
method: post
operationId: cancel_batch_order
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: /accounts/{account_id}/orders/{order_id}/cancel
method: post
operationId: cancel_order
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: /accounts/{account_id}/tax_exemption_orders/{tax_exemption_order_id}/cancel
method: post
operationId: cancel_tax_exemption_order
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: /accounts/{account_id}/treasury_mandates/{mandate_id}/cancel
method: post
operationId: cancel_treasury_mandate
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: /accounts/{account_id}/workflows/{workflow_id}/cancel
method: post
operationId: cancel_workflow
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: /accounts/{account_id}/batch_orders/{order_id}/confirm
method: post
operationId: confirm_batch_order
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: /accounts/{account_id}/orders/{order_id}/confirm
method: post
operationId: confirm_order
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: /accounts/{account_id}/withdrawals/{withdrawal_id}/confirm
method: post
operationId: confirm_withdrawal
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: /accounts/{account_id}/workflows/{workflow_id}/confirm
method: post
operationId: confirm_workflow
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: /accounts
method: post
operationId: create_account
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: /accounts
method: get
operationId: list_accounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/authenticators
method: post
operationId: create_authenticator
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: /accounts/{account_id}/authenticators
method: get
operationId: list_authenticators
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/batch_orders
method: post
operationId: create_batch_order
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: /accounts/{account_id}/batch_orders
method: get
operationId: list_batch_orders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /businesses
method: post
operationId: create_business
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: /businesses
method: get
operationId: list_businesses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/orders
method: post
operationId: create_order
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: /accounts/{account_id}/orders
method: get
operationId: list_orders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /persons
method: post
operationId: create_person
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: /persons
method: get
operationId: list_persons
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /persons/{person_id}/updates
method: post
operationId: create_person_data_update
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: /persons/{person_id}/updates
method: get
operationId: list_person_data_updates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/securities_accounts
method: post
operationId: create_securities_account
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: /accounts/{account_id}/securities_accounts
method: get
operationId: list_securities_accounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/tax_exemption_orders
method: post
operationId: create_tax_exemption_order
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: /accounts/{account_id}/tax_exemption_orders
method: get
operationId: list_tax_exemption_orders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/treasury_mandates
method: post
operationId: create_treasury_mandate
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: /accounts/{account_id}/treasury_mandates
method: get
operationId: list_treasury_mandates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/treasury_transfers
method: post
operationId: create_treasury_transfer
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: /accounts/{account_id}/treasury_transfers
method: get
operationId: list_treasury_transfers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /webhooks
method: post
operationId: create_webhook
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /webhooks
method: get
operationId: list_webhooks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/withdrawals
method: post
operationId: create_withdrawal
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: /accounts/{account_id}/withdrawals
method: get
operationId: list_withdrawals
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/workflows
method: post
operationId: create_workflow
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: /accounts/{account_id}/workflows
method: get
operationId: list_workflows
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /webhooks/{webhook_id}
method: delete
operationId: delete_webhook
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /accounts/{account_id}
method: get
operationId: get_account
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/checks
method: get
operationId: get_account_checks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /agreements
method: get
operationId: get_agreements
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/batch_orders/{order_id}
method: get
operationId: get_batch_order
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /businesses/{business_id}
method: get
operationId: get_business
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/corporate_actions/{corporate_action_id}
method: get
operationId: get_corporate_action
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /corporate_actions/{corporate_action_id}
method: get
operationId: get_corporate_action_general
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/documents/{document_id}
method: get
operationId: get_document
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/experience
method: get
operationId: get_experience_profile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/experience
method: post
operationId: set_experience_profile
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: /accounts/{account_id}/experience
method: patch
operationId: update_knowledge
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: /accounts/{account_id}/financials
method: get
operationId: get_financials_accounts__account_id__financials_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/income_distributions/{income_distribution_id}
method: get
operationId: get_income_distribution
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instruments/{isin}
method: get
operationId: get_instrument
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instruments/{instrument}/yield
method: get
operationId: get_latest_yield
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/orders/{order_id}
method: get
operationId: get_order
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /persons/{person_id}
method: get
operationId: get_person
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /persons/{person_id}/updates/{update_id}
method: get
operationId: get_person_data_update
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /persons/{person_id}/identifications/{identification_id}
method: get
operationId: get_person_identification
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/positions
method: get
operationId: get_positions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instruments/{isin}/prices
method: get
operationId: get_prices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/securities_accounts/{securities_account_id}
method: get
operationId: get_securities_account
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /settlement_accounts/{settlement_account_id}/settlements/{settlement_id}
method: get
operationId: get_settlement
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/sweeps/{sweep_id}
method: get
operationId: get_sweep
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/tax_exemption_orders/{tax_exemption_order_id}
method: get
operationId: get_tax_exemption_order
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/trades/{trade_id}
method: get
operationId: get_trade
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/transactions/{transaction_id}
method: get
operationId: get_transaction_by_id
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/transactions
method: get
operationId: get_transactions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /treasury_fees/{fee_id}
method: get
operationId: get_treasury_fee
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/treasury_financials
method: get
operationId: get_treasury_financials
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/treasury_mandates/{mandate_id}
method: get
operationId: get_treasury_mandate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/treasury_transfers/{treasury_transfer_id}
method: get
operationId: get_treasury_transfer
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/withdrawals/{withdrawal_id}
method: get
operationId: get_withdrawal
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/workflows/{workflow_id}
method: get
operationId: get_workflow
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/corporate_actions
method: get
operationId: list_corporate_actions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /corporate_actions
method: get
operationId: list_corporate_actions_general
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /treasury_fees/{fee_id}/customer_fees
method: get
operationId: list_customer_fees
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/documents
method: get
operationId: list_documents_of_account
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /events
method: get
operationId: list_events
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/income_distributions
method: get
operationId: list_income_distributions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instruments
method: get
operationId: list_instruments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /settlement_accounts
method: get
operationId: list_settlement_accounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /settlement_accounts/{settlement_account_id}/transactions
method: get
operationId: list_settlement_accounts_transactions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /settlement_accounts/{settlement_account_id}/settlements/{settlement_id}/items
method: get
operationId: list_settlement_items
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /settlement_accounts/{settlement_account_id}/settlements
method: get
operationId: list_settlements
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/sweeps
method: get
operationId: list_sweeps
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/tax_exemption_usages
method: get
operationId: list_tax_exemption_usages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/trades
method: get
operationId: list_trades
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /treasury_fees
method: get
operationId: list_treasury_fees
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounts/{account_id}/identity_verification
method: post
operationId: start_identity_verification
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: /businesses/{business_id}/submit_document
method: post
operationId: submit_document
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: /submit_document
method: post
operationId: submit_document_upload
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: /persons/{person_id}/identifications/{identification_id}/submit
method: post
operationId: submit_identification_payload
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