openapi: 3.1.0
info:
  title: ETPA Public API
  description: For access to the ETPA platform, please send an e-mail to support@etpa.nl
  termsOfService: >-
    https://etpa.nl/wp-content/uploads/2019/08/ETPA_API_Terms_of_Service_final.pdf
  contact:
    name: ETPA
    url: https://etpa.nl/
  version: '1.0'
servers:
  - url: https://acc-trading.etpa.nl
tags:
  - name: Wallet v2
    description: >
      The Wallet V2 provides wallet data about a participant and it will give
      you the

      transactions. The Wallet can be used by participant who has **reporting**,
      **trade** or **wallet**

      access.
  - name: GOPACS Orderbook Locking
    description: |
      > NOTE: This API can **only** be used by [GOPACS](https://www.gopacs.eu/).
  - name: XBID Trades v1
    description: |2
       This request will give you all your XBID trades from the last 48 hours.
  - name: GOPACS Orders – Grid Operator v2
    description: |
      > NOTE: This API can only be used by [GOPACS](https://www.gopacs.eu/)
  - name: Trades v2
    description: |
      > NOTE: The trade API can only be used by users who have trading rights
  - name: XBID Trade Reports v1
    description: |
      The **XBID Trades API** allows you to retrieve all trades in XBID.
      - You can apply various **filters** to narrow down the results.
  - name: Trades v3
    description: >
      This API provides endpoints to retrieve trade information.

      It supports fetching **all trades** with pagination and sorting by latest
      first, as well as retrieving a **specific trade** by its `tradeId`.

      All endpoints are secured with an **API key**.
  - name: Wallet v3
    description: >
      The **XBID Wallet Balance Controller** provides an endpoint to retrieve
      the balances of a trader’s wallet and XBID wallet for a given

      `participantId`. Access requires an API key, and the response returns the
      current wallet balances.
  - name: Congestion State Check
    description: >
      This API allows GOPACS to check the current status of congestion spread
      buckets.

      It helps determine whether congestion data is available or up to date.

      > NOTE: This endpoint can be **only** used by
      [GOPACS](https://www.gopacs.eu).
  - name: XBID Status v1
    description: >
      The **XBID Status API** provides the current status of the XBID
      connection.
       - Returns whether XBID is **connected** (`true`) or **disconnected** (`false`) in **boolean** format.
  - name: User Management
    description: >
      The user API which will give you all the information about an individual

      and all the information about the participants. The User API can be
      accessed by

      **Trade**, **Report** and **Wallet** users.
  - name: XBID Orders v1
    description: >
      The XBID Orders v1 will be used for managing orders for XBID. This API
      will also function

      in case of a disconnection of XBID.


      > **Be aware:** In case the XBID connection gets lost. The new orders
      which are created
        with the XBID order API will be automatically forwarded to the local intraday orderbook.
        You can use the XBID Status API for the current connection of XBID.
  - name: XBID Reporting v1
    description: >
      The **XBID Order API** is used for creating orders for XBID.

      It also remains functional in the event of a **disconnection** from XBID.

      > ⚠️ **Important:**

      > If the XBID connection is lost, any new orders created via the **XBID
      Order API** will be **automatically forwarded** to the local intraday
      orderbook.

      For monitoring the current connection status of XBID, you can use the
      **XBID Status v1 API**.
  - name: Order Status
    description: >
      The Order status API will give the current status or the history of the
      status of the

      order. The Order status API can only be accessed by users who have
      **trading rights**.

      It will give you orders from **GOPACS orderbook**, **local intraday** and
      **local intraday**.
  - name: XBID Order Status v1
    description: >
      The **XBID Order Status Controller** provides endpoints to retrieve both
      the **history** and **current status**

      of XBID orders and baskets. It supports filtering by `orderId` or
      `basketId` and requires an API key for authentication.

      Responses include detailed order status entries or lists, with proper
      handling of cases where no matching records are found.
  - name: XBID Wallet v1
    description: >
      With **XBID**, wallets are **separated**. Before trading on XBID, you must
      transfer funds from your **Trader Wallet** to your **XBID Wallet**.

      - Transfers can be performed via the **UI** or the **API**.

      - This API provides:
        - Information about **all transactions** that have occurred.
        - The ability to **transfer funds** between the Trader Wallet and the XBID Wallet.
  - name: Congestion Management
    description: >
      This API provides congestion data to support grid management and
      decision-making.

      It is used exclusively by GOPACS to access spread bucket information

      related to electricity grid congestion

      > NOTE: This endpoint can be **only** used by
      [GOPACS](https://www.gopacs.eu).
  - name: On Hold Orders
    description: >
      The on hold orders API provides you the possibility to hold orders before
      they are

      going to be **traded**. You can hold your orders and once the orders are
      on hold they are

      **not** going to be traded with the orderbook.
  - name: Platform Status
    description: >
      The platform Status API will give you information about the status of the
      ETPA

      Platform
  - name: Reporting v2
    description: >
      The reporting API is used for reporting purposes. It can be used by users
      who have **trade**, **wallet** or **reporting** access.
  - name: Reporting v3
    description: >
      This enable pv-parties to get the trade information of their connected
      pv-party clients,

      no order information is given to the pv-party. The connection of
      participants to a PV party is done by the ETPA admin in our system.
  - name: GOPACS Orders v2
    description: >
      This endpoints will allow you to `create`, `update`, `delete` orders for
      GOPACS only. Everything created here

      can be retrieved by the GOPACS platform and can be used for solving
      congestion

      problems.
  - name: XBID Contracts v1
    description: >
      The **XBID Contracts v1** provides an endpoint to retrieve all active XBID
      contracts.

      While the `contractId` cannot be used to create orders, the endpoint
      offers information about when

      contracts will be available for trading and requires an API key for
      access.
  - name: Orders v2
    description: >
      The following things are changed from version 1:
          - You will get an error code and an error message when the order is incorrect.
          - You will get an `orderId` back from the post request to check the status of your order.
      `"Intraday"` orders will be rejected from this endpoints when `"XBID"`
      functionality is **enabled**. `"Expost"` orders will still work. You can
      create `"Intraday"` orders for `"XBID"` using the **XBID Orders
      endpoints**
paths:
  /public-api/2.0/electricity/orders/{id}:
    get:
      tags:
        - Orders v2
      summary: Get Order
      description: Get order by `id`.
      operationId: getOrder
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEntry'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
    put:
      tags:
        - Orders v2
      summary: Update Order
      description: >
        Updates existing order.
                             
        When creating a new order, a regular user has 2 options:

        - Creating a buy order

        - Creating a sell order
                             
        Brokers have the ability to create a direct trade. This enables the
        broker to do trades between his own clients.
      operationId: putOrder
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: callbackurl
          in: query
          description: >-
            Callback to return the Id of the order to after initial processing
            by our system. The callback url will receive a GET request with a
            paramater named 'id' containing the order Id. Due to the order being
            created asynchronously, the status cannot be returned by the current
            http request. After receival of the Id the order can be traced using
            the Server Sent Events.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderTemplate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        '400':
          description: Invalid order object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
    delete:
      tags:
        - Orders v2
      summary: Cancel Order
      description: Cancel order by ID.
      operationId: cancelOrder
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/orders/gopacs/{id}:
    get:
      tags:
        - GOPACS Orders v2
      summary: Get GOPACS order by id
      description: Get order by `id`
      operationId: getOrder_1
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsOrderResponse'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
    put:
      tags:
        - GOPACS Orders v2
      summary: Update Order
      description: |
        Updates existing GOPACS order by `id`.
      operationId: updateOrder
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGopacsOrderDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        '400':
          description: Invalid order object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Order locked by grid operator
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
    delete:
      tags:
        - GOPACS Orders v2
      summary: Delete GOPACS order.
      description: Delete order by `id`
      operationId: cancelOrder_1
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Order locked by grid operator
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/electricity/orders/{id}:
    get:
      tags:
        - XBID Orders v1
      summary: Get Order
      description: >
        This API will get you a specific order from the Orderbook. You must use
        the ETPA

        order `id` and **not** the XBID order `id`.
      operationId: getOrder_2
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XbidOrderApiResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
    put:
      tags:
        - XBID Orders v1
      summary: Update Order
      description: >
        Updates existing order.

        When creating a new order, a regular user has 2 options:

        - Creating a buy order

        - Creating a sell order


        Brokers have the ability to create a direct trade. This enables the
        broker to do trades between it's own clients.
      operationId: putOrder_1
      parameters:
        - name: id
          in: path
          description: Update order by `id`.
          required: true
          schema:
            type: string
        - name: callbackurl
          in: query
          description: >-
            Callback to return the Id of the order to after initial processing
            by our system. The callback url will receive a GET request with a
            parameter named 'id' containing the order Id. Due to the order being
            created asynchronously, the status cannot be returned by the current
            http request. After receive of the Id the order can be traced using
            the Server Sent Event.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XbidOrderRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        '400':
          description: Invalid order object
          content:
            application/json: {}
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
    delete:
      tags:
        - XBID Orders v1
      summary: Cancel Order
      description: Cancel order by ETPA ID.
      operationId: cancelOrder_2
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/orders:
    get:
      tags:
        - Orders v2
      summary: Get Orders
      description: >-
        Get orders filtered on the selected timeblock(s), on participantId, on
        own orders or not with the my-parameter.
      operationId: getOrders
      parameters:
        - name: my
          in: query
          description: Filter on own orders or others' orders.
          required: false
          schema:
            type: boolean
        - name: participantId
          in: query
          description: Filter on participantId. This is only useful for brokers.
          required: false
          content:
            text/plain: {}
        - name: timeblocks
          in: query
          description: Filter on timeblocks.
          required: false
          schema:
            type: string
            enum:
              - INTRADAY
              - EXPOST
              - GOPACS
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderEntry'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
    post:
      tags:
        - Orders v2
      summary: Create Order
      description: |
        Creates new order.
                                  
        When creating a new order, there are 2 options
        - Creating a buy order
        - Creating a sell order
      operationId: postOrder
      parameters:
        - name: callbackurl
          in: query
          description: >-
            Callback to return the Id of the order to after initial processing
            by our system. The callback url will receive a GET request with a
            parameter named 'id' containing the order Id. Due to the order being
            created asynchronously, the status cannot be returned by the current
            http request. After receival of the Id the order can be traced using
            the Server Sent Events.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderTemplate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        '400':
          description: Invalid order object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/orders/gopacs:
    get:
      tags:
        - GOPACS Orders v2
      summary: Get GOPACS orders
      description: Get a list of all orders
      operationId: getOrders_1
      parameters:
        - name: myOrders
          in: query
          description: Filter on own orders or others' orders.
          required: false
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GopacsOrderResponse'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
    post:
      tags:
        - GOPACS Orders v2
      summary: Create Order
      description: |
        Creates new GOPACS order.
      operationId: createOrder
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGopacsOrderDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        '400':
          description: Invalid order object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Orderbook locked by grid operator
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/congestion-spread-bucket:
    post:
      tags:
        - Congestion Management
      summary: Create congestion spread bucket
      description: |
        Creates congestion spread bucket with specified orders
      operationId: createCongestionSpreadBucket
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CongestionSpreadBucketRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CongestionSpreadBucketResponse'
        '400':
          description: Invalid congestion spread bucket creation request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/wallets/withdraw/{amount}:
    post:
      tags:
        - XBID Wallet v1
      summary: Withdraw money from your XBID Wallet
      description: Withdraw money from your XBID Wallet into your Trader Wallet.
      operationId: withdraw
      parameters:
        - name: amount
          in: path
          required: true
          schema:
            type: number
            maximum: 20000000
            minimum: 0.01
      responses:
        '200':
          description: Withdrawal Request has been sent successfully
          content:
            application/json:
              schema:
                type: string
        '400':
          description: >-
            Bad request. Check if the amount has 2 decimal points, larger than
            0.01 and smaller than 20 million
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/wallets/deposit/{amount}:
    post:
      tags:
        - XBID Wallet v1
      summary: Deposit money to your XBID Wallet
      description: Deposit money to your XBID Wallet from your Trader Wallet.
      operationId: deposit
      parameters:
        - name: amount
          in: path
          required: true
          schema:
            type: number
            maximum: 20000000
            minimum: 0.01
      responses:
        '200':
          description: Deposit Request has been sent successfully
          content:
            application/json:
              schema:
                type: string
        '400':
          description: >-
            Bad request. Check if the amount has 2 decimal points, larger than
            0.01 and smaller than 20 million
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/electricity/orders:
    get:
      tags:
        - XBID Orders v1
      summary: Get Orders
      description: >
        With the GET request you can retrieve all the orders which are currently
        in the

        orderbook. This will display both your own orders, but also the orders
        from other

        exchanges.


        Orders can be filtered on the selected delivery `start` time, on
        delivery `end` time, on `participantId`, on own orders or not with the
        `my`-parameter.
      operationId: getOrders_2
      parameters:
        - name: my
          in: query
          description: Filter on own orders or others' orders.
          required: false
          schema:
            type: boolean
        - name: participantId
          in: query
          description: Filter on participantId. This is only useful for brokers.
          required: false
          schema:
            type: string
        - name: start
          in: query
          description: Filter on order delivery start time.
          required: false
          schema:
            type: integer
            format: int64
        - name: end
          in: query
          description: Filter on order delivery end time.
          required: false
          schema:
            type: integer
            format: int64
        - name: deliveryArea
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/DeliveryArea'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XbidOrderApiResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
    post:
      tags:
        - XBID Orders v1
      summary: Create Order
      description: |
        Creates new order.
        When creating a new order, there are 2 options:
        - Creating a buy order
        - Creating a sell order
      operationId: postOrder_1
      parameters:
        - name: callbackurl
          in: query
          description: >-
            Callback to return the Id of the order to after initial processing
            by our system. The callback url will receive a GET request with a
            parameter named 'id' containing the order Id. Due to the order being
            created asynchronously, the status cannot be returned by the current
            http request. After receive of the Id the order can be traced using
            the Server Sent Event.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XbidOrderRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        '400':
          description: Invalid order object
          content:
            application/json: {}
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
    delete:
      tags:
        - XBID Orders v1
      summary: Cancel all orders
      description: Cancel all user orders
      operationId: deleteAllOrders
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/electricity/orders/basket:
    post:
      tags:
        - XBID Orders v1
      summary: Create Basket Order
      description: >
        Creates new basket order.

        When creating a new basket order, you must select the Execution Type

        - `"NONE"`: All orders in the order list are executed individually.

        - `"VALID"`: All orders must be valid orders. If 1 order is invalid,
        none of the orders are executed.

        - `"LINKED"`: All orders in the order list must be matched immediately.
        If 1 order does not match immediately, all orders in the order list are
        canceled.
      operationId: handleBasketOrderRequest
      parameters:
        - name: callbackurl
          in: query
          description: >-
            Callback to return the Id of the order to after initial processing
            by our system. The callback url will receive a GET request with a
            parameter named 'id' containing the order Id. Due to the order being
            created asynchronously, the status cannot be returned by the current
            http request. After receive of the Id the order can be traced using
            the Server Sent Event.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasketOrderRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasketResponse'
        '400':
          description: Invalid order object
          content:
            application/json: {}
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/on-hold-orders:
    get:
      tags:
        - On Hold Orders
      summary: Get On Hold Orders
      description: Get a list of on hold orders.
      operationId: getOnHoldOrders
      parameters:
        - name: participantId
          in: query
          description: Filter on participantId. This is only useful for brokers.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OnHoldOrderEntry'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
    post:
      tags:
        - On Hold Orders
      summary: Create On Hold Orders
      description: >
        Creates new on hold orders.

        To create on hold order, `id` or `id`'s of the existing Orders must be
        provided
      operationId: createOnHoldOrders
      requestBody:
        description: List of order `id`'s that need to be placed on hold
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Invalid order object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/gopacs-orderbook/status/unlock:
    post:
      tags:
        - GOPACS Orderbook Locking
      summary: Unlock orders in orderbook
      description: |
        Unlocks orders with specified `id`'s
      operationId: unlockOrders
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsOrdersUnlockResponse'
        '400':
          description: Invalid list of orders to unlock
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/gopacs-orderbook/status/unlock/all:
    post:
      tags:
        - GOPACS Orderbook Locking
      summary: Unlocks entire orderbook
      description: |
        Unlocks all orders from GOPACS orderbook
      operationId: unlockOrderbook
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsOrdersLockResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/gopacs-orderbook/status/lock:
    post:
      tags:
        - GOPACS Orderbook Locking
      summary: Lock orders in orderbook
      description: |
        Locks orders with specified `id`'s
      operationId: lockOrders
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsOrdersLockResponse'
        '400':
          description: Invalid list of orders to lock
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/gopacs-orderbook/status/lock/all:
    post:
      tags:
        - GOPACS Orderbook Locking
      summary: Locks entire orderbook
      description: |
        Locks all orders from GOPACS orderbook
      operationId: lockOrderbook
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsOrdersLockResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/3.0/electricity/wallets/balance:
    get:
      tags:
        - Wallet v3
      summary: Get Balance
      description: >
        This endpoint will give you the balance of your **trader wallet** and
        **XBID wallet** `participantId`.
      operationId: getWalletBalance
      parameters:
        - name: participantId
          in: query
          description: >-
            ID of participant to get balance from. This is only useful for
            brokers.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Wallet balances
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PublicApiWalletBalanceV3Dto'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/3.0/electricity/trades:
    get:
      tags:
        - Trades v3
      summary: Get Trades
      description: |
        The endpoint makes use of the pagination 2.0.
        It will allow you to retrieve the trades sorted by latest first
      operationId: getTrades
      parameters:
        - name: pageNumber
          in: query
          description: Number of page to return.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
        - name: pageSize
          in: query
          description: Number of trades to return. A number between 1 and 100.
          required: false
          schema:
            type: integer
            format: int32
            default: 10
            maximum: 100
            minimum: 1
        - name: my_own_trades
          in: query
          description: >-
            Return only your own trades or only trades that are not yours. A
            trade is considered your own trade if you were the buyer or the
            seller.
          required: false
          schema:
            type: boolean
        - name: participantId
          in: query
          description: Filter on participantId. This is only useful for brokers.
          required: false
          schema:
            type: string
        - name: orderId
          in: query
          description: Filter on orderId.
          required: false
          schema:
            type: string
        - name: tradeId
          in: query
          description: Filter on tradeId.
          required: false
          schema:
            type: string
        - name: start
          in: query
          description: >-
            Return trades created after the given timestamp. Value must be a
            Unix timestamp in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
            minimum: 0
        - name: end
          in: query
          description: >-
            Return trades created before the given timestamp. Value must be a
            Unix timestamp in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
            minimum: 0
        - name: field
          in: query
          description: The field to filter on start and/or end if specified
          required: false
          schema:
            type: string
            default: EXECUTED
            enum:
              - START
              - END
              - EXECUTED
        - name: timeblocks
          in: query
          description: Filter on timeblocks.
          required: false
          schema:
            type: string
            enum:
              - INTRADAY
              - EXPOST
              - GOPACS
      responses:
        '200':
          description: Requested trades
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageTradeApiResponse'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/3.0/electricity/trades/{tradeId}:
    get:
      tags:
        - Trades v3
      summary: Get Trade
      description: This request allows you to retrieve a specific trade by `tradeId`
      operationId: getTrade
      parameters:
        - name: tradeId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeApiResponse'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/3.0/electricity/reporting/pv-party-participant:
    get:
      tags:
        - Reporting v3
      summary: PV party participant report
      operationId: pvPartyParticipant
      parameters:
        - name: startDate
          in: query
          description: Fetch trades with transaction date larger than start Unix timestamp.
          required: false
          schema:
            type: integer
            format: int64
        - name: endDate
          in: query
          description: Fetch trades with transaction date smaller than end Unix timestamp.
          required: false
          schema:
            type: integer
            format: int64
        - name: participants
          in: query
          description: >-
            Fetch trades only for given participants. Please provide comma
            separated identifiers. Example =
            "?participants=participantId1,participantId2"
          required: false
          schema:
            type: string
        - name: pageable
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/Pageable'
          example:
            page: 0
            size: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BRPTradeEntryResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/xbid/public-trades/{deliveryAreaId}:
    get:
      tags:
        - XBID Public Trade API v2
      summary: Get all public XBID trades
      description: Get all public XBID trades which can be filtered and paged
      operationId: getRecentTrades
      parameters:
        - name: deliveryAreaId
          in: path
          required: true
          schema:
            type: string
        - name: deliveryDay
          in: query
          description: 'Filter on trade delivery day. Pattern: YYYY-MM-DD'
          required: true
          schema:
            type: string
        - name: deliveryStartTime
          in: query
          description: 'Filter on trade delivery day. Example: 1735689600000'
          required: false
          schema:
            type: string
            format: date-time
        - name: deliveryEndTime
          in: query
          description: 'Filter on trade delivery day. Example: 1893456000000'
          required: false
          schema:
            type: string
            format: date-time
        - name: pageable
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/Pageable'
          example:
            page: 0
            size: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagePublicXbidTradeApiQueryResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/wallets/transactions:
    get:
      tags:
        - Wallet v2
      summary: Get Transactions
      description: >-
        Get wallet transactions by participant ID between start (exclusive) and
        end (exclusive) dates. The number of transactions returned can be
        limited using the count with max 100. Cursor is used for paging on id.
      operationId: getWalletTransactions
      parameters:
        - name: cursor
          in: query
          description: Next cursor provided by a previous response
          required: false
          schema:
            type: string
        - name: count
          in: query
          description: Number of wallet transactions to return
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            maximum: 100
            minimum: 1
        - name: participantId
          in: query
          description: >-
            ID of participant to get transactions from. This is only useful for
            brokers.
          required: false
          schema:
            type: string
        - name: start
          in: query
          description: >-
            Fetch wallet transactions with the filter field since Unix timestamp
            in milliseconds (exclusive).
          required: true
          schema:
            type: integer
            format: int64
        - name: end
          in: query
          description: >-
            Fetch wallet transactions with the filter field until Unix timestamp
            in milliseconds (exclusive).
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Requested transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiWalletEntryPage'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad request. Start must be before end.
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/wallets/balance:
    get:
      tags:
        - Wallet v2
      summary: Get Balance
      description: Get wallet balance by default participant.
      operationId: getWalletBalance_1
      parameters:
        - name: participantId
          in: query
          description: >-
            ID of participant to get balance from. This is only useful for
            brokers.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Wallet balance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiWalletBalanceDto'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/trades:
    get:
      tags:
        - Trades v2
      summary: Get Trades
      description: >
        > NOTE: This endpoint is not supported anymore. Please have a look at
        **Trades v3**


        Get trades filtered on own orders or not with the my-parameter and date
        based on ``start`` and ``end``.


        In the Trade endpoint, we have introduced pagination. The reason is that
        when you apply

        no filters your request won’t be time-out and you won’t be overloaded
        with data.

        When you don’t provide any parameters, the application will return with
        the last 100

        trades and give you the option to get the next 100 trades. To do this
        you use the `cursor`

        parameter with `nextCursor` value that has been given to you from the
        response.


        It makes use of pagination V1.0
      operationId: getTrades_1
      parameters:
        - name: cursor
          in: query
          description: Next cursor provided by the response of a previous request.
          required: false
          schema:
            type: string
        - name: count
          in: query
          description: Number of trades to return. A number between 1 and 100.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            maximum: 100
            minimum: 1
        - name: my_own_trades
          in: query
          description: >-
            Return only your own trades or only trades that are not yours. A
            trade is considered your own trade if you were the buyer or the
            seller.
          required: false
          schema:
            type: boolean
        - name: participantId
          in: query
          description: Filter on participantId. This is only useful for brokers.
          required: false
          schema:
            type: string
        - name: orderId
          in: query
          description: Filter on orderId.
          required: false
          schema:
            type: string
        - name: tradeId
          in: query
          description: Filter on tradeId.
          required: false
          schema:
            type: string
        - name: start
          in: query
          description: >-
            Return trades created after the given timestamp. Value must be a
            Unix timestamp in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
            minimum: 0
        - name: end
          in: query
          description: >-
            Return trades created before the given timestamp. Value must be a
            Unix timestamp in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
            minimum: 0
        - name: field
          in: query
          description: The field to filter on start and/or end if specified
          required: false
          schema:
            type: string
            default: EXECUTED
            enum:
              - START
              - END
              - EXECUTED
        - name: timeblocks
          in: query
          description: Filter on timeblocks.
          required: false
          schema:
            type: string
            enum:
              - INTRADAY
              - EXPOST
              - GOPACS
      responses:
        '200':
          description: Requested trades
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeEntryPage'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      deprecated: true
      security:
        - api-key: []
  /public-api/2.0/electricity/trades/{tradeId}:
    get:
      tags:
        - Trades v2
      summary: Get Trade
      description: >
        > NOTE: This endpoint is not supported anymore. Please have a look at
        **Trades v3**


        Get trade by `tradeId`.
      operationId: getTrade_1
      parameters:
        - name: tradeId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeApiResponse'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      deprecated: true
      security:
        - api-key: []
  /public-api/2.0/electricity/trades/recent:
    get:
      tags:
        - Trades v2
      summary: Get Recent Trades of Participant
      description: >
        The recent trades will only return your trades back from the last 2
        days. The `participantId` is

        only useful for brokers.


        The pagination works slightly different than the other endpoints. It
        will return the first 1000

        results and after that you can add the `pageNumber` as a parameter to
        get the

        remaining results.
      operationId: getRecentTrades_1
      parameters:
        - name: participantId
          in: query
          required: false
          schema:
            type: string
        - name: pageNumber
          in: query
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            maximum: 1000
            minimum: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecentTradeItem'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/reporting/orders-trades:
    get:
      tags:
        - Reporting v2
      summary: Get orders and trades report
      operationId: ordersAndTrades
      parameters:
        - name: participantId
          in: query
          description: >-
            Fetch orders and trades with the filter field participantId. This is
            only useful for brokers.
          required: false
          schema:
            type: string
        - name: orderId
          in: query
          description: Filter on orderId.
          required: false
          schema:
            type: string
        - name: tradeId
          in: query
          description: Filter on tradeId.
          required: false
          schema:
            type: string
        - name: cursor
          in: query
          description: Next cursor provided by a previous response
          required: false
          schema:
            type: string
        - name: count
          in: query
          description: Number of orders and trades to return
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            maximum: 100
            minimum: 1
        - name: start
          in: query
          description: >-
            Fetch orders and trades with the filter field since Unix timestamp
            in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
            default: 0
        - name: end
          in: query
          description: >-
            Fetch orders and trades with the filter field until Unix timestamp
            in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
            default: 0
        - name: filter
          in: query
          description: switch the field the start and end filter searches on
          required: false
          schema:
            type: string
            default: CREATION
            enum:
              - CREATION
              - TRANSACTION
      responses:
        '200':
          description: Order and trades
          headers:
            X-Rate-Limit-Remaining:
              description: >-
                This header provides the amount of requests you are allowed to
                make for that period in time.
              style: simple
              schema: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiOrderReportEntryPage'
        '204':
          description: No content. No result for provided parameters.
          headers:
            X-Rate-Limit-Remaining:
              description: >-
                This header provides the amount of requests you are allowed to
                make for that period in time.
              style: simple
              schema: {}
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '429':
          description: >-
            Too Many Requests. This api is rate limited and you are not allowed
            to make requests more than the limit
          headers:
            X-Rate-Limit-Retry-After-Seconds:
              description: >-
                This header provides the amount of seconds you need to wait to
                be able to make a request again.
              style: simple
              schema: {}
          content:
            application/json:
              schema:
                type: string
                example:
                  status: 429
                  error: Too Many Requests
                  message: You have exhausted your API Request Quota
      security:
        - api-key: []
  /public-api/2.0/electricity/reporting/orders-trades/{tradeId}:
    get:
      tags:
        - Reporting v2
      summary: Get single order and trade
      operationId: getOneOrdersAndTrade
      parameters:
        - name: tradeId
          in: path
          description: Fetch single order and trade with the filter field tradeId
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Single Order and trade
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiOrderReportEntry'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/grid-operator-order-book:
    get:
      tags:
        - GOPACS Orders – Grid Operator v2
      summary: Get GOPACS orderboook orders
      description: Get all active orders
      operationId: getOrders_3
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GopacsOrderResponse'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/2.0/electricity/congestion-spread-bucket/status:
    get:
      tags:
        - Congestion State Check
      summary: Get congestion spread buckets status
      description: Get congestion spread buckets status
      operationId: createCongestionSpreadBucket_1
      parameters:
        - name: gopacsClearingId
          in: query
          description: GOPACS clearing id to find congestion spread bucket
          required: false
          schema:
            type: string
        - name: etpaClearingId
          in: query
          description: ETPA clearing id to find congestion spread bucket
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CongestionSpreadBucketStatusResponse'
        '400':
          description: Did not provide required parameter
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: No content found. No result for provided parameters.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/wallets/transactions:
    get:
      tags:
        - XBID Wallet v1
      summary: Get Transactions
      description: >-
        Get wallet transactions by participant ID between start (exclusive) and
        end (exclusive) dates.
      operationId: getWalletTransactions_1
      parameters:
        - name: participantId
          in: query
          description: >-
            ID of participant to get transactions from. This is only useful for
            brokers.
          required: false
          schema:
            type: string
        - name: startDateTime
          in: query
          description: Fetch wallet transactions since startDateTime
          required: true
          schema:
            type: integer
            format: int64
        - name: endDateTime
          in: query
          description: Fetch wallet transactions until endDateTime
          required: true
          schema:
            type: integer
            format: int64
        - name: pageable
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/Pageable'
          example:
            page: 0
            size: 1
      responses:
        '200':
          description: Requested transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XbidWalletTransactionApiDto'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/trades/report:
    get:
      tags:
        - XBID Trade Reports v1
      summary: Get Trades
      operationId: getTrades_2
      parameters:
        - name: myOwnTrades
          in: query
          description: >-
            Return only your own trades or only trades that are not yours. A
            trade is considered your own trade if you were the buyer or the
            seller.
          required: false
          schema:
            type: boolean
        - name: deliveryStart
          in: query
          description: >-
            Return trades created after the given timestamp. Value must be a
            Unix timestamp in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
        - name: deliveryEnd
          in: query
          description: >-
            Return trades created before the given timestamp. Value must be a
            Unix timestamp in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
        - name: fieldFilter
          in: query
          description: The field to filter on start and/or end if specified
          required: false
          schema:
            type: string
            default: EXECUTED
            enum:
              - DELIVERY_START_TIME
              - DELIVERY_END_TIME
              - EXECUTED
        - name: pageable
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/Pageable'
          example:
            page: 0
            size: 1
      responses:
        '200':
          description: xbidTradeEntries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XbidTradeApiQueryResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
          content:
            application/json: {}
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/trades/report/{id}:
    get:
      tags:
        - XBID Trade Reports v1
      summary: Get Trade
      description: Get Trade by id.
      operationId: getTrade_2
      parameters:
        - name: id
          in: path
          description: ID of trade to retrieve.
          required: true
          schema:
            type: string
          example: 0b0440f7-6c21-429d-9982-a9e41b615284
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XbidTradeApiQueryResponse'
        '204':
          description: No content. No result for provided parameters.
          content:
            application/json: {}
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/trades/report/order/{orderId}:
    get:
      tags:
        - XBID Trade Reports v1
      summary: Get trade by order id
      description: Get trade by order id.
      operationId: getTradeByOrderId
      parameters:
        - name: orderId
          in: path
          description: Order id of trade to retrieve.
          required: true
          schema:
            type: string
          example: 0b0440f7-6c21-429d-9982-a9e41b615284
      responses:
        '200':
          description: xbidTradeEntry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XbidTradeApiQueryResponse'
        '204':
          description: No content. No result for provided parameters.
          content:
            application/json: {}
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/trades/recent:
    get:
      tags:
        - XBID Trades v1
      summary: Get Recent XBID Trades of Participant
      description: >-
        The recent XBID trades API will return all the trades of the last 48
        hrs. If `participantId` param is empty, endpoint will return trades
        owned by currently logged user only.
      operationId: getRecentTrades_2
      parameters:
        - name: participantId
          in: query
          required: false
          schema:
            type: string
        - name: pageable
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/Pageable'
          example:
            page: 0
            size: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageXbidTradeApiQueryResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/status:
    get:
      tags:
        - XBID Status v1
      summary: Get XBID Status
      description: Get status of XBID
      operationId: getStatus
      responses:
        '200':
          description: Requested XBID Status
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/reporting/orders-trades:
    get:
      tags:
        - XBID Reporting v1
      summary: Get orders and trades report
      operationId: fetchOrdersAndTrades
      parameters:
        - name: participantId
          in: query
          description: >-
            Filter xbid orders and trades by participantId. This is only useful
            for brokers.
          required: false
          schema:
            type: string
        - name: orderId
          in: query
          description: Filter on orderId.
          required: false
          schema:
            type: string
        - name: tradeId
          in: query
          description: Filter on tradeId.
          required: false
          schema:
            type: string
        - name: start
          in: query
          description: >-
            Fetch orders and trades with the filter field since Unix timestamp
            in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
            default: 0
        - name: end
          in: query
          description: >-
            Fetch orders and trades with the filter field until Unix timestamp
            in milliseconds.
          required: false
          schema:
            type: integer
            format: int64
            default: 0
        - name: filter
          in: query
          description: switch the field the start and end filter searches on
          required: false
          schema:
            type: string
            default: CREATION
            enum:
              - CREATION
              - TRANSACTION
        - name: pageable
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/Pageable'
          example:
            page: 0
            size: 1
      responses:
        '200':
          description: Order and trades
          headers:
            X-Rate-Limit-Remaining:
              description: >-
                This header provides the amount of requests you are allowed to
                make for that period in time.
              style: simple
              schema: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageCustomResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '429':
          description: >-
            Too Many Requests. This api is rate limited and you are not allowed
            to make requests more than the limit
          headers:
            X-Rate-Limit-Retry-After-Seconds:
              description: >-
                This header provides the amount of seconds you need to wait to
                be able to make a request again.
              style: simple
              schema: {}
          content:
            application/json:
              schema:
                type: string
                example:
                  status: 429
                  error: Too Many Requests
                  message: You have exhausted your API Request Quota
      security:
        - api-key: []
  /public-api/1.0/xbid/reporting/orders-trades/by-trade/{tradeId}:
    get:
      tags:
        - XBID Reporting v1
      summary: Get order report report by trade id
      operationId: getTrade_3
      parameters:
        - name: tradeId
          in: path
          description: Trade Id for which report should be retrieved
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved order report
          headers:
            X-Rate-Limit-Remaining:
              description: >-
                This header provides the amount of requests you are allowed to
                make for that period in time.
              style: simple
              schema: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XbidPublicOrderReportApiResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '429':
          description: >-
            Too Many Requests. This api is rate limited and you are not allowed
            to make requests more than the limit
          headers:
            X-Rate-Limit-Retry-After-Seconds:
              description: >-
                This header provides the amount of seconds you need to wait to
                be able to make a request again.
              style: simple
              schema: {}
          content:
            application/json:
              schema:
                type: string
                example:
                  status: 429
                  error: Too Many Requests
                  message: You have exhausted your API Request Quota
      security:
        - api-key: []
  /public-api/1.0/xbid/reporting/orders-trades/by-order/{orderId}:
    get:
      tags:
        - XBID Reporting v1
      summary: Get order reports by order id
      operationId: getOrders_4
      parameters:
        - name: orderId
          in: path
          description: Order Id for which report should be retrieved
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved order reports
          headers:
            X-Rate-Limit-Remaining:
              description: >-
                This header provides the amount of requests you are allowed to
                make for that period in time.
              style: simple
              schema: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XbidPublicOrderReportApiResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '429':
          description: >-
            Too Many Requests. This api is rate limited and you are not allowed
            to make requests more than the limit
          headers:
            X-Rate-Limit-Retry-After-Seconds:
              description: >-
                This header provides the amount of seconds you need to wait to
                be able to make a request again.
              style: simple
              schema: {}
          content:
            application/json:
              schema:
                type: string
                example:
                  status: 429
                  error: Too Many Requests
                  message: You have exhausted your API Request Quota
      security:
        - api-key: []
  /public-api/1.0/xbid/public-trades:
    get:
      tags:
        - XBID Public Trade API v1
      summary: Get all public XBID trades
      description: Get all public XBID trades which can be filtered and paged
      operationId: getAllXbidTrades
      parameters:
        - name: searchField
          in: query
          description: Field to search in e.g. 'buyDeliveryArea' or 'start'
          required: false
          schema:
            type: string
            pattern: buydeliveryarea|selldeliveryarea|start|end
        - name: searchPattern
          in: query
          description: Search pattern to search for e.g. 'NL' or '2023/07/15#2023/07/18'
          required: false
          schema:
            type: string
        - name: pageable
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/Pageable'
          example:
            page: 0
            size: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagePublicXbidTradeApiQueryResponse'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/public-trades/recent:
    get:
      tags:
        - XBID Public Trade API v1
      summary: Get Recent Public XBID Trades
      description: >-
        The recent Public XBID trades API will return all the trades of the last
        2 days.
      operationId: getRecentTrades_3
      parameters:
        - name: pageable
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/Pageable'
          example:
            page: 0
            size: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagePublicXbidTradeApiQueryResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/orders/status/{id}:
    get:
      tags:
        - XBID Order Status v1
      summary: Get History of the XBID Order Status by orderId
      description: >-
        Get history of the order status with filtering by `orderId` that
        creating on `POST/PUT` order requests.
      operationId: getOrderStatus
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Order status entry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XbidOrderStatusEntry'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Order status entry not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/XbidOrderStatusEntry'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/orders/status/{id}/current:
    get:
      tags:
        - XBID Order Status v1
      summary: Get Current Order Status by orderId
      description: >-
        Get current XBID order status with filtering by `orderId` that creating
        on `POST/PUT` order requests.
      operationId: getOrderCurrentStatus
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Order status entry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XbidOrderStatusItem'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Order status entry not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/XbidOrderStatusItem'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/orders/status/basket/{id}:
    get:
      tags:
        - XBID Order Status v1
      summary: Get History of the XBID Basket Orders Status by basket id
      description: >-
        Get history of the order status with filtering by `basketId` that
        creating on `POST/PUT` order requests.
      operationId: getBasketOrderStatus
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: List of order status entries
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XbidOrderStatusEntry'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Order status entry not found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XbidOrderStatusEntry'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/orders/status/basket/{id}/current:
    get:
      tags:
        - XBID Order Status v1
      summary: Get Current Order Status by basket id
      description: >-
        Get current XBID order status with filtering by basket id that creating
        on post/put order requests.
      operationId: getBasketOrdersCurrentStatus
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: List of order status entries
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XbidOrderStatusItem'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Order status entry not found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XbidOrderStatusItem'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/electricity/orders/quarter:
    get:
      tags:
        - XBID Orders v1
      summary: Get Orders By Quarters
      description: >-
        Get orders filtered on quarters interval. Please provide Date in this
        format `yyyy-mm-dd`
      operationId: getQuartersOrdersList
      parameters:
        - name: deliveryDay
          in: query
          required: true
          schema:
            type: string
            format: date
        - name: my
          in: query
          description: Filter on own orders.
          required: false
          schema:
            type: boolean
        - name: deliveryArea
          in: query
          description: Filter on DeliveryArea
          required: true
          schema:
            $ref: '#/components/schemas/DeliveryArea'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: No orders found in this interval
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/electricity/orders/hour:
    get:
      tags:
        - XBID Orders v1
      summary: Get Orders By Hours
      description: >-
        Get orders filtered on hourly interval. Please provide Date in this
        format `yyyy-mm-dd`
      operationId: getHoursOrdersList
      parameters:
        - name: deliveryDay
          in: query
          required: true
          schema:
            type: string
            format: date
        - name: my
          in: query
          description: Filter on own orders.
          required: false
          schema:
            type: boolean
        - name: deliveryArea
          in: query
          description: Filter on DeliveryArea
          required: true
          schema:
            $ref: '#/components/schemas/DeliveryArea'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderQueryResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: No orders found in this interval
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/electricity/orders/half-hour:
    get:
      tags:
        - XBID Orders v1
      summary: Get Orders By Half Hours
      description: >-
        Get orders filtered on half hours interval. Please provide Date in this
        format `yyyy-mm-dd`
      operationId: getHalfHoursOrdersList
      parameters:
        - name: deliveryDay
          in: query
          required: true
          schema:
            type: string
            format: date
        - name: my
          in: query
          description: Filter on own orders.
          required: false
          schema:
            type: boolean
        - name: deliveryArea
          in: query
          description: Filter on DeliveryArea
          required: true
          schema:
            $ref: '#/components/schemas/DeliveryArea'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderQueryResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: No orders found in this interval
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/xbid/active-contracts:
    get:
      tags:
        - XBID Contracts v1
      summary: Get Contracts
      description: >
        This XBID contract endpoint will return all the active contracts for
        XBID. Even though you

        can’t create orders with the `contractId` it will give you an indication
        when the contracts

        will be opened for trading.
      operationId: getAllActiveContracts
      parameters:
        - name: deliveryArea
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/DeliveryArea'
        - name: product
          in: query
          required: false
          schema:
            type: string
            enum:
              - QUARTER
              - HOUR
              - HALF_HOUR
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContractViewQueryResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/platform-status/announcement:
    get:
      tags:
        - Platform Status
      summary: Get Public Announcements
      description: This endpoint will give you all the announcements of the application
      operationId: get
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicAnnouncementEntry'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/platform-status/announcement/{id}:
    get:
      tags:
        - Platform Status
      summary: 'Get Public Announcement by id '
      description: Get public announcement by annoucement `id`
      operationId: getPublicAnnouncementById
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicAnnouncementEntry'
        '400':
          description: Invalid public announcement request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/platform-status/announcement/getActiveAnnouncements:
    get:
      tags:
        - Platform Status
      summary: Get Active Public Announcements
      description: Get all active public announcements
      operationId: getActiveAnnouncements
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicAnnouncementEntry'
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/users/participants:
    get:
      tags:
        - User Management
      summary: Get My Participants
      description: >-
        This request will give you the information of the participants that are
        representing you.
      operationId: getMyParticipants
      responses:
        '200':
          description: Requested participants
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ParticipantDto'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/users/individual:
    get:
      tags:
        - User Management
      summary: Get Individual
      description: This request will give you the information about you as an individual.
      operationId: getMyIndividual
      responses:
        '200':
          description: Requested individual
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndividualDto'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/orders/status/{orderId}:
    get:
      tags:
        - Order Status
      summary: Get History of the Order Status
      description: Get history of the order status by `orderId`
      operationId: getOrderStatus_1
      parameters:
        - name: orderId
          in: path
          required: true
          content:
            text/plain: {}
      responses:
        '200':
          description: Order status response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderStatusEntry'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Order status entry not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderStatusEntry'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/orders/status/{orderId}/current:
    get:
      tags:
        - Order Status
      summary: Get Current Order Status
      description: Get current order status by `orderId`
      operationId: getOrderCurrentStatus_1
      parameters:
        - name: orderId
          in: path
          required: true
          content:
            text/plain: {}
      responses:
        '200':
          description: Order status response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderStatusItem'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Order status entry not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderStatusItem'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/orders/status/basket/{basketId}:
    get:
      tags:
        - Order Status
      summary: Get History of the Order Status by basket id
      description: >-
        Get history of the order status by `basketId` that were created on
        `POST/PUT` order requests.
      operationId: getBasketOrderStatus_1
      parameters:
        - name: basketId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Order status entry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderStatusEntry'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Order status entry not found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderStatusEntry'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/orders/status/basket/{basketId}/current:
    get:
      tags:
        - Order Status
      summary: Get Current Order Status by basket id
      description: >-
        Get current order status by `basketId` that were created on `POST/PUT`
        order requests.
      operationId: getBasketOrderCurrentStatus
      parameters:
        - name: basketId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Order status entry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderStatusEntry'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Order status entry not found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderStatusItem'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/on-hold-orders/{id}:
    get:
      tags:
        - On Hold Orders
      summary: Get On Hold Order
      description: Get order by ID.
      operationId: getOnHoldOrder
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnHoldOrderEntry'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
    delete:
      tags:
        - On Hold Orders
      summary: Delete On Hold Order
      description: Delete on hold order by ID.
      operationId: deleteOrder
      parameters:
        - name: id
          in: path
          description: Id of on hold order to delete
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: >-
            Unauthorized request. Could be caused by invalid rights or incorrect
            IP.
          content: {}
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
  /public-api/1.0/electricity/gopacs-orderbook/status:
    get:
      tags:
        - GOPACS Orderbook Locking
      summary: Get orderbook lock status
      description: Get current orderbook status
      operationId: getOrderbookState
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
                enum:
                  - ACTIVE
                  - LOCKED
                  - PARTIALLY_LOCKED
        '204':
          description: No content. No result for provided parameters.
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GopacsErrorMessage'
                  - $ref: '#/components/schemas/ErrorMessage'
        '412':
          description: Precondition Failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '423':
          description: Locked
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GopacsErrorMessage'
      security:
        - api-key: []
components:
  schemas:
    ErrorMessage:
      type: object
      properties:
        errors:
          type: array
          items:
            type: string
    GopacsErrorMessage:
      type: object
      properties:
        errors:
          type: array
          items:
            type: string
    OrderTemplate:
      type: object
      properties:
        orderType:
          type: string
          description: The Order type is required field.
          example: BUY / SELL
        participantId:
          type: string
          example: 292c3db8-3ee1-4999-bbed-d579225d1596
        quantity:
          type: number
          description: >-
            The quantity can not be negative and 0. Also the decimal limit of
            the quantity is 1. The quantity is required field.
          example: 2
        start:
          type: integer
          format: int64
          description: >-
            The start time is an epoch time. It is the time in milliseconds
            since the start of the unix time. The start time is required field.
          example: 1465596000000
        end:
          type: integer
          format: int64
          description: >-
            The end time is an epoch time. It is the time in milliseconds since
            the start of the unix time. The end time is required field
          example: 1465682400000
        timeblock:
          type: string
          description: The Timeblock is required field.
          example: INTRADAY / EXPOST / GOPACS
        price:
          type: number
          description: The Price is required field.
          example: 35
        ean:
          type: string
          example: 871685920001768800
        metadata:
          type: object
          additionalProperties:
            type: string
          example:
            key1: value1
            key2: value2
        customExpirationTime:
          type: integer
          format: int64
          description: >-
            Custom expiration time of an order. If no value is provided then the
            order will expire 15 minutes before the start time.The time must be
            a time in the future and must not be later than 15 minutes before
            the start time. The time provided must be a multiple of 15 minutes.
            For example 03:00, 03:15, 03:30 and 03:45.
          example: 1465682400000
        allowedToBeUsedForIdcons:
          type: boolean
      required:
        - end
        - orderType
        - price
        - quantity
        - start
        - timeblock
    Link:
      type: object
      properties:
        href:
          type: string
        hreflang:
          type: string
        title:
          type: string
        type:
          type: string
        deprecation:
          type: string
        profile:
          type: string
        name:
          type: string
        templated:
          type: boolean
    UpdateGopacsOrderDTO:
      type: object
      properties:
        quantity:
          type: number
          description: >-
            The quantity can not be negative and 0. Also the decimal limit of
            the quantity is 1. The capacity is required field.
          example: 2
        price:
          type: number
          description: The price is required field.
          example: 35
        ean:
          type: string
          description: The ean is required field.
          example: 871685920001768800
        metaData:
          type: object
          additionalProperties:
            type: string
          example:
            key1: value1
            key2: value2
        customExpirationTime:
          type: integer
          format: int64
          description: |-
            Custom expiration time of an order.
                            If no value is provided then the order will expire 15 minutes before the start time.
                            The time must be a time in the future and must not be later than 15 minutes before the start time.
                            The time provided must be a multiple of 15 minutes.
                            For example 03:00, 03:15, 03:30 and 03:45.
          example: 1465682400000
        marketBased:
          type: boolean
          description: The markedBased field is mandatory
        facilityType:
          type: string
          description: The facilityType field is required when marketBased is set to false.
          example: B01
        contractId:
          type: string
          description: The contractId field is not mandatory
        usageFraction:
          type: number
          description: The usageFraction field is not mandatory
          example: 0.28
          maximum: 1
          minimum: 0
      required:
        - ean
        - marketBased
        - price
        - quantity
    OrderVersion:
      type: object
      properties:
        revisionNo:
          type: integer
          format: int64
          description: Order revision number
        xbidOrderId:
          type: integer
          format: int64
          description: Xbid order id
      required:
        - revisionNo
        - xbidOrderId
    XbidOrderRequest:
      type: object
      properties:
        orderType:
          type: string
          description: The Order type is required field.
          enum:
            - BUY
            - SELL
          example: BUY / SELL
        xbidOrderType:
          type: string
          description: >-
            The XBID Order type is required field. Currently supported types
            include REGULAR and ICEBERG
          example: REGULAR / ICEBERG
        participantId:
          type: string
          example: 292c3db8-3ee1-4999-bbed-d579225d1596
        capacity:
          type: number
          description: >-
            The capacity can not be negative and 0. Also the decimal limit of
            the capacity is 1. The capacity is required field.
          example: 2
        deliveryStartTime:
          type: integer
          format: int64
          description: >-
            The start time is an epoch time. It is the time in milliseconds
            since the start of the unix time. The deliveryStartTime time is
            required field.
          example: 1465596000000
        deliveryEndTime:
          type: integer
          format: int64
          description: >-
            The end time is an epoch time. It is the time in milliseconds since
            the start of the unix time. The deliveryEndTime time is required
            field
          example: 1465682400000
        unitPrice:
          type: number
          description: The UnitPrice is required field.
          example: 35
          maximum: 9999
          minimum: -9999
        metadata:
          type: object
          additionalProperties:
            type: string
          example:
            key1: value1
            key2: value2
        customExpirationTime:
          type: integer
          format: int64
          description: >-
            Custom expiration time of an order. If no value is provided then the
            order will expire 15 minutes before the start time.The time must be
            a time in the future and must not be later than 15 minutes before
            the start time. The time provided must be a multiple of 15 minutes.
            For example 03:00, 03:15, 03:30 and 03:45.
          example: 1465682400000
        orderDeliveryArea:
          type: string
          description: Delivery Area Id where the order is located.
          enum:
            - AT
            - BG
            - BE
            - CZ
            - DE1
            - DE2
            - DE3
            - DE4
            - DK1
            - DK2
            - EE
            - ES
            - FI
            - FR
            - GR
            - HR
            - HU
            - IT1
            - IT2
            - IT3
            - IT4
            - IT5
            - IT6
            - IT7
            - IT8
            - IT9
            - IT10
            - IT_AT
            - IT_CH
            - IT_CP
            - IT_FR
            - IT_GR
            - IT_ME
            - IT_SI
            - LT
            - LV
            - MA
            - NL
            - NO1
            - NO2
            - NO3
            - NO4
            - NO5
            - PL
            - PT
            - RO
            - RU
            - SE1
            - SE2
            - SE3
            - SE4
            - SI
            - SK
          example: NL / NL - TTN / 10YNL----------L
        orderStatus:
          type: string
          description: The Order status is required field.
          enum:
            - ACTIVE
            - HIBERNATE
            - WITHDRAWN
          example: ACTIVE / HIBERNATE
        orderExecution:
          type: string
          description: >-
            Order execution restriction. Currently only supported types are NON,
            FOK and IOC
          enum:
            - NON
            - FOK
            - IOC
          example: 'NON / FOK / IOC '
        allowedForLocalMarket:
          type: boolean
          description: >-
            When this field is true the order is allowed to go to the local
            market. If this field is false the order will be rejected and will
            not be sent to the local market if XBID is down.
          example: false
        orderVersion:
          $ref: '#/components/schemas/OrderVersion'
          description: Order validity check
        showCapacity:
          type: number
          description: >-
            The quantity shown to the market. Only used for XbidOrderType
            ICEBERG
          example: 2
        pricePerDelta:
          type: number
          description: >-
            The peak price delta means that the price of the order can be
            increased/ decreased with every slice. This field is optional,
            meaning the default value is 0.0.
          example: 2
      required:
        - capacity
        - deliveryEndTime
        - deliveryStartTime
        - orderDeliveryArea
        - orderExecution
        - orderType
        - participantId
        - unitPrice
        - xbidOrderType
    CreateGopacsOrderDTO:
      type: object
      properties:
        orderType:
          type: string
          description: The Order type is required field.
          enum:
            - BUY
            - SELL
          example: BUY / SELL
        participantId:
          type: string
          example: 292c3db8-3ee1-4999-bbed-d579225d1596
        quantity:
          type: number
          description: >-
            The quantity can not be negative and 0. Also the decimal limit of
            the quantity is 1. The capacity is required field.
          example: 2
        start:
          type: integer
          format: int64
          description: >-
            The start time is an epoch time. It is the time in milliseconds
            since the start of the unix time. The start time is required field.
          example: 1465596000000
        end:
          type: integer
          format: int64
          description: >-
            The end time is an epoch time. It is the time in milliseconds since
            the start of the unix time. The end time time is required field
          example: 1465682400000
        price:
          type: number
          description: The price is required field.
          example: 35
        ean:
          type: string
          description: The ean is required field.
          example: 871685920001768800
        metaData:
          type: object
          additionalProperties:
            type: string
          example:
            key1: value1
            key2: value2
        customExpirationTime:
          type: integer
          format: int64
          description: |-
            Custom expiration time of an order.
                            If no value is provided then the order will expire 15 minutes before the start time.
                            The time must be a time in the future and must not be later than 15 minutes before the start time.
                            The time provided must be a multiple of 15 minutes.
                            For example 03:00, 03:15, 03:30 and 03:45.
          example: 1465682400000
        marketBased:
          type: boolean
          description: The markedBased field is mandatory
        facilityType:
          type: string
          description: The facilityType field is required when marketBased is set to false.
          example: B01
        contractId:
          type: string
          description: The contractId field is not mandatory
        usageFraction:
          type: number
          description: The usageFraction field is not mandatory
          example: 0.28
          maximum: 1
          minimum: 0
      required:
        - ean
        - end
        - marketBased
        - orderType
        - participantId
        - price
        - quantity
        - start
    CongestionSpreadBucketRequest:
      type: object
      properties:
        clearingId:
          type: string
          minLength: 1
        orderCallGroups:
          type: array
          items:
            $ref: '#/components/schemas/OrderCallGroupAPIView'
      required:
        - clearingId
        - orderCallGroups
    OrderCallGroupAPIView:
      type: object
      properties:
        orderCallGroupId:
          type: string
        executionType:
          type: string
          enum:
            - FILL_OR_KILL
        orders:
          type: array
          items:
            $ref: '#/components/schemas/OrderMatchingEntryAPIView'
      required:
        - orderCallGroupId
        - orders
    OrderMatchingEntryAPIView:
      type: object
      properties:
        orderId:
          type: string
        quantity:
          type: number
      required:
        - orderId
        - quantity
    CongestionSpreadBucketResponse:
      type: object
      properties:
        GOPACSClearingId:
          type: string
        ETPAClearingId:
          type: string
    BasketOrderRequest:
      type: object
      properties:
        basketExecutionType:
          type: string
          description: Basket execution type
          enum:
            - NONE
            - VALID
            - LINKED
          example: NONE / VALID / LINKED
        orderList:
          type: array
          description: List of order requests
          items:
            $ref: '#/components/schemas/XbidOrderRequest'
        allowedForLocalMarket:
          type: boolean
          description: >-
            When this field is true the full basket order is allowed to go to
            the local market, regardless of the allowedForLocalMarket field in
            the individual ordersIf this field is false the basket order will be
            rejected and will not be sent to the local market if XBID is down.
          example: false
      required:
        - basketExecutionType
        - orderList
    BasketResponse:
      type: object
      properties:
        link:
          $ref: '#/components/schemas/Link'
        success:
          type: string
        invalidOrders:
          type: array
          items:
            $ref: '#/components/schemas/InvalidOrderRequest'
      required:
        - invalidOrders
        - link
        - success
    InvalidOrderRequest:
      type: object
      properties:
        position:
          type: integer
          format: int32
        reason:
          type: string
        order:
          $ref: '#/components/schemas/XbidOrderRequest'
      required:
        - order
        - position
        - reason
    GopacsOrdersUnlockResponse:
      type: object
      properties:
        unlocked:
          type: array
          items:
            type: string
        failed:
          type: array
          items:
            type: string
        unlockedByTimeStamp:
          type: string
          format: date-time
      required:
        - failed
        - unlocked
        - unlockedByTimeStamp
    GopacsOrdersLockResponse:
      type: object
      properties:
        locked:
          type: array
          items:
            type: string
        failed:
          type: array
          items:
            type: string
        lockedByTimeStamp:
          type: string
          format: date-time
      required:
        - failed
        - locked
        - lockedByTimeStamp
    PublicApiWalletBalanceV3Dto:
      type: object
      properties:
        walletBalance:
          type: number
          format: double
        walletType:
          type: string
          enum:
            - XBID
            - TRADER
      required:
        - walletBalance
        - walletType
    PageTradeApiResponse:
      type: object
      properties:
        totalElements:
          type: integer
          format: int64
        totalPages:
          type: integer
          format: int32
        first:
          type: boolean
        last:
          type: boolean
        size:
          type: integer
          format: int32
        content:
          type: array
          items:
            $ref: '#/components/schemas/TradeApiResponse'
        number:
          type: integer
          format: int32
        sort:
          $ref: '#/components/schemas/SortObject'
        numberOfElements:
          type: integer
          format: int32
        pageable:
          $ref: '#/components/schemas/PageableObject'
        empty:
          type: boolean
    PageableObject:
      type: object
      properties:
        offset:
          type: integer
          format: int64
        sort:
          $ref: '#/components/schemas/SortObject'
        paged:
          type: boolean
        pageSize:
          type: integer
          format: int32
        pageNumber:
          type: integer
          format: int32
        unpaged:
          type: boolean
    SortObject:
      type: object
      properties:
        empty:
          type: boolean
        sorted:
          type: boolean
        unsorted:
          type: boolean
    TradeApiResponse:
      type: object
      properties:
        id:
          type: string
        tradeId:
          type: string
        productType:
          type: string
          enum:
            - ELECTRICITY
            - GAS
        timeblock:
          type: string
          enum:
            - BASELOAD
            - PEAK
            - OFFPEAK
            - INTRADAY
            - EXPOST
            - GOPACS
        buyerId:
          type: string
        sellerId:
          type: string
        orderIdBuy:
          type: string
        orderIdSell:
          type: string
        buyerEan:
          type: string
        sellerEan:
          type: string
        buyTraderName:
          type: string
        sellTraderName:
          type: string
        buyOrderMetadata:
          type: object
          additionalProperties:
            type: string
        sellOrderMetadata:
          type: object
          additionalProperties:
            type: string
        quantity:
          type: number
        start:
          type: integer
          format: int64
          example: 1694422800000
        end:
          type: integer
          format: int64
          example: 1694422800000
        executed:
          type: integer
          format: int64
          example: 1694422800000
        duration:
          type: number
        mwhTraded:
          type: number
        price:
          type: number
        type:
          type: string
        tradedForIdcons:
          type: boolean
        reverted:
          type: boolean
        revertedAt:
          type: integer
          format: int64
          example: 1694422800000
      required:
        - buyerId
        - end
        - executed
        - id
        - orderIdBuy
        - orderIdSell
        - price
        - productType
        - sellerId
        - start
        - timeblock
        - tradeId
    BRPTradeEntryResponse:
      type: object
      properties:
        id:
          type: string
        tradeId:
          type: string
        xbidTradeId:
          type: string
        productType:
          type: string
          example: ELECTRICITY
        timeBlock:
          type: string
          example: INTRADAY
        type:
          type: string
        capacity:
          type: number
          format: double
        amount:
          type: number
          format: double
        start:
          type: integer
          format: int64
          example: 1517406300000
        end:
          type: integer
          format: int64
          example: 1517413500000
        transactionDate:
          type: integer
          format: int64
          example: 1517404532975
        nominationMethodBuy:
          type: string
          example: DSN
        nominationMethodSell:
          type: string
        buyerName:
          type: string
        buyerParticipantId:
          type: string
        buyOrderEan:
          type: string
        sellerName:
          type: string
        sellerParticipantId:
          type: string
        sellOrderEan:
          type: string
        isTradedForIdcons:
          type: boolean
        buyDeliveryArea:
          type: string
          enum:
            - AT
            - BG
            - BE
            - CZ
            - DE1
            - DE2
            - DE3
            - DE4
            - DK1
            - DK2
            - EE
            - ES
            - FI
            - FR
            - GR
            - HR
            - HU
            - IT1
            - IT2
            - IT3
            - IT4
            - IT5
            - IT6
            - IT7
            - IT8
            - IT9
            - IT10
            - IT_AT
            - IT_CH
            - IT_CP
            - IT_FR
            - IT_GR
            - IT_ME
            - IT_SI
            - LT
            - LV
            - MA
            - NL
            - NO1
            - NO2
            - NO3
            - NO4
            - NO5
            - PL
            - PT
            - RO
            - RU
            - SE1
            - SE2
            - SE3
            - SE4
            - SI
            - SK
        sellDeliveryArea:
          type: string
          enum:
            - AT
            - BG
            - BE
            - CZ
            - DE1
            - DE2
            - DE3
            - DE4
            - DK1
            - DK2
            - EE
            - ES
            - FI
            - FR
            - GR
            - HR
            - HU
            - IT1
            - IT2
            - IT3
            - IT4
            - IT5
            - IT6
            - IT7
            - IT8
            - IT9
            - IT10
            - IT_AT
            - IT_CH
            - IT_CP
            - IT_FR
            - IT_GR
            - IT_ME
            - IT_SI
            - LT
            - LV
            - MA
            - NL
            - NO1
            - NO2
            - NO3
            - NO4
            - NO5
            - PL
            - PT
            - RO
            - RU
            - SE1
            - SE2
            - SE3
            - SE4
            - SI
            - SK
        metaDataBuy:
          type: object
          additionalProperties:
            type: string
        metaDataSell:
          type: object
          additionalProperties:
            type: string
        isReverted:
          type: boolean
      required:
        - amount
        - capacity
        - end
        - nominationMethodBuy
        - nominationMethodSell
        - productType
        - start
        - timeBlock
        - tradeId
        - transactionDate
        - type
    Pageable:
      type: object
      properties:
        page:
          type: integer
          format: int32
          description: Page
          example: 0
        size:
          type: integer
          format: int32
          description: Size
          example: 1
        sort:
          $ref: '#/components/schemas/PageCustomSort'
          description: Sort details
        offset:
          type: integer
          format: int64
          description: Offset
          example: 0
        paged:
          type: boolean
          description: Indicates if pagination is enabled
          example: true
        unpaged:
          type: boolean
          description: Indicates if pagination is disabled
          example: false
    DeliveryAreaDto:
      type: object
      properties:
        country:
          type: string
          description: Country code
          enum:
            - DE
            - NL
        eic:
          type: string
          description: Eic code
          enum:
            - 10YDE-VE-------2
            - 10YDE-RWENET---I
            - 10YDE-ENBW-----N
            - 10YDE-EON------1
            - 10YNL----------L
        name:
          type: string
          description: Name
          enum:
            - DE - 50HzT
            - DE - AMP
            - DE - TNG
            - DE - TTG
            - NL - TTN
      required:
        - country
        - eic
        - name
    PagePublicXbidTradeApiQueryResponse:
      type: object
      properties:
        totalElements:
          type: integer
          format: int64
        totalPages:
          type: integer
          format: int32
        first:
          type: boolean
        last:
          type: boolean
        size:
          type: integer
          format: int32
        content:
          type: array
          items:
            $ref: '#/components/schemas/PublicXbidTradeApiQueryResponse'
        number:
          type: integer
          format: int32
        sort:
          $ref: '#/components/schemas/SortObject'
        numberOfElements:
          type: integer
          format: int32
        pageable:
          $ref: '#/components/schemas/PageableObject'
        empty:
          type: boolean
    PublicXbidTradeApiQueryResponse:
      type: object
      properties:
        xbidTradeId:
          type: integer
          format: int64
        revisionNo:
          type: integer
          format: int64
        tradeQuantity:
          type: number
        mwhTraded:
          type: number
        tradePrice:
          type: number
        totalPrice:
          type: number
        deliveryStartTime:
          type: string
          format: date-time
        deliveryEndTime:
          type: string
          format: date-time
        contractId:
          type: integer
          format: int64
        executionTime:
          type: string
          format: date-time
        buyDeliveryArea:
          $ref: '#/components/schemas/DeliveryAreaDto'
        sellDeliveryArea:
          $ref: '#/components/schemas/DeliveryAreaDto'
        reverted:
          type: boolean
      required:
        - contractId
        - deliveryEndTime
        - deliveryStartTime
        - executionTime
        - mwhTraded
        - reverted
        - revisionNo
        - totalPrice
        - tradePrice
        - tradeQuantity
        - xbidTradeId
    PublicApiWalletEntry:
      type: object
      properties:
        id:
          type: string
        participantId:
          type: string
        date:
          type: integer
          format: int64
          example: 1465641045
        orderId:
          type: string
        action:
          type: string
          enum:
            - BUY
            - SELL
            - WITHDRAWAL
            - DEPOSIT
            - REFUND
            - CONGESTION
            - WALLET_CORRECTION_DELETED_PARTICIPANT
            - WALLET_CORRECTION_ETPA_PARTICIPANT
            - RECEIVE_FROM_XBID_WALLET
            - SEND_TO_XBID_WALLET
            - RECEIVE_FROM_AUCTION_WALLET
            - SEND_TO_AUCTION_WALLET
        type:
          type: string
          enum:
            - TRANSFER
            - IDEAL
        amount:
          type: number
        congestionSpreadOrderId:
          type: string
        tradeIds:
          type: array
          items:
            type: string
          uniqueItems: true
        info:
          type: object
          additionalProperties:
            type: string
      required:
        - action
        - amount
        - date
        - participantId
        - tradeIds
    PublicApiWalletEntryPage:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PublicApiWalletEntry'
        nextCursor:
          type: string
      required:
        - data
    PublicApiWalletBalanceDto:
      type: object
      properties:
        balance:
          type: number
          format: double
      required:
        - balance
    TradeApiResponseV2:
      type: object
      properties:
        id:
          type: string
        productType:
          type: string
          enum:
            - ELECTRICITY
            - GAS
        timeblock:
          type: string
          enum:
            - BASELOAD
            - PEAK
            - OFFPEAK
            - INTRADAY
            - EXPOST
            - GOPACS
        buyerId:
          type: string
        sellerId:
          type: string
        orderIdBuy:
          type: string
        orderIdSell:
          type: string
        quantity:
          type: number
        start:
          type: integer
          format: int64
          example: 1694422800000
        end:
          type: integer
          format: int64
          example: 1694422800000
        price:
          type: number
        duration:
          type: number
        executed:
          type: integer
          format: int64
          example: 1694422800000
        type:
          type: string
        buyerEan:
          type: string
        sellerEan:
          type: string
        buyOrderMetadata:
          type: object
          additionalProperties:
            type: string
        sellOrderMetadata:
          type: object
          additionalProperties:
            type: string
        tradeId:
          type: string
        mwhTraded:
          type: number
        tradedForIdcons:
          type: boolean
        traderUsernameBuy:
          type: string
        traderUsernameSell:
          type: string
        reverted:
          type: boolean
      required:
        - id
    TradeEntryPage:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/TradeApiResponseV2'
        nextCursor:
          type: string
      required:
        - data
    RecentTradeItem:
      type: object
      properties:
        id:
          type: string
        productType:
          type: string
          enum:
            - ELECTRICITY
            - GAS
        timeblock:
          type: string
          enum:
            - BASELOAD
            - PEAK
            - OFFPEAK
            - INTRADAY
            - EXPOST
            - GOPACS
        buyerId:
          type: string
        sellerId:
          type: string
        orderIdBuy:
          type: string
        orderIdSell:
          type: string
        quantity:
          type: number
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        price:
          type: number
        duration:
          type: number
        executed:
          type: string
          format: date-time
        type:
          type: string
        buyerEan:
          type: string
        sellerEan:
          type: string
        buyOrderMetadata:
          type: object
          additionalProperties:
            type: string
        sellOrderMetadata:
          type: object
          additionalProperties:
            type: string
        mwhTraded:
          type: number
        tradedForIdcons:
          type: boolean
        traderUsernameBuy:
          type: string
        traderUsernameSell:
          type: string
        reverted:
          type: boolean
      required:
        - buyerId
        - duration
        - end
        - executed
        - id
        - mwhTraded
        - orderIdBuy
        - orderIdSell
        - price
        - productType
        - quantity
        - reverted
        - sellerId
        - start
        - tradedForIdcons
        - traderUsernameBuy
        - traderUsernameSell
        - type
    PublicApiOrderReportEntry:
      type: object
      properties:
        id:
          type: string
        participantId:
          type: string
        participantName:
          type: string
        participantExternalId:
          type: string
        participantIdType:
          type: string
        traderCompanyName:
          type: string
        traderUsername:
          type: string
        counterpartId:
          type: string
        counterpartName:
          type: string
        counterpartExternalId:
          type: string
        counterpartIdType:
          type: string
        reportingId:
          type: string
        reportingIdType:
          type: string
        buySell:
          type: string
        initiatorAggressor:
          type: string
        productType:
          type: string
        productName:
          type: string
        reportReason:
          type: string
        orderId:
          type: string
        orderCreation:
          type: string
          format: date-time
        orderType:
          type: string
        orderEan:
          type: string
        customExpirationTime:
          type: string
          format: date-time
        allowedToBeUsedForIdcons:
          type: boolean
        tradeId:
          type: string
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        orderDuration:
          type: number
          format: double
        orderbookDuration:
          type: number
          format: double
        transactionDate:
          type: string
          format: date-time
        price:
          type: number
          format: double
        orderCapacity:
          type: number
          format: double
        totalQuantity:
          type: number
          format: double
        totalPrice:
          type: number
          format: double
        metadata:
          type: object
          additionalProperties:
            type: string
        congestionId:
          type: string
        tradedForIdcons:
          type: boolean
        reverted:
          type: boolean
      required:
        - allowedToBeUsedForIdcons
        - orderCapacity
        - orderDuration
        - orderbookDuration
        - price
        - totalPrice
        - totalQuantity
    PublicApiOrderReportEntryPage:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PublicApiOrderReportEntry'
        nextCursor:
          type: string
      required:
        - data
    OrderEntry:
      type: object
      properties:
        id:
          type: string
        orderType:
          type: string
          enum:
            - BUY
            - SELL
            - DIRECT
        participantId:
          type: string
        individualId:
          type: string
        productType:
          type: string
          enum:
            - ELECTRICITY
            - GAS
        type:
          type: string
        quantity:
          type: number
        originalQuantity:
          type: number
        created:
          type: integer
          format: int64
          example: 1517406300000
        priority:
          type: integer
          format: int64
          example: 1517406300000
        start:
          type: integer
          format: int64
          example: 1517406300000
        end:
          type: integer
          format: int64
          example: 1517406300000
        timeblock:
          type: string
          enum:
            - BASELOAD
            - PEAK
            - OFFPEAK
            - INTRADAY
            - EXPOST
            - GOPACS
        price:
          type: number
        ean:
          type: string
        customExpirationTime:
          type: integer
          format: int64
          example: 1517406300000
        metadata:
          type: object
          additionalProperties:
            type: string
        duration:
          type: number
        allowedToBeUsedForIdcons:
          type: boolean
        totalPrice:
          type: number
    GopacsOrderResponse:
      type: object
      properties:
        id:
          type: string
        participantId:
          type: string
        individualId:
          type: string
        individualFullName:
          type: string
        type:
          type: string
          enum:
            - BUY
            - SELL
        remainingQuantity:
          type: number
        price:
          type: number
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        ean:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        customExpirationTime:
          type: string
          format: date-time
        created:
          type: string
          format: date-time
        priority:
          type: string
          format: date-time
        initialQuantity:
          type: number
        marketBased:
          type: boolean
        facilityType:
          type: string
        contractId:
          type: string
        usageFraction:
          type: number
        lockedByGridOperator:
          type: boolean
        lockedByTimeStamp:
          type: string
          format: date-time
      required:
        - created
        - ean
        - end
        - id
        - individualFullName
        - individualId
        - initialQuantity
        - lockedByGridOperator
        - marketBased
        - participantId
        - price
        - priority
        - remainingQuantity
        - start
        - type
    CongestionSpreadBucketStatusResponse:
      type: object
      properties:
        clearingId:
          type: string
        etpaClearingId:
          type: string
        orderCallGroups:
          type: array
          items:
            $ref: '#/components/schemas/OrderCallGroupAPIView'
        status:
          type: string
          enum:
            - COMPLETED
            - PENDING
            - FAILED
      required:
        - clearingId
        - etpaClearingId
        - orderCallGroups
        - status
    XbidWalletTransactionApiDto:
      type: object
      properties:
        id:
          type: string
        participantId:
          type: string
        creationDate:
          type: string
          format: date-time
        orderId:
          type: string
        walletAction:
          type: string
          enum:
            - BUY
            - SELL
            - REFUND
            - DEPOSIT
            - WITHDRAWAL
        amount:
          type: number
        tradeIds:
          type: array
          items:
            type: string
          uniqueItems: true
      required:
        - amount
        - creationDate
        - id
        - participantId
        - tradeIds
    XbidTradeApiQueryResponse:
      type: object
      properties:
        tradeId:
          type: string
        xbidTradeId:
          type: integer
          format: int64
        tradeQuantity:
          type: number
        mwhTraded:
          type: number
        tradePrice:
          type: number
        totalPrice:
          type: number
        deliveryStartTime:
          type: string
          format: date-time
        deliveryEndTime:
          type: string
          format: date-time
        executionTime:
          type: string
          format: date-time
        buyOrderId:
          type: string
        sellOrderId:
          type: string
        buyParticipantId:
          type: string
        sellParticipantId:
          type: string
        buyIndividualId:
          type: string
        sellIndividualId:
          type: string
        buyIndividualFullName:
          type: string
        sellIndividualFullName:
          type: string
        counterNemo:
          type: string
        buyDeliveryArea:
          $ref: '#/components/schemas/DeliveryAreaDto'
        sellDeliveryArea:
          $ref: '#/components/schemas/DeliveryAreaDto'
        reverted:
          type: boolean
        buyOrderMetadata:
          type: object
          additionalProperties:
            type: string
        sellOrderMetadata:
          type: object
          additionalProperties:
            type: string
      required:
        - counterNemo
        - deliveryEndTime
        - deliveryStartTime
        - executionTime
        - mwhTraded
        - reverted
        - totalPrice
        - tradeId
        - tradePrice
        - tradeQuantity
        - xbidTradeId
    PageXbidTradeApiQueryResponse:
      type: object
      properties:
        totalElements:
          type: integer
          format: int64
        totalPages:
          type: integer
          format: int32
        first:
          type: boolean
        last:
          type: boolean
        size:
          type: integer
          format: int32
        content:
          type: array
          items:
            $ref: '#/components/schemas/XbidTradeApiQueryResponse'
        number:
          type: integer
          format: int32
        sort:
          $ref: '#/components/schemas/SortObject'
        numberOfElements:
          type: integer
          format: int32
        pageable:
          $ref: '#/components/schemas/PageableObject'
        empty:
          type: boolean
    DeliveryArea:
      type: string
      enum:
        - NL - TTN
        - DE - 50HzT
        - DE - AMP
        - DE - TNG
        - DE - TTG
    PageCustomContent:
      type: object
      properties:
        reportId:
          type: string
          description: Report Id
        participantId:
          type: string
          description: Participant Id
        participantName:
          type: string
          description: Participant Name
        participantExternalId:
          type: string
          description: Participant External Id
        participantIdType:
          type: string
          description: Participant Id Type
        traderCompanyName:
          type: string
          description: Trader Company Name
        traderUsername:
          type: string
          description: Trader Username
        counterpartId:
          type: string
          description: Counterpart Id
        counterpartName:
          type: string
          description: Counterpart Name
        counterpartExternalId:
          type: string
          description: Counterpart External Id
        counterpartIdType:
          type: string
          description: Counterpart Id Type
        reportingId:
          type: string
          description: Reporting Id
        reportingIdType:
          type: string
          description: Reporting Id Type
        buySell:
          type: string
          description: Buy/Sell Indicator
        initiatorAggressor:
          type: string
          description: Initiator/Aggressor Indicator
        productType:
          type: string
          description: Product Type
        productName:
          type: string
          description: Product Name
        reportReason:
          type: string
          description: Report Reason
        orderId:
          type: string
          description: Order Id
        orderCreation:
          type: string
          description: Order Creation Time
        tradingType:
          type: string
          description: Trading Type
        customExpirationTime:
          type: string
          description: Custom Expiration Time
        xbidTradeId:
          type: integer
          format: int64
          description: XBID Trade Id
          example: 0
        tradeId:
          type: string
          description: Trade Id
        deliveryStartTime:
          type: string
          description: Delivery Start Time
        deliveryEndTime:
          type: string
          description: Delivery End Time
        orderDuration:
          type: integer
          format: int32
          description: Order Duration
          example: 0
        orderbookDuration:
          type: integer
          format: int32
          description: Orderbook Duration
          example: 0
        transactionDate:
          type: string
          description: Transaction Date
        unitPrice:
          type: number
          format: double
          description: Unit Price
          example: 0
        orderCapacity:
          type: integer
          format: int32
          description: Order Capacity
          example: 0
        totalQuantity:
          type: integer
          format: int32
          description: Total Quantity
          example: 0
        totalPrice:
          type: number
          format: double
          description: Total Price
          example: 0
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Metadata
        deliveryAreaBuy:
          $ref: '#/components/schemas/DeliveryArea'
          description: Delivery Area Buy
        deliveryAreaSell:
          $ref: '#/components/schemas/DeliveryArea'
          description: Delivery Area Sell
        orderExecution:
          type: string
          description: Order Execution
    PageCustomResponse:
      type: object
      description: Custom response for page object
      properties:
        content:
          type: array
          description: List of content
          items:
            $ref: '#/components/schemas/PageCustomContent'
        pageable:
          $ref: '#/components/schemas/Pageable'
          description: Pagination details
        last:
          type: boolean
          description: Indicates if this is the last page
          example: true
        totalElements:
          type: integer
          format: int64
          description: Total number of elements
          example: 0
        totalPages:
          type: integer
          format: int32
          description: Total number of pages
          example: 0
        first:
          type: boolean
          description: Indicates if this is the first page
          example: true
        size:
          type: integer
          format: int32
          description: Size of the page
          example: 1
        number:
          type: integer
          format: int32
          description: Page number
          example: 0
        sort:
          $ref: '#/components/schemas/PageCustomSort'
          description: Sorting details
        numberOfElements:
          type: integer
          format: int32
          description: Number of elements in the page
          example: 0
        empty:
          type: boolean
          description: Indicates if the content is empty
          example: true
    PageCustomSort:
      type: object
      properties:
        empty:
          type: boolean
          description: Indicates if the sort order is empty
          example: true
        sorted:
          type: boolean
          description: Indicates if the sort order is sorted
          example: false
        unsorted:
          type: boolean
          description: Indicates if the sort order is unsorted
          example: true
    XbidPublicOrderReportApiResponse:
      type: object
      properties:
        reportId:
          type: string
        participantId:
          type: string
        participantName:
          type: string
        participantExternalId:
          type: string
        participantIdType:
          type: string
        traderCompanyName:
          type: string
        traderUsername:
          type: string
        counterpartId:
          type: string
        counterpartName:
          type: string
        counterpartExternalId:
          type: string
        counterpartIdType:
          type: string
        reportingId:
          type: string
        reportingIdType:
          type: string
        buySell:
          type: string
          enum:
            - BUY
            - SELL
        initiatorAggressor:
          type: string
        productType:
          type: string
        productName:
          type: string
        reportReason:
          type: string
        orderId:
          type: string
        orderCreation:
          type: string
          format: date-time
        tradingType:
          type: string
          enum:
            - INTRADAY
        customExpirationTime:
          type: string
          format: date-time
        xbidTradeId:
          type: integer
          format: int64
        xbidOrderId:
          type: integer
          format: int64
        tradeId:
          type: string
        deliveryStartTime:
          type: string
          format: date-time
        deliveryEndTime:
          type: string
          format: date-time
        orderDuration:
          type: number
          format: double
        orderbookDuration:
          type: number
          format: double
        transactionDate:
          type: string
          format: date-time
        unitPrice:
          type: number
        orderCapacity:
          type: number
        totalQuantity:
          type: number
        totalPrice:
          type: number
        metadata:
          type: object
          additionalProperties:
            type: string
        deliveryAreaBuy:
          $ref: '#/components/schemas/DeliveryAreaDto'
        deliveryAreaSell:
          $ref: '#/components/schemas/DeliveryAreaDto'
        orderExecution:
          type: string
          enum:
            - NON
            - FOK
            - IOC
      required:
        - buySell
        - deliveryEndTime
        - deliveryStartTime
        - orderCapacity
        - orderDuration
        - orderExecution
        - orderId
        - orderbookDuration
        - participantId
        - reportId
        - reportingId
        - reportingIdType
        - totalQuantity
        - tradingType
        - unitPrice
    BasketId:
      type: object
      properties:
        identifier:
          type: string
      required:
        - identifier
    OrderId:
      type: object
      properties:
        identifier:
          type: string
      required:
        - identifier
    XbidOrderStatusEntry:
      type: object
      properties:
        orderId:
          $ref: '#/components/schemas/OrderId'
          description: >-
            The orderId is created by Order api as a response from put/post
            order requests.
        basketId:
          $ref: '#/components/schemas/BasketId'
          description: The id of the Basket order.
        individualId:
          type: string
          description: Identifier of the individual that created the order.
        participantId:
          type: string
          description: >-
            The participant identifier of the participant to which the order
            belongs.
        currentStatus:
          $ref: '#/components/schemas/XbidOrderStatusItem'
          description: The last situation of order.
        history:
          type: array
          description: The whole processes of order.
          items:
            $ref: '#/components/schemas/XbidOrderStatusItem'
      required:
        - currentStatus
        - history
        - individualId
        - orderId
        - participantId
    XbidOrderStatusItem:
      type: object
      properties:
        status:
          type: string
          description: The status of order status item
          enum:
            - CREATED
            - UPDATED
            - COMPLETED
            - CANCELLED
            - FAILED
            - XBIDRECEIVED
            - XBIDACCEPTED
            - HIBERNATE
            - ACTIVE
          example: >-
            CREATED / UPDATED / COMPLETED / CANCELLED / FAILED / XBIDRECEIVED /
            XBIDACCEPTED
        reason:
          type: string
          description: The reason of the UPDATED / FAILED / CANCELLED status.
        createdTime:
          type: integer
          format: int64
          description: The time of when this order status item has been processed.
          example: 1576663249398
      required:
        - createdTime
        - status
    IcebergDetails:
      type: object
      properties:
        showCapacity:
          type: number
        pricePerDelta:
          type: number
        hiddenCapacity:
          type: number
        originalUnitPrice:
          type: number
      required:
        - hiddenCapacity
        - originalUnitPrice
        - pricePerDelta
        - showCapacity
    XbidOrderApiResponse:
      type: object
      properties:
        xbidOrderId:
          type: integer
          format: int64
        id:
          type: string
        orderType:
          type: string
          enum:
            - BUY
            - SELL
        xbidOrderType:
          type: string
          enum:
            - REGULAR
            - ICEBERG
        participantId:
          type: string
        individualId:
          type: string
        individualFullName:
          type: string
        capacity:
          type: number
        originalCapacity:
          type: number
        created:
          type: integer
          format: int64
          example: 1517406300000
        priority:
          type: integer
          format: int64
          example: 1517406300000
        deliveryStartTime:
          type: integer
          format: int64
          example: 1517406300000
        deliveryEndTime:
          type: integer
          format: int64
          example: 1517406300000
        unitPrice:
          type: number
        customExpirationTime:
          type: integer
          format: int64
          example: 1517406300000
        metadata:
          type: object
          additionalProperties:
            type: string
        totalPrice:
          type: number
        orderDeliveryArea:
          $ref: '#/components/schemas/DeliveryAreaDto'
        originatingDeliveryArea:
          type: string
          enum:
            - AT
            - BG
            - BE
            - CZ
            - DE1
            - DE2
            - DE3
            - DE4
            - DK1
            - DK2
            - EE
            - ES
            - FI
            - FR
            - GR
            - HR
            - HU
            - IT1
            - IT2
            - IT3
            - IT4
            - IT5
            - IT6
            - IT7
            - IT8
            - IT9
            - IT10
            - IT_AT
            - IT_CH
            - IT_CP
            - IT_FR
            - IT_GR
            - IT_ME
            - IT_SI
            - LT
            - LV
            - MA
            - NL
            - NO1
            - NO2
            - NO3
            - NO4
            - NO5
            - PL
            - PT
            - RO
            - RU
            - SE1
            - SE2
            - SE3
            - SE4
            - SI
            - SK
        orderExecution:
          type: string
          enum:
            - NON
            - FOK
            - IOC
        orderStatus:
          type: string
          enum:
            - ACTIVE
            - HIBERNATE
            - WITHDRAWN
        localMarket:
          type: boolean
        revisionNo:
          type: integer
          format: int64
        allowedForLocalMarket:
          type: boolean
        icebergDetails:
          $ref: '#/components/schemas/IcebergDetails'
      required:
        - allowedForLocalMarket
        - capacity
        - deliveryEndTime
        - deliveryStartTime
        - localMarket
        - orderType
        - originalCapacity
        - totalPrice
        - unitPrice
    OrderQueryResponse:
      type: object
      properties:
        xbidOrderId:
          type: integer
          format: int64
        id:
          $ref: '#/components/schemas/OrderId'
        revisionNo:
          type: integer
          format: int64
        orderType:
          type: string
          enum:
            - BUY
            - SELL
        xbidOrderType:
          type: string
          enum:
            - REGULAR
            - ICEBERG
        participantId:
          type: string
        individualId:
          type: string
        capacity:
          type: number
        originalCapacity:
          type: number
        created:
          type: string
          format: date-time
        priority:
          type: string
          format: date-time
        deliveryStartTime:
          type: string
          format: date-time
        deliveryEndTime:
          type: string
          format: date-time
        unitPrice:
          type: number
        totalPrice:
          type: number
        customExpiration:
          type: string
          format: date-time
        metadata:
          type: object
          additionalProperties:
            type: string
        localViewDeliveryArea:
          type: string
          enum:
            - AT
            - BG
            - BE
            - CZ
            - DE1
            - DE2
            - DE3
            - DE4
            - DK1
            - DK2
            - EE
            - ES
            - FI
            - FR
            - GR
            - HR
            - HU
            - IT1
            - IT2
            - IT3
            - IT4
            - IT5
            - IT6
            - IT7
            - IT8
            - IT9
            - IT10
            - IT_AT
            - IT_CH
            - IT_CP
            - IT_FR
            - IT_GR
            - IT_ME
            - IT_SI
            - LT
            - LV
            - MA
            - NL
            - NO1
            - NO2
            - NO3
            - NO4
            - NO5
            - PL
            - PT
            - RO
            - RU
            - SE1
            - SE2
            - SE3
            - SE4
            - SI
            - SK
        originatingDeliveryArea:
          type: string
          enum:
            - AT
            - BG
            - BE
            - CZ
            - DE1
            - DE2
            - DE3
            - DE4
            - DK1
            - DK2
            - EE
            - ES
            - FI
            - FR
            - GR
            - HR
            - HU
            - IT1
            - IT2
            - IT3
            - IT4
            - IT5
            - IT6
            - IT7
            - IT8
            - IT9
            - IT10
            - IT_AT
            - IT_CH
            - IT_CP
            - IT_FR
            - IT_GR
            - IT_ME
            - IT_SI
            - LT
            - LV
            - MA
            - NL
            - NO1
            - NO2
            - NO3
            - NO4
            - NO5
            - PL
            - PT
            - RO
            - RU
            - SE1
            - SE2
            - SE3
            - SE4
            - SI
            - SK
        orderExecutionRestrictionType:
          type: string
          enum:
            - NON
            - FOK
            - IOC
        orderStatus:
          type: string
          enum:
            - ACTIVE
            - HIBERNATE
            - WITHDRAWN
        allowedForLocalMarket:
          type: boolean
        icebergDetails:
          $ref: '#/components/schemas/IcebergDetails'
      required:
        - allowedForLocalMarket
        - capacity
        - deliveryEndTime
        - deliveryStartTime
        - orderType
        - originalCapacity
        - totalPrice
        - unitPrice
    ContractViewQueryResponse:
      type: object
      properties:
        product:
          type: string
        contractId:
          type: integer
          format: int64
        deliveryArea:
          $ref: '#/components/schemas/DeliveryAreaDto'
        startTimeDeliveryPeriod:
          type: integer
          format: int64
          example: 1517406300000
        endTimeDeliveryPeriod:
          type: integer
          format: int64
          example: 1517406300000
        startTrading:
          type: integer
          format: int64
          example: 1517406300000
        endTrading:
          type: integer
          format: int64
          example: 1517406300000
      required:
        - contractId
        - deliveryArea
        - endTimeDeliveryPeriod
        - product
        - startTimeDeliveryPeriod
    PublicAnnouncementEntry:
      type: object
      properties:
        id:
          type: string
        message:
          type: string
        created:
          type: string
          format: date-time
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        active:
          type: boolean
        startDownTime:
          type: string
          format: date-time
        endDownTime:
          type: string
          format: date-time
    Address:
      type: object
      properties:
        street:
          type: string
        houseNumber:
          type: string
        postalCode:
          type: string
        city:
          type: string
        country:
          type: string
        ean:
          type: string
        invoice:
          type: boolean
    Contact:
      type: object
      properties:
        name:
          type: string
        email:
          type: string
        telephone:
          type: string
        comment:
          type: string
        receivingEmail:
          type: boolean
        mailType:
          type: string
          enum:
            - GLOBAL
            - ETPA
            - ACER
        third:
          type: boolean
          deprecated: true
        invoice:
          type: boolean
    ParticipantDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        kvK:
          type: string
        iban:
          type: string
        bic:
          type: string
        externalId:
          type: string
        externalIdType:
          type: string
          enum:
            - ACER
            - LEI
            - EIC
            - GLN
            - BIC
        recipientId:
          type: string
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/Address'
        maxSellE:
          type: number
        maxBuyE:
          type: number
        maxSellG:
          type: number
        maxBuyG:
          type: number
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
        broker:
          type: boolean
        pvPartyParticipant:
          type: boolean
        intraday:
          type: boolean
        expost:
          type: boolean
        gridOperator:
          type: boolean
        enappsys:
          type: boolean
        idcons:
          type: boolean
        representedBy:
          type: string
        vatWarehouse:
          type: boolean
        vatNumber:
          type: string
        walletBalance:
          type: number
        xbidEnabled:
          type: boolean
        brpDeliveryAreas:
          type: array
          items:
            type: string
      required:
        - id
        - xbidEnabled
    IndividualDto:
      type: object
      properties:
        id:
          type: string
        username:
          type: string
        firstName:
          type: string
        prefix:
          type: string
        lastName:
          type: string
        fullName:
          type: string
        telephone:
          type: string
        email:
          type: string
        participant:
          $ref: '#/components/schemas/ParticipantDto'
        enabled:
          type: boolean
        locked:
          type: boolean
        authorities:
          type: array
          items:
            type: string
      required:
        - authorities
        - enabled
        - fullName
        - id
        - locked
        - username
    OrderStatusEntry:
      type: object
      properties:
        orderId:
          type: string
          description: >-
            The orderId is the created by Order api as a response from put/post
            order request.
        basketId:
          $ref: '#/components/schemas/BasketId'
          description: The id of the Basket order.
        individualId:
          type: string
          description: Identifier of the individual that created the order.
        participantId:
          type: string
          description: >-
            The participant identifier of the participant to which the order
            belongs.
        currentStatus:
          $ref: '#/components/schemas/OrderStatusItem'
          description: The last situation of order.
        history:
          type: array
          description: The whole processes of order.
          items:
            $ref: '#/components/schemas/OrderStatusItem'
      required:
        - currentStatus
        - history
        - individualId
        - orderId
        - participantId
    OrderStatusItem:
      type: object
      properties:
        status:
          type: string
          description: The status of order status item
          enum:
            - CREATED
            - UPDATED
            - COMPLETED
            - CANCELLED
            - FAILED
            - MATCHED
          example: CREATED / UPDATED / COMPLETED / CANCELLED / FAILED
        reason:
          type: string
          description: The reason of the FAILED / CANCELLED status.
        createdTime:
          type: integer
          format: int64
          description: The time of this order status item has been processed.
          example: 1576663249398
      required:
        - createdTime
        - status
    OnHoldOrderEntry:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/OnHoldOrderId'
        orderType:
          type: string
          enum:
            - BUY
            - SELL
            - DIRECT
        participantId:
          type: string
        individualId:
          type: string
        productType:
          type: string
          enum:
            - ELECTRICITY
            - GAS
        type:
          type: string
        quantity:
          type: number
        originalQuantity:
          type: number
        created:
          type: integer
          format: int64
          example: 1517406300000
        priority:
          type: integer
          format: int64
          example: 1517406300000
        start:
          type: integer
          format: int64
          example: 1517406300000
        end:
          type: integer
          format: int64
          example: 1517406300000
        timeblock:
          type: string
          enum:
            - BASELOAD
            - PEAK
            - OFFPEAK
            - INTRADAY
            - EXPOST
            - GOPACS
        price:
          type: number
        ean:
          type: string
        customExpirationTime:
          type: integer
          format: int64
          example: 1517406300000
        metadata:
          type: object
          additionalProperties:
            type: string
        allowedToBeUsedForIdcons:
          type: boolean
        duration:
          type: number
        totalPrice:
          type: number
      required:
        - created
        - end
        - id
        - individualId
        - orderType
        - originalQuantity
        - participantId
        - price
        - priority
        - productType
        - quantity
        - start
        - timeblock
        - totalPrice
        - type
    OnHoldOrderId:
      type: object
      properties:
        identifier:
          type: string
      required:
        - identifier
  securitySchemes:
    api-key:
      type: apiKey
      name: api_key
      in: header
x-tagGroups:
  - name: Congestion Management
    tags:
      - Congestion Management
      - Congestion State Check
  - name: GOPACS
    tags:
      - GOPACS Orderbook Locking
      - GOPACS Orders v2
      - GOPACS Orders – Grid Operator v2
  - name: Order Management
    tags:
      - On Hold Orders
      - Order Status
      - Orders v2
  - name: Trades
    tags:
      - Trades v2
      - Trades v3
  - name: Platform
    tags:
      - Platform Status
      - User Management
      - Reporting v2
      - Reporting v3
      - Wallet v2
      - Wallet v3
  - name: XBID
    tags:
      - XBID Contracts v1
      - XBID Orders v1
      - XBID Order Status v1
      - XBID Public Trades v1
      - XBID Reporting v1
      - XBID Status v1
      - XBID Trades v1
      - XBID Trade Reports v1
      - XBID Wallet v1
  - name: Other
    tags:
      - XBID Public Trade API v2
      - XBID Public Trade API v1
