Saxo Bank · Agentic Access

Saxo Bank Agentic Access

x-agentic-access generated

Saxo Bank exposes 301 API operations that an AI agent could call, of which 146 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: 155 read, 90 write, 53 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.

Investment BankingTradingEquitiesForexOptionsFuturesMarket DataPortfolio ManagementOrdersFinancial
Operations: 301 Acting: 146 Human-in-the-loop: 3 Method: generated

By consequence

read 155 write 90 physical 53 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
POST /cm/v1/users/resetpasswordrequest safety-critical required
PUT /port/v1/accounts/{AccountKey}/reset safety-critical required
PUT /trade/v1/optionschain/subscriptions/{ContextId}/{ReferenceId}/ResetATM safety-critical required
PUT /at/v3/investments/{InvestmentId}/withdraw physical conditional
PUT /at/v3/tradeFollowers/termsandconditions physical conditional
PUT /at/v3/tradeFollowers/{ClientKey}/suitabilitystatus physical conditional
PUT /at/v3/tradeFollowers/{ClientKey}/termsandconditions physical conditional
POST /atr/v1/cashmanagement/withdrawals physical conditional
POST /atr/v1/partner/cashtransfers physical conditional
POST /atr/v1/partner/prebookedfunds physical conditional
POST /atr/v1/securitiestransfers/transfers physical conditional
PUT /ca/v2/elections physical conditional
PUT /ca/v2/elections/bulk physical conditional
POST /cs/v2/cashmanagement/interaccounttransfers physical conditional
POST /port/v1/orders/subscriptions physical conditional
DELETE /port/v1/orders/subscriptions/{ContextId} physical conditional
DELETE /port/v1/orders/subscriptions/{ContextId}/{ReferenceId} physical conditional
POST /trade/v1/allocationkeys physical conditional
DELETE /trade/v1/allocationkeys/{AllocationKeyId} physical conditional
POST /trade/v1/infoprices/subscriptions physical conditional
POST /trade/v1/infoprices/subscriptions/active physical conditional
DELETE /trade/v1/infoprices/subscriptions/{ContextId} physical conditional
DELETE /trade/v1/infoprices/subscriptions/{ContextId}/{ReferenceId} physical conditional
PUT /trade/v1/messages/seen physical conditional
PUT /trade/v1/messages/seen/{MessageId} physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/at.yaml, openapi/atr.yaml, openapi/ca.yaml, openapi/chart.yaml, openapi/cm.yaml,
  openapi/cr.yaml, openapi/cs.yaml, openapi/developer.yaml, openapi/ens.yaml, openapi/hist.yaml,
  openapi/mkt.yaml, openapi/partnerintegration.yaml, openapi/port.yaml, openapi/ref.yaml, openapi/root.yaml,
  openapi/trade.yaml, openapi/vas.yaml
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: 301
  by_action_class:
    acting: 146
    connected: 155
  by_consequence:
    write: 90
    read: 155
    physical: 53
    safety-critical: 3
  human_in_the_loop_required: 3
