Danske Bank (UK) FX Trade Report API

Trade Report for Premium API users

Operations 3

GET /trade-reports/trade/{tradeId} Gets trade details by ID #
GET /trade-reports/open Gets all Open Trades for a given district user ID, based on maturity date. #
GET /trade-reports Retrieves historical trades for a given district user ID within a date range, based on trade execution date. #

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/danske-bank-uk-fx-trade-report-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

danske-bank-uk-fx-trade-report-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FX Trade Report API
  description: 'This API provides access to open and historical FX trade reports.


    **Historical Trade Reports** - can be viewed by providing a specific date range via the `dateFrom` and `dateTo` parameters.


    **Filtering** - result set can be reduced by providing a filter parameter `counterparts`.


    **Pagination** - the API also supports pagination, allowing users to retrieve a specific number of records per page - `offset` and `limit` parameters.'
  version: 1.0.0
  x-db-template-version: 1.0.0
servers:
- description: Mock Environment - All possible response codes are randomly generated
  url: https://mock-api.danskebank.com/mock/sandbox/1.0.0/fx-open-and-historical-trades-api/v1/open-trades-service
- description: PROD Environment
  url: https://api.danskebank.com/corporate/api/v1/open-trades-service
- description: SANDBOX Environment
  url: https://sandbox-api.danskebank.com/sandbox-corporate/api/v1/open-trades-service
security:
- BearerAuth: []
tags:
- name: FX Trade Report
  description: Trade Report for Premium API users
