DEGIRO trading API

The trading API from DEGIRO — 4 operation(s) for trading.

OpenAPI Specification

degiro-trading-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 0.0.1
  title: Unofficial Degiro config trading API
  description: Unofficial Degiro API
  contact:
    name: Maxim De Clercq
    url: https://github.com/maximdeclercq/degiro-client
    email: maximdeclercq00@gmail.com
servers:
- url: https://trader.degiro.nl
security:
- SessionIdAuth: []
  IntAccountAuth: []
tags:
- name: trading
paths:
  /trading/secure/v5/account/info/{intAccount};jsessionid={sessionId}:
    get:
      summary: TODO
      description: TODO
      operationId: accountInfo
      tags:
      - trading
      parameters:
      - in: path
        name: intAccount
        schema:
          type: integer
        required: true
        description: Account ID
      - in: path
        name: sessionId
        schema:
          type: string
        required: true
        description: Session ID
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: string
  /trading/secure/v5/update/{intAccount};jsessionid={sessionId}:
    get:
      summary: TODO
      description: TODO
      operationId: update
      tags:
      - trading
      parameters:
      - in: path
        name: intAccount
        schema:
          type: integer
        required: true
        description: Account ID
      - in: path
        name: sessionId
        schema:
          type: string
        required: true
        description: Session ID
      - in: query
        name: orders
        schema:
          type: integer
          minimum: 0
          maximum: 0
        description: Get orders (Set to 0)
      - in: query
        name: historicalOrders
        schema:
          type: integer
          minimum: 0
          maximum: 0
        description: Get historical orders (Set to 0)
      - in: query
        name: transactions
        schema:
          type: integer
          minimum: 0
          maximum: 0
        description: Get transactions (Set to 0)
      - in: query
        name: portfolio
        schema:
          type: integer
          minimum: 0
          maximum: 0
        description: Get portfolio (Set to 0)
      - in: query
        name: cashFunds
        schema:
          type: integer
          minimum: 0
          maximum: 0
        description: Get cash funds (Set to 0)
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateResponse'
  /trading/secure/v5/checkOrder;jsessionid={sessionId}:
    post:
      summary: TODO
      description: TODO
      operationId: checkOrder
      tags:
      - trading
      parameters:
      - in: path
        name: sessionId
        schema:
          type: string
        required: true
        description: Session ID
      requestBody:
        description: A JSON object containing the order to check.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderRequest'
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckOrderResponse'
  /trading/secure/v5/order/{confirmationId};jsessionid={sessionId}:
    post:
      summary: TODO
      description: TODO
      operationId: confirmOrder
      tags:
      - trading
      parameters:
      - in: path
        name: confirmationId
        schema:
          type: string
        required: true
        description: Indentifier to execute the order with
      - in: path
        name: sessionId
        schema:
          type: string
        required: true
        description: Session ID
      requestBody:
        description: A JSON object containing the order.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderRequest'
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
    delete:
      summary: TODO
      description: TODO
      operationId: deleteOrder
      tags:
      - trading
      parameters:
      - in: path
        name: orderId
        schema:
          type: string
        required: true
        description: Order ID
      - in: path
        name: sessionId
        schema:
          type: string
        required: true
        description: Session ID
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    CheckOrderResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            confirmationId:
              type: string
              description: Indentifier to execute the order with
            transactionFees:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: integer
                  amount:
                    type: integer
                  currency:
                    type: string
            transactionTaxes:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: integer
                  amount:
                    type: integer
                  currency:
                    type: string
    UpdateResponse:
      type: object
      properties:
        orders:
          $ref: '#/components/schemas/UpdateResponsePart'
        historicalOrders:
          $ref: '#/components/schemas/UpdateResponsePart'
        transactions:
          $ref: '#/components/schemas/UpdateResponsePart'
        portfolio:
          $ref: '#/components/schemas/UpdateResponsePart'
        cashFunds:
          $ref: '#/components/schemas/UpdateResponsePart'
    OrderResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            orderId:
              type: string
    OrderRequest:
      type: object
      properties:
        buySell:
          type: string
          enum:
          - BUY
          - SELL
        orderType:
          type: integer
          enum:
          - 0
          - 1
          - 2
          - 3
          description: "Order type:\n * `0` - Limit Order\n * `1` - Market Order\n * `2` - Stoploss\n * `3` - Stoplimit Order\n"
        productId:
          type: string
          description: Product identifier
        timeType:
          type: integer
          enum:
          - 1
          - 3
          description: "Time type:\n  * `1` - Day Order\n  * `3` - Permanent Order\n"
        size:
          type: integer
          description: Size
        price:
          type: number
          description: Price
    UpdateResponsePart:
      type: object
      properties:
        lastUpdated:
          type: integer
        name:
          type: string
        value:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              id:
                type: string
              isAdded:
                type: boolean
              value:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    isAdded:
                      type: boolean
                    value:
                      $ref: '#/components/schemas/Any'
    Any:
      oneOf:
      - type: boolean
      - type: integer
      - type: number
      - type: string
  securitySchemes:
    SessionIdAuth:
      type: apiKey
      in: query
      name: sessionId
    IntAccountAuth:
      type: apiKey
      in: query
      name: intAccount