Saxo Bank ExtendedAccounts API

Extended Account provides abstraction on top of accounts and account risk-profiles to make them appear as one Account. It gives semblance of Bink style Secutity Account where it is possible to book trades and have number of assoociated Accounts with Cash on in different Currencies

OpenAPI Specification

saxo-extendedaccounts-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Services.AutoTrading Account Values ExtendedAccounts API
  description: 'The AutoTrading service group provides endpoints for interacting with Saxo Bank''s SaxoSelect offering.Through these interfaces a client application can get Saxo Select trade leaders, portfolios and investments. Portfolio investments can be created and modifed.<div class=well style=''border: 1px solid rgb(204, 82, 0); border-image: none; background-color: rgb(255, 209, 179);padding:1px;''><strong> Note:</strong> </br>This service is subject to special licensing agreements and not generally available to all OpenAPI applications.</div>'
  version: 2.4.138+710c760591
  x-framework-version: 38.0.2+439c5b0ec3
  x-machine: SIMOAWEB11-DK2
servers:
- url: https://gateway.saxobank.com/sim/openapi
tags:
- name: ExtendedAccounts
  description: "Extended Account provides abstraction on top of accounts and account risk-profiles to make them\n            appear as one Account. It gives semblance of Bink style Secutity Account where it is possible to book trades \n            and have number of assoociated Accounts with Cash on in different Currencies"
paths:
  /port/v1/extendedaccounts/{AccountKey}/{AccountLevel}:
    patch:
      tags:
      - ExtendedAccounts
      summary: Update account information
      description: Update Display Name at Account or AccountGroup Level of an Extended Account
      operationId: ExtendedAccountsV1UpdateAccount
      parameters:
      - name: AccountKey
        in: path
        required: true
        schema:
          type: string
      - name: AccountLevel
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/AccountLevel'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountUpdateRequest'
            example:
              DisplayName: Trading Account
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - InvalidInput
                    - NoValidInput
                    type: string
                    example: None
                    x-enum-descriptions:
                      NoValidInput: No valid input values passed.
                      InvalidInput: An error was encountered when processing given input parameters.
                  Message:
                    type: string
                  ModelState:
                    $ref: '#/components/schemas/ModelStateDictionary'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - OpenApiOAuthSecurityScheme: []
      - OpenApiJWTSecurityScheme: []
      x-required-permissions:
        personal: Write
