Saxo Bank Charts API

Allows you to set up subscriptions for streamed charts data.

Operations 7

GET /chart/chart/ClientConfig OBSOLETE Get the chart client configuration #
GET /chart/chart/{Symbol} OBSOLETE Get chart data for an instrument. #
DELETE /chart/v1/charts/subscriptions/{ContextId}/{ReferenceId} Remove subscription #
DELETE /chart/v1/charts/subscriptions/{ContextId} Remove multiple subscriptions #
POST /chart/v1/charts/subscriptions Create a subscription on chart data #
POST /chart/v1/charts/subscriptions/active Obsolete Create a subscription on chart data #
GET /chart/v1/charts Get chart data #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/saxo-charts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

saxo-charts-api-openapi.yml Raw ↑
openapi: 3.2.0
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:
    ChartSubscriptionRequest:
      title: Specifies which chart data to subscribe to.
      required:
      - AssetType
      - Horizon
      - Uic
      type: object
      properties:
        AssetType:
          title: Assettype of the instrument.
          allOf:
          - $ref: '#/components/schemas/AssetType'
        Count:
          title: Specifies maximum number of samples in the snapshot to return. Maximum is 1200. If not specified a default of 1200 samples are returned.
          type: integer
          format: int32
          example: 99
        FieldGroups:
          title: Use FieldGroups to add additional information to the snapshot 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
        Horizon:
          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
        Uic:
          title: UIC (Universal Instrument Code) of the instrument.
          type: integer
          format: int32
          example: 99
      additionalProperties: false
      example:
        AssetType: FxVanillaOption
        Count: 99
        FieldGroups:
        - DisplayAndFormat
        Horizon: 99
        Uic: 99
    ChartRequestMode:
      title: Denotes in what mode chart data is requested.
      enum:
      - From
      - UpTo
      type: string
      example: From
      x-enum-descriptions:
        From: From
        UpTo: Up to
    PriceDisplayFormatType:
      title: The format modifiers in which a price must be displayed and possibly edited.
      enum:
      - AllowDecimalPips
      - Fractions
      - ModernFractions
      - Normal
      - Percentage
      type: string
      example: Normal
      x-enum-descriptions:
        Normal: Standard decimal formatting is used with the Decimals field indicating the number of decimals.
        Fractions: "Display as regular fraction i.e. 3 1/4 The Decimals field indicates the fraction demoninator as 1/(2^x).\n            So if Decimals is 2, the value should represent the number of 1/4'ths."
        ModernFractions: "Display as modern faction, e.g. 1’07.5. The Decimals field indicates the fraction demoninator as 1/(2^x).\n            So if Decimals is 5, the value should represent the number of 1/32'ths"
        AllowDecimalPips: "Display the last digit as a smaller than the rest of the numbers. Note that this digit is not included in the number of decimals,\n            effectively increasing the number of decimals by one. E.g. 12.345 when Decimals is 2 and DisplayFormat is AllowDecimalPips."
        Percentage: Display as percentage, e.g. 12.34%. The Decimals field indicates the number of decimals to show.
    DisplayAndFormat:
      title: Display information for chart data.
      type: object
      properties:
        Currency:
          title: The currency in which the data is displayed.
          type: string
          example: stringValue
        Decimals:
          title: The number of decimals in the chart data.
          type: integer
          format: int32
          example: 99
        Description:
          title: Description of the data.
          type: string
          example: stringValue
        Format:
          title: The format in which data is delivered.
          allOf:
          - $ref: '#/components/schemas/PriceDisplayFormatType'
        NumeratorDecimals:
          title: Provided when format is either fractions or ModernFractions. Indicates how many decimals are shown in the numerator value in a fraction.
          type: integer
          format: int32
          example: 99
        Symbol:
          title: The symbol of the instrument.
          type: string
          example: stringValue
      additionalProperties: false
      example:
        Currency: USD
        Decimals: 4
        Description: Euro/US Dollar
        Format: AllowDecimalPips
        Symbol: EURUSD
    ChartResponse:
      title: The response to a subscription request. Should contain a snapshot of the data matching the subscription request.
      type: object
      properties:
        ChartInfo:
          title: Object holding information about the OHLC samples such as the exchange id of the price source, when the first sample begins, the horizon in minutes and how long the samples are delayed by.
          allOf:
          - $ref: '#/components/schemas/ChartInfo'
        Data:
          title: Array holding the individual OHLC samples. For Forex Instruments both Bid and Ask values are returned. For other instruments the values are the last traded values.
          type: array
          items:
            $ref: '#/components/schemas/ChartSample'
          example:
          - 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:
          title: This field holds a version number of the data.
          type: integer
          format: int32
          example: 99
        DisplayAndFormat:
          title: Object holding information relevant to displaying the instrument and formatting the samples for charting it. Currently holds the symbol of the instrument, how many decimals samples have, a description of the instrument and what currency it is traded in.
          allOf:
          - $ref: '#/components/schemas/DisplayAndFormat'
      additionalProperties: false
      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
    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
    ChartStreamingRequest:
      title: Public contract for setting up a subscription to chart data.
      required:
      - ContextId
      - ReferenceId
      type: object
      properties:
        ContextId:
          title: "The streaming context id that this request is associated with.\n            This parameter must only contain letters (a-z) and numbers (0-9) as well as - (dash) and _ (underscore). It is case insensitive. Max length is 50 characters."
          pattern: ^[a-zA-Z0-9_-]{1,50}$
          type: string
          example: ContextId-1
          x-display-order: 1
        ReferenceId:
          title: "Mandatory client specified reference id for the subscription.\n            This parameter must only contain alphanumberic characters as well as - (dash) and _ (underscore). Cannot start with _. It is case insensitive. Max length is 50 characters."
          pattern: ^[a-zA-Z0-9-][a-zA-Z0-9_-]{0,49}$
          type: string
          example: ReferenceId-1
          x-display-order: 2
        Arguments:
          title: Arguments for the subsc

# --- 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