Nord Pool · AsyncAPI Specification

Nord Pool Intraday Trading API (WebSocket/STOMP)

Version 1.0

Nord Pool's Intraday Trading API is a genuine WebSocket API. Clients open secure WebSocket connections (port 443) and speak STOMP over them to two web services - a Market Data service (public market data streams such as contracts, order books / local views, capacities, delivery areas, and tickers) and a Trading service (order entry, modification, and private execution/trade reports) - for continuous intraday power trading on the Nord Pool platform. Authentication uses a token issued by Nord Pool's SSO for API credentials provisioned by Nord Pool (idapi@nordpoolgroup.com); access requires being a Nord Pool trading customer. Nord Pool also ships a newer Intraday Binary PMD v2 market-data feed over WebSockets using Protocol Buffers. This AsyncAPI document is MODELED - the WebSocket+STOMP transport, dual Market Data / Trading connections, heartbeats, and token refresh are confirmed from Nord Pool's public GitHub examples (NordPool/public-intraday-api and NordPool/public-intraday-api-example) and the developer portal, but exact host names are environment-specific and provided during onboarding, and channel names below are representative rather than verbatim. Consult https://developers.nordpoolgroup.com/ for the authoritative topic list.

View Spec View on GitHub Day-Ahead PricesElectricityEnergy MarketsPower ExchangeIntraday TradingMarket DataEuropeAsyncAPIWebhooksEvents

Channels

streaming/contracts
subscribe receiveContracts
Receive contract definitions and updates
Tradable intraday contracts and their state (representative topic; modeled).
streaming/localview
subscribe receiveLocalView
Receive order book updates
Order book / local market view for the member's delivery areas (representative topic; modeled).
streaming/capacities
subscribe receiveCapacities
Receive area-to-area capacity updates
Cross-border transmission capacities between areas (representative topic; modeled).
streaming/ticker
subscribe receiveTicker
Receive public trade ticker events
Public trade ticker for the intraday market (representative topic; modeled).
orderEntry
publish sendOrder
Send an order entry request
Order entry destination on the Trading service - submit, modify, and cancel intraday orders (representative destination; modeled).
orderExecutionReport
subscribe receiveExecutionReport
Receive private order execution reports
Private execution reports for the member's own orders (representative destination; modeled).
privateTrade
subscribe receivePrivateTrade
Receive private trade confirmations
Private trade confirmations for the member (representative destination; modeled).

Messages

contract
Intraday contract
A tradable intraday contract definition or state change.
orderBookUpdate
Order book update
Aggregated order book / local view rows for subscribed areas.
capacity
Transmission capacity
Available transmission capacity between two delivery areas.
tickerTrade
Ticker trade
Public information about an executed intraday trade.
orderEntryRequest
Order entry request
Order submission, modification, or cancellation sent by the member.
executionReport
Execution report
Private report on the lifecycle of the member's order.
privateTrade
Private trade
Private confirmation of the member's executed trade.

Servers

stomp
marketData wss://{marketDataHost}
Intraday Market Data web service. Streams public market data topics (contracts, local views / order books, capacities, delivery areas, configuration, ticker). Host provided at onboarding; placeholder used here (modeled).
stomp
trading wss://{tradingHost}
Intraday Trading web service. Accepts order entry and modification requests and streams private execution reports and trades. Host provided at onboarding; placeholder used here (modeled).

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: Nord Pool Intraday Trading API (WebSocket/STOMP)
  version: '1.0'
  description: >-
    Nord Pool's Intraday Trading API is a genuine WebSocket API. Clients open
    secure WebSocket connections (port 443) and speak STOMP over them to two
    web services - a Market Data service (public market data streams such as
    contracts, order books / local views, capacities, delivery areas, and
    tickers) and a Trading service (order entry, modification, and private
    execution/trade reports) - for continuous intraday power trading on the
    Nord Pool platform. Authentication uses a token issued by Nord Pool's SSO
    for API credentials provisioned by Nord Pool (idapi@nordpoolgroup.com);
    access requires being a Nord Pool trading customer. Nord Pool also ships a
    newer Intraday Binary PMD v2 market-data feed over WebSockets using
    Protocol Buffers. This AsyncAPI document is MODELED - the WebSocket+STOMP
    transport, dual Market Data / Trading connections, heartbeats, and token
    refresh are confirmed from Nord Pool's public GitHub examples
    (NordPool/public-intraday-api and NordPool/public-intraday-api-example)
    and the developer portal, but exact host names are environment-specific
    and provided during onboarding, and channel names below are
    representative rather than verbatim. Consult
    https://developers.nordpoolgroup.com/ for the authoritative topic list.
  contact:
    name: Nord Pool Intraday API Support
    email: idapi@nordpoolgroup.com
    url: https://developers.nordpoolgroup.com/
  x-transport-notes: >-
    Transport is WebSocket (wss, port 443) carrying STOMP frames - this is a
    true bidirectional WebSocket API, unlike HTTP streaming or SSE. Clients
    maintain STOMP heartbeats and refresh SSO access tokens over the live
    connection. Hosts are per-environment (test and production) and are
    issued to onboarded trading customers, so placeholder hosts are used
    below.
