Saxo Bank Charts API

Allows you to set up subscriptions for streamed charts data.

OpenAPI Specification

saxo-charts-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Services.AutoTrading Account Values Charts 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: Charts
  description: Allows you to set up subscriptions for streamed charts data.
paths:
  /chart/chart/ClientConfig:
    get:
      tags:
      - Charts
      summary: OBSOLETE Get the chart client configuration
      description: "Returns configuration data for the chart client.\n                Including:\n                Maximum/minimum amount of samples to request\n                Request frequency\n                Timeout values"
      operationId: ChartGetClientConfig
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientConfigData'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - OpenApiOAuthSecurityScheme: []
      - OpenApiJWTSecurityScheme: []
  /chart/chart/{Symbol}:
    get:
      tags:
      - Charts
      summary: OBSOLETE Get chart data for an instrument.
      description: Responsible for getting chart data for an instrument from the back end domain.
      operationId: ChartGetChartData
      parameters:
      - name: Count
        in: query
        description: Optional number of samples. Max. is 1200, default is 0.
        required: true
        schema:
          type: integer
          format: int32
      - name: Horizon
        in: query
        description: "The horizon to get samples from. Values are interpreted in minutes: 1, 5, 10, 15, 30, 60, 120,\n                240, 360, 480, 1440, 10080, 43200."
        required: true
        schema:
          type: integer
          format: int32
      - name: Mode
        in: query
        description: "Defines how to get the data from the chart feed server. Following options are available: START,\n                FROM, UPTO"
        required: true
        schema:
          type: string
      - name: Seq
        in: query
        description: "Optional sequence id that is repeated in the response to help clients correlate responses with\n                requests. Must be an integer"
        schema:
          type: integer
          format: int32
      - name: Symbol
        in: path
        description: The symbol of the instrument to retreive data for. NB! Symbol is case sensitive.
        required: true
        schema:
          type: string
      - name: Time
        in: query
        description: "Optional UTC time of the first/last sample. This depends on the MODE parameter. (MODE=FROM => time\n                equals first sample, MODE=UPTO => time equals last sample)."
        schema:
          type: integer
          format: int32
      - name: Tz
        in: query
        description: "Optional time zone to get UTC-offsets for. Must be a zone name from the tz-database\n                (http://www.iana.org/time-zones). Example: Australia/Hobart"
        schema:
          type: string
      - name: Version
        in: query
        description: Optional protocol version. If not specified the default version 105 will be used.
        schema:
          type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - OpenApiOAuthSecurityScheme: []
      - OpenApiJWTSecurityScheme: []
  /chart/v1/charts/subscriptions/{ContextId}/{ReferenceId}:
    delete:
      tags:
      - Charts
      summary: Remove subscription
      description: Removes subscriptions for the given reference id on this resource, and frees resources on the server.
      operationId: ChartsDeleteSubscription
      parameters:
      - name: ContextId
        in: path
        description: Unique streaming context ID part of the streaming session.
        required: true
        schema:
          type: string
        example: '20160204125301453'
      - name: ReferenceId
        in: path
        description: The reference id that identifies the subscription (within a streaming session).
        required: true
        schema:
          type: string
        example: '20160204125301444'
      responses:
        '204':
          description: No Content
        '202':
          description: Subscription delete request will be processed eventually.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - OpenApiOAuthSecurityScheme: []
      - OpenApiJWTSecurityScheme: []
      x-required-permissions:
        personal: Subscribe
        community: Subscribe
  /chart/v1/charts/subscriptions/{ContextId}:
    delete:
      tags:
      - Charts
      summary: Remove multiple subscriptions
      description: Removes all subscriptions for the current session on this resource, and frees all resources on the server.
      operationId: ChartsDeleteSubscriptions
      parameters:
      - name: ContextId
        in: path
        description: Unique streaming context ID part of the streaming session.
        required: true
        schema:
          type: string
        example: '20160204125301453'
      - name: Tag
        in: query
        description: Tag that subscriptions are marked with.
        schema:
          type: string
        example: TAB9
      responses:
        '204':
          description: No Content
        '202':
          description: Subscription delete request will be processed eventually.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - OpenApiOAuthSecurityScheme: []
      - OpenApiJWTSecurityScheme: []
      x-required-permissions:
        personal: Subscribe
        community: Subscribe
  /chart/v1/charts/subscriptions:
    post:
      tags:
      - Charts
      summary: Create a subscription on chart data
      description: "Sets up a subscription and returns an initial snapshot of most recently completed samples specified by the parameters in the request.\n            \n\n            Subsequent samples are delivered over the streaming channel. Most often a single new sample or sample update is delivered at a time, \n            but when a sample closes, you will typcially get two samples: The now closed bar, and the bar just opening.\n            \n\n\n            Two events may require that a client application must close the current subscribtion and resubscribe:\n            \n\n\n*   The chart has been revised, either due to a correction or a corporate action.\n*   The data stream has shifted from real-time to delayed prices or visa versa.\n\n            In both cases the client application will receive a _resetsubscriptions instruction over the streaming channel."
      operationId: ChartsAddSubscriptionAsync
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChartStreamingRequest'
            example:
              Arguments:
                AssetType: FxSpot
                Count: 2
                FieldGroups:
                - ChartInfo
                - Data
                - DisplayAndFormat
                Horizon: 1
                Uic: 21
              ContextId: '20221029043401185'
              Format: application/json
              ReferenceId: CH11578
              RefreshRate: 1000
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartStreamingResponse'
              example:
                ContextId: '20221029043401208'
                Format: application/json
                InactivityTimeout: 0
                ReferenceId: CH21848
                RefreshRate: 1000
                Snapshot:
                  ChartInfo:
                    DelayedByMinutes: 15
                    ExchangeId: SBFX
                    FirstSampleTime: '2015-02-02T01:02:03Z'
                    Horizon: 1
                  Data:
                  - CloseAsk: 1.3475
                    CloseBid: 1.3473
                    HighAsk: 1.4003
                    HighBid: 1.4001
                    LowAsk: 1.2804
                    LowBid: 1.2802
                    OpenAsk: 1.3478
                    OpenBid: 1.3476
                    Time: '2015-02-01T11:45:00Z'
                  - CloseAsk: 1.3475
                    CloseBid: 1.3473
                    HighAsk: 1.4003
                    HighBid: 1.4001
                    LowAsk: 1.2804
                    LowBid: 1.2802
                    OpenAsk: 1.3478
                    OpenBid: 1.3476
                    Time: '2015-02-01T11:46:00Z'
                  DataVersion: 1892739
                  DisplayAndFormat:
                    Currency: USD
                    Decimals: 4
                    Description: Euro/US Dollar
                    Format: AllowDecimalPips
                    Symbol: EURUSD
                State: Active
                Tag: Tag01
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - InvalidModelState
                    - UnsupportedSubscriptionFormat
                    type: string
                    example: None
                    x-enum-descriptions:
                      InvalidModelState: Error code returned when model state is invalid.
                      UnsupportedSubscriptionFormat: Error code returned when a subscription format that isn't supported by the publisher is requested.
                  Message:
                    type: string
                  ModelState:
                    $ref: '#/components/schemas/ModelStateDictionary'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - SubscriptionLimitExceeded
                    type: string
                    example: None
                    x-enum-descriptions:
                      SubscriptionLimitExceeded: Error code returned when more than the maximum allowed number of subscriptions for a specified type, is exceeded.
                  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: Subscribe
        community: Subscribe
      x-streaming-type:
        $ref: '#/components/schemas/ChartResponseDomainEvent'
  /chart/v1/charts/subscriptions/active:
    post:
      tags:
      - Charts
      summary: Obsolete Create a subscription on chart data
      description: "Sets up a subscription and returns an initial snapshot of most recently completed samples specified by the parameters in the request.\n            \n\n            Subsequent samples are delivered over the streaming channel. Most often a single new sample or sample update is delivered at a time, \n            but when a sample closes, you will typcially get two samples: The now closed bar, and the bar just opening.\n            \n\n\n            Two events may require that a client application must close the current subscribtion and resubscribe:\n            \n\n\n*   The chart has been revised, either due to a correction or a corporate action.\n*   The data stream has shifted from real-time to delayed prices or visa versa.\n\n            In both cases the client application will receive a _resetsubscriptions instruction over the streaming channel."
      operationId: ChartsAddSubscriptionActiveAsync
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChartStreamingRequest'
            example:
              Arguments:
                AssetType: FxSpot
                Count: 2
                FieldGroups:
                - ChartInfo
                - Data
                - DisplayAndFormat
                Horizon: 1
                Uic: 21
              ContextId: '20221029043401185'
              Format: application/json
              ReferenceId: CH11578
              RefreshRate: 1000
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartStreamingResponse'
              example:
                ContextId: '20221029043401208'
                Format: application/json
                InactivityTimeout: 0
                ReferenceId: CH21848
                RefreshRate: 1000
                Snapshot:
                  ChartInfo:
                    DelayedByMinutes: 15
                    ExchangeId: SBFX
                    FirstSampleTime: '2015-02-02T01:02:03Z'
                    Horizon: 1
                  Data:
                  - CloseAsk: 1.3475
                    CloseBid: 1.3473
                    HighAsk: 1.4003
                    HighBid: 1.4001
                    LowAsk: 1.2804
                    LowBid: 1.2802
                    OpenAsk: 1.3478
                    OpenBid: 1.3476
                    Time: '2015-02-01T11:45:00Z'
                  - CloseAsk: 1.3475
                    CloseBid: 1.3473
                    HighAsk: 1.4003
                    HighBid: 1.4001
                    LowAsk: 1.2804
                    LowBid: 1.2802
                    OpenAsk: 1.3478
                    OpenBid: 1.3476
                    Time: '2015-02-01T11:46:00Z'
                  DataVersion: 1892739
                  DisplayAndFormat:
                    Currency: USD
                    Decimals: 4
                    Description: Euro/US Dollar
                    Format: AllowDecimalPips
                    Symbol: EURUSD
                State: Active
                Tag: Tag01
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - InvalidModelState
                    - UnsupportedSubscriptionFormat
                    type: string
                    example: None
                    x-enum-descriptions:
                      InvalidModelState: Error code returned when model state is invalid.
                      UnsupportedSubscriptionFormat: Error code returned when a subscription format that isn't supported by the publisher is requested.
                  Message:
                    type: string
                  ModelState:
                    $ref: '#/components/schemas/ModelStateDictionary'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - SubscriptionLimitExceeded
                    type: string
                    example: None
                    x-enum-descriptions:
                      SubscriptionLimitExceeded: Error code returned when more than the maximum allowed number of subscriptions for a specified type, is exceeded.
                  Message:
                    type: string
                  ModelState:
                    $ref: '#/components/schemas/ModelStateDictionary'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      deprecated: true
      security:
      - OpenApiOAuthSecurityScheme: []
      - OpenApiJWTSecurityScheme: []
      x-required-permissions:
        personal: Subscribe
        community: Subscribe
      x-streaming-type:
        $ref: '#/components/schemas/ChartResponseDomainEvent'
  /chart/v1/charts:
    get:
      tags:
      - Charts
      summary: Get chart data
      description: Returns timestamped OHLC samples for a single instrument identified by UIC and AssetType. The time period covered by the samples and interval size between them are controlled by the combination of parameters Horizon, Time, Mode and Count.
      operationId: ChartsGetChartDataAsync
      parameters:
      - name: AssetType
        in: query
        description: Assettype of the instrument.
        required: true
        schema:
          title: Assettype of the instrument.
          allOf:
          - $ref: '#/components/schemas/AssetType'
        example: FxSpot
      - name: Count
        in: query
        description: Specifies maximum number of samples to return. Maximum is 1200. If not specified a default of 1200 samples are returned.
        schema:
          title: Specifies maximum number of samples to return. Maximum is 1200. If not specified a default of 1200 samples are returned.
          type: integer
          format: int32
        example: 99
      - name: FieldGroups
        in: query
        description: Use FieldGroups to add additional information to the samples like display/formatting details or information about the price source. If FieldGroups are not specified in the request then the response defaults to only hold the bare OHLC samples and nothing else.
        schema:
          title: Use FieldGroups to add additional information to the samples like display/formatting details or information about the price source. If FieldGroups are not specified in the request then the response defaults to only hold the bare OHLC samples and nothing else.
          type: array
          items:
            $ref: '#/components/schemas/ChartFieldGroupSpec'
        example:
        - ChartInfo
      - name: Horizon
        in: query
        description: 'The time period that each sample covers. Values are interpreted in minutes: 1, 5, 10, 15, 30, 60, 120, 240, 360, 480, 1440, 10080, 43200.'
        required: true
        schema:
          title: 'The time period that each sample covers. Values are interpreted in minutes: 1, 5, 10, 15, 30, 60, 120, 240, 360, 480, 1440, 10080, 43200.'
          type: integer
          format: int32
        example: 99
      - name: Mode
        in: query
        description: If Time is supplied, mode specifies if the endpoint should returns samples "UpTo" (and including) or "From" (and including) the specified time.
        schema:
          title: If Time is supplied, mode specifies if the endpoint should returns samples "UpTo" (and including) or "From" (and including) the specified time.
          allOf:
          - $ref: '#/components/schemas/ChartRequestMode'
        example: UpTo
      - name: Time
        in: query
        description: Specifies the time of a sample, which must either be the first (If Mode=="From") or the last (if Mode=="UpTo") in the returned data.
        schema:
          title: Specifies the time of a sample, which must either be the first (If Mode=="From") or the last (if Mode=="UpTo") in the returned data.
          type: string
          format: date-time
          x-type-name: UtcDateTime
        example: '9999-12-31T23:59:59.9999990+00:00'
      - name: Uic
        in: query
        description: UIC (Universal Instrument Code) of the instrument.
        required: true
        schema:
          title: UIC (Universal Instrument Code) of the instrument.
          type: integer
          format: int32
        example: 99
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartResponse'
              example:
                ChartInfo:
                  DelayedByMinutes: 15
                  ExchangeId: SBFX
                  FirstSampleTime: '2015-02-02T01:02:03Z'
                  Horizon: 1
                Data:
                - CloseAsk: 1.3475
                  CloseBid: 1.3473
                  HighAsk: 1.4003
                  HighBid: 1.4001
                  LowAsk: 1.2804
                  LowBid: 1.2802
                  OpenAsk: 1.3478
                  OpenBid: 1.3476
                  Time: '2015-02-01T11:45:00Z'
                - CloseAsk: 1.3475
                  CloseBid: 1.3473
                  HighAsk: 1.4003
                  HighBid: 1.4001
                  LowAsk: 1.2804
                  LowBid: 1.2802
                  OpenAsk: 1.3478
                  OpenBid: 1.3476
                  Time: '2015-02-01T11:46:00Z'
                DataVersion: 1892739
                DisplayAndFormat:
                  Currency: USD
                  Decimals: 4
                  Description: Euro/US Dollar
                  Format: AllowDecimalPips
                  Symbol: EURUSD
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - OpenApiOAuthSecurityScheme: []
      - OpenApiJWTSecurityScheme: []
      x-required-permissions:
        personal: Read
        restricted: Read
        community: Read