components:
  schemas:
    AccountUpdateRequest:
      title: A parameter wrapper for Account update operations.
      type: object
      properties:
        AccountValueProtectionLimit:
          title: "If set, this value shields the account value from going below the given limit by automatically triggering closing of positions should the limit be exceeded.\n            A limit of zero means there is no limit."
          type: number
          example: 10
        BenchmarkInstrument:
          title: Sets the instrument to be used as comparison then evaluating account performance.
          allOf:
          - $ref: '#/components/schemas/AccountBenchmarkInstrument'
        DisplayName:
          title: The nickname the client would like to give the account.
          type: string
          example: stringValue
        UseCashPositionsAsMarginCollateral:
          title: Enable/disable the use of cash positions for margin trading collateral.
          type: boolean
          example: true
      additionalProperties: false
      example:
        DisplayName: Trading Account
    ModelStateDictionary:
      type: object
      additionalProperties:
        type: array
        items:
          type: string
    AccountLevel:
      title: "Defines Extended Account Type. \n            For a Group Margined Account, it is AccountGroup\n            For an Individual Margined Account, it is Account"
      enum:
      - Account
      - AccountGroup
      type: string
      example: AccountGroup
      x-enum-descriptions:
        Account: Account
        AccountGroup: AccountGroup
    AssetType:
      title: The possible AssetTypes for which you can get a quote or place an order or a trade.
      enum:
      - Bond
      - Cash
      - CertificateBonus
      - CertificateCappedBonus
      - CertificateCappedCapitalProtected
      - CertificateCappedOutperformance
      - CertificateConstantLeverage
      - CertificateDiscount
      - CertificateExpress
      - CertificateTracker
      - CertificateUncappedCapitalProtection
      - CertificateUncappedOutperformance
      - CfdIndexOption
      - CfdOnCompanyWarrant
      - CfdOnEtc
      - CfdOnEtf
      - CfdOnEtn
      - CfdOnFund
      - CfdOnFutures
      - CfdOnIndex
      - CfdOnRights
      - CfdOnStock
      - CompanyWarrant
      - ContractFutures
      - Etc
      - Etf
      - Etn
      - Fund
      - FuturesOption
      - FuturesStrategy
      - FxBinaryOption
      - FxForwards
      - FxKnockInOption
      - FxKnockOutOption
      - FxNoTouchOption
      - FxOneTouchOption
      - FxSpot
      - FxVanillaOption
      - GuaranteeNote
      - IpoOnStock
      - ManagedFund
      - MiniFuture
      - MutualFund
      - PortfolioNote
      - Rights
      - SrdOnEtf
      - SrdOnStock
      - Stock
      - StockIndex
      - StockIndexOption
      - StockOption
      - Warrant
      - WarrantDoubleKnockOut
      - WarrantKnockOut
      - WarrantOpenEndKnockOut
      - WarrantSpread
      type: string
      example: FxForwards
      x-enum-descriptions:
        FxSpot: Forex Spot.
        FxForwards: Forex Forward.
        FxVanillaOption: Forex Vanilla Option.
        FxKnockInOption: Forex Knock In Option.
        FxKnockOutOption: Forex Knock Out Option.
        FxBinaryOption: Forex Binary Option.
        FxOneTouchOption: Forex One Touch Option.
        FxNoTouchOption: Forex No Touch Option.
        ContractFutures: Contract Futures.
        FuturesStrategy: Futures Strategy.
        Stock: Stock.
        StockOption: Stock Option.
        Bond: Bond.
        FuturesOption: Futures Option.
        StockIndexOption: Stock Index Option.
        ManagedFund: 'Obsolete: Managed Fund.'
        Cash: Cash. Not tradeable!
        CfdOnStock: Cfd on Stock.
        CfdOnIndex: Cfd on Stock Index.
        CfdOnFutures: Cfd on Futures.
        StockIndex: Stock Index.
        MutualFund: Mutual Fund.
        CfdIndexOption: Cfd Index Option.
        CfdOnEtf: Cfd on Etf
        CfdOnEtc: Cfd on Etc
        CfdOnEtn: Cfd on Etn
        CfdOnFund: Cfd on Fund
        CfdOnRights: Cfd on Rights
        CfdOnCompanyWarrant: Cfd on unlisted warrant issued by a corporation.
        Etf: Exchange traded fund.
        Etc: Etc
        Etn: Etn
        Fund: Fund
        Rights: Rights
        Warrant: Warrant
        MiniFuture: MiniFuture.
        WarrantSpread: Warrant with built-in spread.
        WarrantKnockOut: Warrant with a knock-out barrier.
        WarrantOpenEndKnockOut: Knock-out Warrant with no expiry.
        WarrantDoubleKnockOut: Warrant with two knock-out barriers.
        CertificateUncappedCapitalProtection: Guarantees a percentage increase of the underlying asset's value above the issue price at expiry/maturity. Max loss is the amount invested multiplied by the CapitalProtection percentage.
        CertificateCappedCapitalProtected: Guarantees a capped percentage increase of the underlying asset's value above the issue price at expiry/maturity. Max loss is the amount invested multiplied by the CapitalProtection percentage.
        CertificateDiscount: Yields a capped return if the underlying asset's value is above the specified cap level at expiry. If the underlying's value is below the strike at expiry, the investor received the underlying or equivalent value. Offers direct exposure in underlying at a lower price (discount) with a capped potential profit and limited loss.
        CertificateCappedOutperformance: Capped Outperformance Certificate.
        CertificateCappedBonus: Certificate Capped Bonus.
        CertificateExpress: Certificate Express kick out.
        CertificateTracker: A certificate that mirrors the price movement of the underlying instrument. Often used to trade movements in indicies. Movements can be a fixed ratio of the underlying and can be inverted for bearish/short speculation. Risk is equivalent to owning the underlying.
        CertificateUncappedOutperformance: Provides leveraged returns when the underlying price exceeds the threshold strike price. The amount leverage is defined by the Participation %. When the underlying is below the strike price, the certificate mirrors the underlying price 1:1.
        CertificateBonus: Mirrors the price movement of the underlying only if and when the underlying price exceeds the defined barrier. If the certificate expires below the barrier, it offers partial protection/return of investment.
        CertificateConstantLeverage: Certificate Constant Leverage.
        SrdOnStock: SRD. (Service de Règlement Différé) on Stock.
        SrdOnEtf: SRD. (Service de Règlement Différé) on Etf.
        IpoOnStock: IPO on Stock
        CompanyWarrant: Unlisted warrant issued by a corporation, often physically settled.
        PortfolioNote: Danish pooled investment scheme (“Pulje”). Not online tradeable.
        GuaranteeNote: Danish investment scheme (“Grantbevis”). Not online tradeable.
    AccountBenchmarkInstrument:
      title: Sets the instrument to be used as comparison then evaluating account performance.
      required:
      - BenchmarkInstrumentUic
      type: object
      properties:
        BenchmarkInstrumentAssetType:
          title: The instrument asset type of the benchmark instrument.
          allOf:
          - $ref: '#/components/schemas/AssetType'
        BenchmarkInstrumentUic:
          title: The instrument identifier of the benchmark instrument.
          type: integer
          format: int32
          example: 99
      additionalProperties: false
      example:
        BenchmarkInstrumentAssetType: FxKnockOutOption
        BenchmarkInstrumentUic: 99
  responses:
    Unauthorized:
      description: Indicates that the request was rejected because the 'Authorization' header was missing in the request or contained an invalid security token.
    ServiceUnavailable:
      description: Service Unavailable.
    TooManyRequests:
      description: The request was rejected due to rate limit being exceeded.
  securitySchemes:
    OpenApiJWTSecurityScheme:
      type: http
      scheme: bearer
      bearerFormat: JWT
    OpenApiOAuthSecurityScheme:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://sim.logonvalidation.net/authorize
          tokenUrl: https://sim.logonvalidation.net/token
          scopes: {}