externalDocs:
  description: Nord Pool Developer Portal - Intraday introduction
  url: https://developers.nordpoolgroup.com/v1.0/docs/id-introduction
defaultContentType: application/json
servers:
  marketData:
    url: wss://{marketDataHost}
    protocol: stomp
    description: >-
      Intraday Market Data web service. Streams public market data topics
      (contracts, local views / order books, capacities, delivery areas,
      configuration, ticker). Host provided at onboarding; placeholder used
      here (modeled).
    variables:
      marketDataHost:
        description: Environment-specific Market Data service host issued by Nord Pool.
        default: intraday-marketdata.example.nordpoolgroup.com
    security:
      - ssoToken: []
  trading:
    url: wss://{tradingHost}
    protocol: stomp
    description: >-
      Intraday Trading web service. Accepts order entry and modification
      requests and streams private execution reports and trades. Host
      provided at onboarding; placeholder used here (modeled).
    variables:
      tradingHost:
        description: Environment-specific Trading service host issued by Nord Pool.
        default: intraday-trading.example.nordpoolgroup.com
    security:
      - ssoToken: []
channels:
  streaming/contracts:
    description: Tradable intraday contracts and their state (representative topic; modeled).
    subscribe:
      operationId: receiveContracts
      summary: Receive contract definitions and updates
      message:
        $ref: '#/components/messages/contract'
  streaming/localview:
    description: >-
      Order book / local market view for the member's delivery areas
      (representative topic; modeled).
    subscribe:
      operationId: receiveLocalView
      summary: Receive order book updates
      message:
        $ref: '#/components/messages/orderBookUpdate'
  streaming/capacities:
    description: Cross-border transmission capacities between areas (representative topic; modeled).
    subscribe:
      operationId: receiveCapacities
      summary: Receive area-to-area capacity updates
      message:
        $ref: '#/components/messages/capacity'
  streaming/ticker:
    description: Public trade ticker for the intraday market (representative topic; modeled).
    subscribe:
      operationId: receiveTicker
      summary: Receive public trade ticker events
      message:
        $ref: '#/components/messages/tickerTrade'
  orderEntry:
    description: >-
      Order entry destination on the Trading service - submit, modify, and
      cancel intraday orders (representative destination; modeled).
    publish:
      operationId: sendOrder
      summary: Send an order entry request
      message:
        $ref: '#/components/messages/orderEntryRequest'
  orderExecutionReport:
    description: >-
      Private execution reports for the member's own orders (representative
      destination; modeled).
    subscribe:
      operationId: receiveExecutionReport
      summary: Receive private order execution reports
      message:
        $ref: '#/components/messages/executionReport'
  privateTrade:
    description: Private trade confirmations for the member (representative destination; modeled).
    subscribe:
      operationId: receivePrivateTrade
      summary: Receive private trade confirmations
      message:
        $ref: '#/components/messages/privateTrade'
components:
  securitySchemes:
    ssoToken:
      type: userPassword
      description: >-
        API credentials issued by Nord Pool (idapi@nordpoolgroup.com) are
        exchanged with the Nord Pool SSO for an access token, which is
        presented when opening the STOMP connection and refreshed while the
        WebSocket session is live.
  messages:
    contract:
      name: contract
      title: Intraday contract
      summary: A tradable intraday contract definition or state change.
      payload:
        type: object
        additionalProperties: true
    orderBookUpdate:
      name: orderBookUpdate
      title: Order book update
      summary: Aggregated order book / local view rows for subscribed areas.
      payload:
        type: object
        additionalProperties: true
    capacity:
      name: capacity
      title: Transmission capacity
      summary: Available transmission capacity between two delivery areas.
      payload:
        type: object
        additionalProperties: true
    tickerTrade:
      name: tickerTrade
      title: Ticker trade
      summary: Public information about an executed intraday trade.
      payload:
        type: object
        additionalProperties: true
    orderEntryRequest:
      name: orderEntryRequest
      title: Order entry request
      summary: Order submission, modification, or cancellation sent by the member.
      payload:
        type: object
        additionalProperties: true
    executionReport:
      name: executionReport
      title: Execution report
      summary: Private report on the lifecycle of the member's order.
      payload:
        type: object
        additionalProperties: true
    privateTrade:
      name: privateTrade
      title: Private trade
      summary: Private confirmation of the member's executed trade.
      payload:
        type: object
        additionalProperties: true