components:
  schemas:
    ClientConfigData:
      type: object
      properties:
        ConfigRate:
          type: integer
          format: int32
          example: 99
        ErrorRepeat:
          type: integer
          format: int32
          example: 99
        ErrorTimeout:
          type: integer
          format: int32
          example: 99
        MaxFetch:
          type: integer
          format: int32
          example: 99
        MinFetch:
          type: integer
          format: int32
          example: 99
        RequestTimeout:
          type: integer
          format: int32
          example: 99
        UpdateRate:
          type: integer
          format: int32
          example: 99
        WaitRepeat:
          type: integer
          format: int32
          example: 99
        WaitTimeout:
          type: integer
          format: int32
          example: 99
      additionalProperties: false
    ChartResponseDomainEvent:
      type: object
      properties:
        Data:
          title: The type of data transported by the DomainEvent instance (e.g. price update, position list update etc.).
          allOf:
          - $ref: '#/components/schemas/ChartResponse'
        PartitionNumber:
          title: The partition number if this DomainEvent is a partition.
          type: integer
          format: int32
          example: 99
        ReferenceId:
          title: Client specified id, which is sent back to the client with every data update.
          type: string
          example: stringValue
        Timestamp:
          title: The UTC date and time of the event.
          type: string
          format: date-time
          x-type-name: UtcDateTime
        TotalPartitions:
          title: The total number of partitions if this DomainEvent is a partition.
          type: integer
          format: int32
          example: 99
      additionalProperties: false
      example: null
    ModelStateDictionary:
      type: object
      additionalProperties:
        type: array
        items:
          type: string
    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: FxSpot
      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.
    ChartInfo:
      title: Holds basic information about this chart time series
      type: object
      properties:
        DelayedByMinutes:
          title: If the pricefeed is delayed, this field will be returned indicating the delay in minutes.
          type: integer
          format: int32
          example: 99
        ExchangeId:
          title: Id of the Exchange. Go to the ReferenceData/Exhanges endpoint to get exchange session info.
          type: string
          example: stringValue
        FirstSampleTime:
          title: The time of the first (oldest) available sample available for this instrument. Useful for the client when calculating the size of the horizontal slider.
          type: string
          format: date-time
          x-type-name: UtcDateTime
        Horizon:
          title: Horizon in minutes.
          type: integer
          format: int32
          example: 99
      additionalProperties: false
      example:
        DelayedByMinutes: 15
        ExchangeId: SBFX
        FirstSampleTime: '2015-02-02T01:02:03.0000000+00:00'
        Horizon: 1
    ChartStreamingResponse:
      title: Subscription response.
      type: object
      properties:
        ContextId:
          title: The streaming context id that this response is associated with.
          type: string
          example: ContextId-1
          x-display-order: 1
        ReferenceId:
          title: The reference id that (along with streaming context id and session id) identifies the subscription (within the context of a specific service/subscription type)
          type: string
          example: ReferenceId-1
          x-display-order: 2
        Format:
          title: The media type (RFC 2046), of the serialized data updates that are streamed to the client.
          typ

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