paths:
  /trade-reports/trade/{tradeId}:
    get:
      tags:
      - FX Trade Report
      summary: Gets trade details by ID
      description: Provides trade information for a specific trade based on provided trade ID
      operationId: getTrade
      parameters:
      - name: tradeId
        in: path
        description: Unique identifier for the executed trade.
        required: true
        schema:
          type: string
        example: TRADE123456
      responses:
        '200':
          description: Trade details found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalTrade'
              examples:
                example1:
                  summary: Success response
                  value:
                    tradeId: T250711A8787
                    tradeTime: '2025-10-10T06:53:28.541Z'
                    counterpart: DEMOCP1
                    counterpartName: DEMOCP
                    maturityDate: '2025-10-10'
                    bought:
                      currency: DKK
                      amount: 7.46
                    sold:
                      currency: EUR
                      amount: 1
                    product: Forward
                    spotPrice: 7.46372
                    forwardPrice: -0.0066376
                    allInPrice: 7.4570824
                    autoSettle: true
                    comment: Urgent client request
                example2:
                  summary: Success response 2
                  value:
                    tradeId: W250429A1139
                    tradeTime: '2025-04-29T13:57:59.523Z'
                    counterpart: DBDEMO1
                    counterpartName: DANSKE BANK DEMOAA
                    maturityDate: '2025-05-23'
                    bought:
                      currency: DKK
                      amount: 7.46
                    sold:
                      currency: EUR
                      amount: 1
                    product: FWD
                    spotPrice: 7.46372
                    forwardPrice: -0.0066376
                    allInPrice: 7.4570824
                    autoSettle: true
                    comment: The transaction is successful
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: BadRequest
                  message: Invalid tradeId format.
                  timestamp: '2025-10-07T10:30:00Z'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: AuthenticationException
                  message: 'Session token validation failed: No key found in https://issuer.danskenet.net/.well-known/jwks.json with kid 6BBDAAA362B8C700FD2FF24BE979697DE0A58F5D.'
                  timestamp: '2025-10-10T06:49:23.712321Z'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: Forbidden
                  message: You do not have permission to access this resource.
                  timestamp: '2025-10-07T10:30:00Z'
        '404':
          description: Trade details not found
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: NotFound
                  message: Trade details not found for the given tradeId.
                  timestamp: '2025-10-07T10:30:00Z'
        '413':
          description: Payload Too Large
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: PayloadTooLarge
                  message: Request payload too large.
                  timestamp: '2025-10-07T10:30:00Z'
        '500':
          description: Error while fetching Trade details
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: ServerError
                  message: An unexpected error occurred while fetching trade details.
                  timestamp: '2025-10-07T10:30:00Z'
  /trade-reports/open:
    get:
      tags:
      - FX Trade Report
      summary: Gets all Open Trades for a given district user ID, based on maturity date.
      description: Retrieves all Open Trades for a provided district user ID, optionally filtered by counterparts. Results are based on maturity/settlement date.<br>Pagination is supported with 'offset' defining the starting point and 'limit' specifying the number of records per page.<br>The response includes links for previous and next pages.
      operationId: getOpenTrades
      parameters:
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 0
        description: Starting point of the records to retrieve (pagination).
        example: 0
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 30
        description: Number of records to retrieve per page (pagination).
        example: 30
      - name: counterparts
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: List of counterpart IDs to filter the trades.
          example:
          - CP123
          - CP456
      responses:
        '200':
          description: List of Open Trades for the user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedListExternalTrade'
              examples:
                example1:
                  summary: Success response
                  value:
                    items:
                    - tradeId: T250711A8787
                      tradeTime: '2025-10-10T06:44:22.702Z'
                      counterpart: DEMOCP1
                      counterpartName: DEMOCP
                      maturityDate: '2025-10-10'
                      bought:
                        currency: DKK
                        amount: 7.46
                      sold:
                        currency: EUR
                        amount: 1
                      product: Forward
                      spotPrice: 7.46372
                      forwardPrice: -0.0066376
                      allInPrice: 7.4570824
                      autoSettle: true
                      comment: Urgent client request
                    next: https://api.example.com/trade-reports?startDate=2025-05-20&endDate=2025-05-30&offset=5&limit=5
                    previous: https://api.example.com/trade-reports?startDate=2025-05-20&endDate=2025-05-30&offset=4&limit=5
                example2:
                  summary: Success response 2
                  value:
                    items:
                    - tradeId: W250429A1139
                      tradeTime: '2025-04-29T13:57:59.523Z'
                      counterpart: DBDEMO1
                      counterpartName: DANSKE BANK DEMOAA
                      maturityDate: '2025-05-23'
                      bought:
                        currency: DKK
                        amount: 7.46
                      sold:
                        currency: EUR
                        amount: 1
                      product: FWD
                      spotPrice: 7.46372
                      forwardPrice: -0.0066376
                      allInPrice: 7.4570824
                      autoSettle: true
                      comment: Successful retrieval of open trades.
                    next: https://api.example.com/trade-reports?startDate=2025-05-20&endDate=2025-05-30&offset=5&limit=5
                    previous: https://api.example.com/trade-reports?startDate=2025-05-20&endDate=2025-05-30&offset=4&limit=5
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: BadRequest
                  message: The limit parameter must be a positive integer.
                  timestamp: '2025-10-07T10:30:00Z'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: AuthenticationException
                  message: 'Session token validation failed: No key found in https://issuer.danskenet.net/.well-known/jwks.json with kid 6BBDAAA362B8C700FD2FF24BE979697DE0A58F5D.'
                  timestamp: '2025-10-10T06:49:23.712321Z'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: Forbidden
                  message: You do not have permission to access this resource.
                  timestamp: '2025-10-07T10:30:00Z'
        '404':
          description: No Open Trades found for the user
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: NotFound
                  message: No open trades found for the given parameters.
                  timestamp: '2025-10-07T10:30:00Z'
        '413':
          description: Response Payload too large
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: PayloadTooLarge
                  message: Request payload too large.
                  timestamp: '2025-10-07T10:30:00Z'
        '500':
          description: Error while fetching user details
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: ServerError
                  message: An unexpected error occurred while fetching open trades.
                  timestamp: '2025-10-07T10:30:00Z'
  /trade-reports:
    get:
      tags:
      - FX Trade Report
      summary: Retrieves historical trades for a given district user ID within a date range, based on trade execution date.
      description: Retrieves Historical Trades for a provided district user ID within a given date range, optionally filtered by counterparts. Results are based on trade execution date.<br>Pagination is supported with 'offset' defining the starting point and 'limit' specifying the number of records per page.<br>The response includes links for previous and next pages.
      operationId: getHistoricalTrades
      parameters:
      - name: startDate
        in: query
        required: true
        schema:
          type: string
        description: Start date for the date range in YYYY-MM-DD format.
        example: '2025-01-01'
      - name: endDate
        in: query
        required: false
        schema:
          type: string
        description: End date for the date range in YYYY-MM-DD format.
        example: '2025-01-31'
      - name: counterparts
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: List of counterpart IDs to filter the trades.
          example:
          - CP123
          - CP456
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 0
        description: Starting point of the records to retrieve (pagination).
        example: 0
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 30
        description: Number of records to retrieve per page (pagination).
        example: 30
      responses:
        '200':
          description: Trades found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedListExternalTrade'
              examples:
                example1:
                  summary: Success response
                  value:
                    items:
                    - tradeId: T250711A8787
                      tradeTime: '2025-10-10T06:44:22.702Z'
                      counterpart: DEMOCP1
                      counterpartName: DEMOCP
                      maturityDate: '2025-10-10'
                      bought:
                        currency: DKK
                        amount: 14500
                      sold:
                        currency: USD
                        amount: 2079.32
                      product: Forward
                      spotPrice: 7.23
                      forwardPrice: 0.0002
                      allInPrice: 7.2302
                      autoSettle: true
                      comment: Urgent client request
                    next: https://api.example.com/trade-reports?startDate=2025-05-20&endDate=2025-05-30&offset=5&limit=5
                    previous: https://api.example.com/trade-reports?startDate=2025-05-10&endDate=2025-05-20&offset=0&limit=5
                example2:
                  summary: Success response 2
                  value:
                    items:
                    - tradeId: W250429A1139
                      tradeTime: '2025-04-29T13:57:59.523Z'
                      counterpart: DBDEMO1
                      counterpartName: DANSKE BANK DEMOAA
                      maturityDate: '2025-05-23'
                      bought:
                        currency: DKK
                        amount: 7.46
                      sold:
                        currency: EUR
                        amount: 1
                      product: FWD
                      spotPrice: 7.46372
                      forwardPrice: -0.0066376
                      allInPrice: 7.4570824
                      autoSettle: true
                      comment: Successful retrieval of trades
                    next: https://api.example.com/trade-reports?startDate=2025-05-20&endDate=2025-05-30&offset=5&limit=5
                    previous: https://api.example.com/trade-reports?startDate=2025-05-20&endDate=2025-05-30&offset=4&limit=5
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: BadRequest
                  message: The startDate parameter is required.
                  timestamp: '2025-10-07T10:30:00Z'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: AuthenticationException
                  message: 'Session token validation failed: No key found in https://issuer.danskenet.net/.well-known/jwks.json with kid 6BBDAAA362B8C700FD2FF24BE979697DE0A58F5D.'
                  timestamp: '2025-10-10T06:49:23.712321Z'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: Forbidden
                  message: You do not have permission to access this resource.
                  timestamp: '2025-10-07T10:30:00Z'
        '404':
          description: Trades not found
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: NotFound
                  message: No trades found for the given parameters.
                  timestamp: '2025-10-07T10:30:00Z'
        '413':
          description: Response Payload too large
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: PayloadTooLarge
                  message: Request payload too large.
                  timestamp: '2025-10-07T10:30:00Z'
        '500':
          description: Error while fetching Trades
          content:
            '*/*':
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/TradeError'
                example:
                  exception: ServerError
                  message: An unexpected error occurred while fetching trades.
                  timestamp: '2025-10-07T10:30:00Z'
