Saxo Bank Historical Report Data - Trades Executed API

Trades Executed Report.

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-historical-report-data-trades-executed-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 email required.

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

OpenAPI Specification

saxo-historical-report-data-trades-executed-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Services.AutoTrading Account Values Historical Report Data - Trades Executed 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: Historical Report Data - Trades Executed
  description: Trades Executed Report.
paths:
  /cr/v1/reports/TradesExecuted/{ClientKey}:
    get:
      tags:
      - Historical Report Data - Trades Executed
      summary: Get Trades Executed report for the accounts of a specified client
      description: "Get Trades Executed report for the accounts of a specified client.\r\n            \r\nThis report is available in the following formats:\r\n\r\n\r\n*   PDF\r\n*   Excel\r\n\r\nTo request a specific format, please set the 'Accept' header on your request to one of the following:\r\n\r\n\r\n*   For PDF : application/pdf\r\n*   For Excel : application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
      operationId: TradesExecutedGetAsync
      parameters:
      - name: AccountGroupKey
        in: query
        description: The account group id.
        schema:
          minLength: 1
          type: string
          x-type-name: AccountGroupKey
        example: LZTc7DdejXODf-WSl2aCyQ==
      - name: AccountKey
        in: query
        description: The account key.
        schema:
          minLength: 1
          type: string
          x-type-name: AccountKey
        example: LZTc7DdejXODf-WSl2aCyQ==
      - name: ClientKey
        in: path
        description: Unique id of the client.
        required: true
        schema:
          minLength: 1
          type: string
          x-type-name: ClientKey
        example: 5DG7K1P5cqYBZ77tl7Af4w==
      - name: FromDate
        in: query
        description: Include TradesExecuted from this date. By default returns the previous date report.
        schema:
          type: string
          format: date
          x-type-name: Date
        example: '2016-10-10'
      - name: ToDate
        in: query
        description: Include TradesExecuted till this date. By default returns the previous date report.
        schema:
          type: string
          format: date
          x-type-name: Date
        example: '2017-10-10'
      responses:
        '200':
          description: Indicates that the request was performed correctly.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - NotFoundError
                    type: string
                    x-enum-descriptions:
                      NotFoundError: Not found.
                  Message:
                    type: string
                  ModelState:
                    $ref: '#/components/schemas/ModelStateDictionary'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - BadRequestError
                    type: string
                    x-enum-descriptions:
                      BadRequestError: Bad request.
                  Message:
                    type: string
                  ModelState:
                    $ref: '#/components/schemas/ModelStateDictionary'
        '500':
          description: Internal Server Error
        '406':
          description: Not Acceptable
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - RequestedFormatNotSupported
                    type: string
                    x-enum-descriptions:
                      RequestedFormatNotSupported: Request format not supported.
                  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: Read
components:
  responses:
    TooManyRequests:
      description: The request was rejected due to rate limit being exceeded.
    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.
  schemas:
    ModelStateDictionary:
      type: object
      additionalProperties:
        type: array
        items:
          type: string
  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: {}