operations:
- path: /at/v3/investments/subscriptions/suggestions/{ContextId}/{ReferenceId}
  method: delete
  operationId: InvestmentsV3DeleteSuggestionSubscription
  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: /at/v3/investments/subscriptions/{ContextId}/{ReferenceId}
  method: delete
  operationId: InvestmentsV3DeleteSubscription
  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: /at/v3/investments/subscriptions/suggestions
  method: post
  operationId: InvestmentsV3AddSuggestionSubscriptionAsync
  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: /at/v3/investments/subscriptions
  method: post
  operationId: InvestmentsV3AddSubscription
  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: /at/v3/investments/summaries
  method: get
  operationId: InvestmentsV3GetInvestmentsummariesAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/investments/{InvestmentId}/maxWithdrawalAmount
  method: get
  operationId: InvestmentsV3GetMaxWithdrawalAmountAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/investments/{InvestmentId}/withdraw
  method: put
  operationId: InvestmentsV3PutInvestmentAsync
  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: /at/v3/investments/{InvestmentId}
  method: patch
  operationId: InvestmentsV3PatchInvestmentAsync
  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: /at/v3/investments
  method: get
  operationId: InvestmentsV3GetInvestmentByLeader
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/investments
  method: post
  operationId: InvestmentsV3PostInvestment
  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: /at/v3/investments/me
  method: get
  operationId: InvestmentsV3GetInvestments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeLeaders/public/customselection/{SelectionId}
  method: get
  operationId: TradeLeadersV3GetTradeLeadersCustomSelectionPublic
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeLeaders/public/{TradeLeaderId}
  method: get
  operationId: TradeLeadersV3GetTradeLeaderPublic
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeLeaders/public
  method: get
  operationId: TradeLeadersV3GetAllTradeLeadersPublic
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeLeaders/logo/{LogoKey}
  method: get
  operationId: TradeLeadersV3GetTradeLeaderLogoByLogoKey
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeLeaders/{TradeLeaderId}/logo
  method: get
  operationId: TradeLeadersV3GetTradeLeaderLogo
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeLeaders/{TradeLeaderId}
  method: get
  operationId: TradeLeadersV3GetTradeLeader
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeLeaders
  method: get
  operationId: TradeLeadersV3GetAllTradeLeaders
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeFollowers/termsandconditions
  method: get
  operationId: GET_TradeFollowerV3GetTermsAndConditions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeFollowers/termsandconditions
  method: put
  operationId: TradeFollowerV3UpdateTermsAndConditions
  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: /at/v3/tradeFollowers/{ClientKey}/termsandconditions
  method: get
  operationId: TradeFollowerV3GetTermsAndConditions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeFollowers/{ClientKey}/termsandconditions
  method: put
  operationId: TradeFollowerV3PutClientTermsAndConditions
  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: /at/v3/tradeFollowers/{ClientKey}/suitabilitystatus
  method: get
  operationId: TradeFollowerV3GetSuitabilityStatus
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /at/v3/tradeFollowers/{ClientKey}/suitabilitystatus
  method: put
  operationId: TradeFollowerV3PutSuitabilityStatus
  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: /at/v3/tradeFollowers/me
  method: get
  operationId: TradeFollowerV3GetTradeFollowers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /atr/v1/partner/prebookedfunds
  method: post
  operationId: PartnerPrebookFundPrebookFundDeposit
  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: /atr/v1/cashmanagement/withdrawals
  method: post
  operationId: CashWithdrawalWithdrawl
  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: /atr/v1/cashmanagement/beneficiaryinstructions
  method: get
  operationId: BeneficiaryInstructionsGetBeneficiaryInstructionsAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /atr/v1/partner/cashtransferlimits/{AccountKey}
  method: get
  operationId: PartnerCashTransferLimitGetCashTransfersLimitsAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /atr/v1/partner/cashtransferlimits
  method: get
  operationId: PartnerCashTransferLimitGetCashTransfersLimits
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /atr/v1/securitiestransfers/brokers
  method: get
  operationId: SecuritiesTransferGetBrokers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /atr/v1/securitiestransfers/transfers
  method: get
  operationId: SecuritiesTransferGetTransferDetails
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /atr/v1/securitiestransfers/transfers
  method: post
  operationId: SecuritiesTransferTransfer
  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: /atr/v1/partner/cashtransfers/{TransactionId}
  method: get
  operationId: PartnerCashTransferCashTransfersById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /atr/v1/partner/cashtransfers
  method: get
  operationId: PartnerCashTransferCashTransfersBySearchParameters
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /atr/v1/partner/cashtransfers
  method: post
  operationId: PartnerCashTransferCashTransfer
  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: /atr/v1/cashmanagement/withdrawallimits/{AccountKey}
  method: get
  operationId: CashWithdrawalLimitGetCashWithdrawalLimitsAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /atr/v1/cashmanagement/withdrawallimits
  method: get
  operationId: CashWithdrawalLimitGetCashWithdrawalLimits
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ca/v2/holdings
  method: get
  operationId: HoldingsGetHoldingsAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ca/v2/events/{EventId}
  method: get
  operationId: EventsGetEventAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ca/v2/events
  method: get
  operationId: EventsGetEventsAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ca/v2/events/lookupdata
  method: get
  operationId: EventsGetLookupDataAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ca/v1/proxyvoting/events
  method: get
  operationId: ProxyVotingGetProxyVotingEventsAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ca/v2/standinginstructions
  method: get
  operationId: StandingInstructionGet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ca/v2/standinginstructions
  method: post
  operationId: StandingInstructionPost
  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: /ca/v2/standinginstructions
  method: delete
  operationId: StandingInstructionDelete
  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: /ca/v2/elections/bulk
  method: put
  operationId: ElectionBulkElectAsync
  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: /ca/v2/elections
  method: put
  operationId: ElectionElectAsync
  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: /chart/chart/ClientConfig
  method: get
  operationId: ChartGetClientConfig
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /chart/chart/{Symbol}
  method: get
  operationId: ChartGetChartData
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /chart/v1/charts/subscriptions/{ContextId}/{ReferenceId}
  method: delete
  operationId: ChartsDeleteSubscription
  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: /chart/v1/charts/subscriptions/{ContextId}
  method: delete
  operationId: ChartsDeleteSubscriptions
  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: /chart/v1/charts/subscriptions
  method: post
  operationId: ChartsAddSubscriptionAsync
  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: /chart/v1/charts/subscriptions/active
  method: post
  operationId: ChartsAddSubscriptionActiveAsync
  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: /chart/v1/charts
  method: get
  operationId: ChartsGetChartDataAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cm/v2/signups/verification/initiate/{ClientKey}
  method: post
  operationId: SignUpV2InitiateVerification
  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: /cm/v2/signups/options
  method: get
  operationId: SignUpV2GetSignupOptions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cm/v2/signups/attachments/{SignUpId}
  method: post
  operationId: SignUpV2AttachFile
  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: /cm/v1/signups/onboardingpdf/{ClientKey}
  method: get
  operationId: SignUpV1GenerateTypedOnboardingPDF
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cm/v1/signups/verification/initiate/{ClientKey}
  method: post
  operationId: SignUpV1InitiateVerification
  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: /cm/v1/signups/completeapplication/{SignUpId}
  method: put
  operationId: SignUpV1CompleteApplication
  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: /cm/v1/signups/status/{ClientKey}
  method: get
  operationId: SignUpV1GetSignUpStatus
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cm/v1/signups
  method: post
  operationId: SignUpV1SignUp
  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: /cm/v1/signups/options
  method: get
  operationId: SignUpV1GetSignupOptions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cm/v1/signups/attachments/{SignUpId}
  method: post
  operationId: SignUpV1AttachFile
  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: /cm/v1/clientrenewals/pending
  method: get
  operationId: ClientRenewalGetRenewalStatuses
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cm/v1/clientrenewals/{RenewalEntityId}
  method: patch
  operationId: ClientRenewalUpdateClientRenewalData
  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: /cm/v1/clientrenewals
  method: get
  operationId: ClientRenewalGetClientRenewalData
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cm/v1/documents
  method: post
  operationId: DocumentsUploadDocuments
  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: /cm/v2/accounts
  method: post
  operationId: AccountsV2CreateAccount
  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: /cm/deephealthcheck/isalive
  method: get
  operationId: DeepHealthCheckGet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cm/v1/users/resetpasswordrequest
  method: post
  operationId: UsersResetPasswordResetPassword
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
- path: /cr/v1/reports/TradesExecuted/{ClientKey}
  method: get
  operationId: TradesExecutedGetAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cr/v1/reports/TradeDetails/{ClientKey}
  method: get
  operationId: TradeDetailsGetAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cr/v1/reports/Portfolio/me/{FromDate}/{ToDate}
  method: get
  operationId: PortfolioGetMeAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cr/v1/reports/Portfolio/{ClientKey}/{FromDate}/{ToDate}
  method: get
  operationId: PortfolioGetAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cr/v1/reports/AccountStatement/{ClientKey}
  method: get
  operationId: AccountStatementGetAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v1/tradingconditions/ContractOptionSpaces/{AccountKey}/{OptionRootId}
  method: get
  operationId: ContractOptionGetForContractOption
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v2/cashmanagement/interaccounttransfers
  method: post
  operationId: InterAccountTransferTransfer
  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: /cs/v1/reports/trades/{ClientKey}
  method: get
  operationId: TradesGetDetailsAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v1/reports/bookings/{ClientKey}
  method: get
  operationId: BookingGet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v1/audit/orderactivities
  method: get
  operationId: OrderActivitiesGetOrderStatesAsync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v1/reports/aggregatedAmounts/{ClientKey}/{FromDate}/{ToDate}
  method: get
  operationId: AggregatedAmountGet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v1/tradingconditions/instrument/{AccountKey}/{Uic}/{AssetType}
  method: get
  operationId: InstrumentGetForInstrument
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v2/cashmanagement/wiretransfers/instructions
  method: get
  operationId: WireTransferGet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v1/tradingconditions/cost/{AccountKey}/{Uic}/{AssetType}
  method: get
  operationId: CostGetTradingConditionCost
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v2/clientinfo/clients/search
  method: post
  operationId: ClientInfoV2Search
  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: /cs/v1/reports/closedPositions/{ClientKey}/{FromDate}/{ToDate}
  method: get
  operationId: ClosedPositionGet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v1/partner/support/cases/{CaseId}/note
  method: post
  operationId: PartnerSupportCasesCreateNote
  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: /cs/v1/partner/support/cases/{CaseId}/internalcomment
  method: post
  operationId: PartnerSupportCasesCreateInternalComment
  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: /cs/v1/partner/support/cases/{CaseId}/caseclose
  method: put
  operationId: PartnerSupportCasesCloseCase
  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: /cs/v1/partner/support/cases/{CaseId}
  method: get
  operationId: PartnerSupportCasesGetCase
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v1/partner/support/cases/{CaseId}
  method: patch
  operationId: PartnerSupportCasesUpdateNote
  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: /cs/v1/partner/support/cases
  method: get
  operationId: PartnerSupportCasesGetCases
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /cs/v1/partner/support/cases
  method: post
  operationId: PartnerSupportCasesCreateCase
  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: /developer/apps/resource/{AppKey}
  method: get
  operationId: DeveloperAppGetResourceByAppKey
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /developer/apps/{AppKey}
  method: get
  operationId: DeveloperAppGetAppByAppKey
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /developer/apps/{AppKey}
  method: delete
  operationId: DeveloperAppDeactivateApp
  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: /developer/apps/{AppKey}
  method: patch
  operationId: DeveloperAppUpdateApp
  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: /developer/apps
  method: get
  operationId: DeveloperAppGetApps
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /developer/apps
  method: post
  operationId: DeveloperAppCreateApp
  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: /developer/featureflags
  method: get
  operationId: FeatureFlagsGetFlags
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /developer/apps/{AppKey}/redirecturis/{RedirectUriId}
  method: get
  operationId: DeveloperRedirectGetRedirectUriFromId
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /developer/apps/{AppKey}/redirecturis/{RedirectUriId}
  method: delete
  operationId: DeveloperRedirectDeleteRedirectUri
  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: /developer/apps/{AppKey}/redirecturis/{RedirectUriId}
  method: patch
  operationId: DeveloperRedirectUpdateRedirectUri
  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: /developer/apps/{AppKey}/redirecturis
  method: get
  operationId: DeveloperRedirectGetRedirectUris
  x-agentic-access:
    action-class: connected
    consequence: read
    subject:

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