components:
  schemas:
    Amount:
      type: object
      properties:
        currency:
          type: string
          description: Currency code in ISO 4217 format.
          example: USD
        amount:
          type: number
          description: Monetary value.
          example: 100000.5
    PaginatedListExternalTrade:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ExternalTrade'
          example:
            tradeId: W250429A1139
            tradeTime: '2025-04-29T13:57:59.523Z'
            counterpart: DBDEMO1
            counterpartName: DANSKE BANK DEMOAA
            maturityDate: '2025-05-23'
            bought:
              currency: DKK
              amount: 7.46
            sold:
              currency: EUR
              amount: 1
            product: FWD
            spotPrice: 7.46372
            forwardPrice: -0.0066376
            allInPrice: 7.4570824
            autoSettle: true
            comment: Successful retrieval of trades
        next:
          type: string
          description: URL to fetch the next page of results.
          example: /v1/open-trades-service/trade-reports?startDate=2025-01-01&endDate=2025-01-31&offset=30&limit=30
        previous:
          type: string
          description: URL to fetch the previous page of results.
          example: /v1/open-trades-service/trade-reports?startDate=2025-01-01&endDate=2025-01-31&offset=0&limit=30
    TradeError:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
          description: Timestamp indicating when the error occurred.
          example: '2025-10-07T10:41:00Z'
        exception:
          type: string
          description: Type of the exception encountered.
          example: InvalidParameterException
        message:
          type: string
          description: Detailed error message.
          example: End date can not be future date.
    ExternalTrade:
      type: object
      properties:
        tradeTime:
          type: string
          format: date-time
          description: Time when the trade was executed.
          example: '2025-10-07T09:30:00Z'
        tradeId:
          type: string
          description: Unique identifier for the executed trade.
          example: TRADE123456
        counterpart:
          type: string
          description: Counterpart's unique identifier.
          example:
          - CP123
          - CP456
        counterpartName:
          type: string
          description: Name of the counterpart.
          example: Counterpart Inc.
        maturityDate:
          type: string
          description: Maturity or settlement date of the trade.
          format: date
          example: '2025-12-31'
        bought:
          $ref: '#/components/schemas/Amount'
        sold:
          $ref: '#/components/schemas/Amount'
        product:
          type: string
          description: Type of the FX Trade (Spot, Forward, Swap)
          example: Forward
        spotPrice:
          type: number
          description: The spot price at which the trade was executed.
          example: 7.23
        forwardPrice:
          type: number
          description: The forward price agreed upon for the trade.
          example: 0.0002
        allInPrice:
          type: number
          description: All-in price of the trade.
          example: 7.2302
        autoSettle:
          type: boolean
          description: Indicates whether the trade is auto-settled.
          example: true
        comment:
          type: string
          description: Additional comments about the trade.
          example: Urgent trade settlement.
  securitySchemes:
    BearerAuth:
      description: 'JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"'
      type: http
      scheme: bearer
      bearerFormat: JWT