openapi: 3.0.4
info:
title: Nord Pool Market Data API
description: 'Nord Pool''s Market Data API (v2) provides programmatic access to European power exchange
market data: day-ahead auction prices, price indices, volumes, capacities, flows and aggregated bid
curves; intraday continuous statistics, orders, trades and order books; balance market (mFRR) data;
power system data (production, consumption, forecasts, hydro reservoir reserves); system price and
turnover; and exchange rates. This document is the provider''s published OpenAPI definition, retrieved
from https://data-api.nordpoolgroup.com/swagger/v2/swagger.json on 2026-07-11. Access to the data
requires a paid Nord Pool Power Data Services subscription; authentication is OAuth 2.0 against https://sts.nordpoolgroup.com.'
version: v2
contact:
name: Nord Pool Power Data Services
url: https://www.nordpoolgroup.com/en/services/power-market-data-services/
paths:
/api/v2/Auction/{market}/BidCurves/ByRegion:
get:
tags:
- Auction
summary: Aggregated bidding curves
description: "Returns aggregated bid curves for a date and region.\n \nAggregated bidding curves\
\ explains why the price forms as it does in a region for a market. If we plot aggregated supply\
\ and demand curves in the same chart, then the intersection of these two curves should happen\
\ on the realized price point.\n \nSome regions contain multiple delivery areas. In\
\ this case, the intersection point will explain what the price would have been if no capacity\
\ constraint existed in between the sub-areas. Usually regions consisting of multiple delivery\
\ areas are aggregated if the amount of trading activity in the sub-areas is small enough that\
\ it would reveal the trading strategy of the few traders active in the area. \n \n\
This endpoint returns aggregated bidding curve data for each delivery period for the queried CET\
\ date. \n\n### Response field descriptions\n\n#### aggregatedOrderPositions\n- **exportVolume**:\
\ volume exported from the region and period\n- **importVolume**: volume imported to the region\
\ and period\n- **realizedCurveDemandVolume**: volume of activated demand curve orders for the\
\ region, period, and resolution\n- **realizedCurveSupplyVolume**: volume of activated sell curve\
\ orders for the region, period, and resolution\n- **realizedNonCurveDemandVolume**: volume of\
\ activated buy blocks for the region, period, and resolution\n- **realizedNonCurveSupplyVolume**:\
\ volume of activated sell blocks for the region, period, and resolution\n- **demandCurve**: list\
\ of aggregated demand (=buy) curve order volume for price points\n- **supplyCurve**: list of\
\ aggregated supply (=sell) curve order volume for price points\n- **aggregatedDemandCurve**:\
\ list of aggregated demand price points. Consist of adjusted demand curve plus net export if\
\ net export > 0, plus realized non curve demand volume for the resolution as well as demand curve\
\ volume and demand non curve volume from other resolutions. Only generated for the smallest resolution\
\ period\n- **aggregatedSupplyCurve**: list of aggregated supply price points. Consist of adjusted\
\ supply curve plus net import if net import > 0, plus realized non curve supply volume for the\
\ resolution as well as supply curve volume and supply non curve volume from other resolutions.\
\ Only generated for the smallest resolution period\n \n#### blockOrders\n- **side**:\
\ Buy or Sell\n- **exclusiveGroupId**: if not null, then this block is part of an exclusive group.\
\ Group all blocks by exclusive group id to see the exclusive group.\n- **minimumAcceptanceRatio**:\
\ the minimum acceptance ratio needed for the block to activate. Typically in the 0.5-1 range,\
\ where 0.5 = 50% of the volume needs to be filled to activate\n- **linkedOrderId**: if not null,\
\ then this block will only activate if the linked block order with this id activates. To find\
\ the parent, find the block order with the corresponding id.\n- **price**: the average price\
\ for the block order to activate\n- **paradoxicallyRejected**: if true, then the block restrictions\
\ are within the correct price and volume limits, but activating the block would cause price and\
\ volume to shift enough to disqualify the block from activation.\n- **actualAcceptanceRatio**:\
\ the ratio of the block that was accepted, in a range of 0 - 1. 1 = 100% of volume accepted.\n\
- **intervals**: periods for the block, with corresponding volumes and accepted volumes."
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/auction/day-ahead/aggregated-bid-curves?deliveryDate=latest&bidCurveArea=SE
parameters:
- name: market
in: path
required: true
schema:
$ref: '#/components/schemas/AggregatedBidCurveMarkets'
- name: region
in: query
required: true
schema:
$ref: '#/components/schemas/ClusterType'
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiAggregatedCluster'
application/json:
schema:
$ref: '#/components/schemas/ApiAggregatedCluster'
text/json:
schema:
$ref: '#/components/schemas/ApiAggregatedCluster'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/Capacities/ByAreas:
get:
tags:
- Auction
summary: ATC Capacities
description: "ATC capacities constrains how much power can flow in between two areas. The matching\
\ algorithm takes these capacities into account when optimizing power flow from low price to high\
\ price areas. Note that for some regions in some markets, flow based capacity constraints are\
\ used instead or in combination with ATC capacities.\n \nCapacities are given for\
\ each delivery period for the delivery date in question, and are separated into import and export\
\ capacities.\n \n### Response field descriptions\n \n**importsByConnection**\n\
- **area**: the area imported from\n- **connection**: the named connection to the import area.\
\ In some cases, multiple capacity values exist in between two areas - if that's the case, then\
\ connection will be used to distinguish the values.\n- **capacity**: the max MW that can be imported\
\ on this connection\n- **lossFactor**: in case there is a loss on the cable, then the loss factor\
\ tells how much power will be lost. Given a loss factor of 0.02 then 2% of the power gets lost\
\ in transit. If we put in 100 MW on the exporting side then 98MW arrives in the import area.\
\ \n- **rampingRestriction**: some connections can't change the power flow too quickly. In these\
\ cases, a ramping restriction will be present. Ramping restrictions are given in MW, telling\
\ how much capacity can change from the previous period. If we have a ramping value of 100 MW,\
\ then going from delivery period 01:00 to 02:00, then the flow value can only change +/- the\
\ ramping value from the previous period.\n- **alreadyAllocatedCapacity**: capacity which is already\
\ in use. If ramping restrictions exist, then the already allocated capacity needs to be taken\
\ into account. This is mostly relevant for intraday auctions where there is planned flows already\
\ in place.\n \n**exportsByConnection**\n- **area**: the area exported to\n- **connection**:\
\ the named connection to the export area. In some cases, multiple capacity values exist in between\
\ two areas - if that's the case, then connection will be used to distinguish the values.\n- **capacity**:\
\ the max MW that can be exported on this connection\n- **lossFactor**: in case there is a loss\
\ on the cable, then the loss factor tells how much power will be lost. Given a loss factor of\
\ 0.02 then 2% of the power gets lost in transit. If we put in 100 MW on the exporting side then\
\ 98MW arrives in the import area. \n- **rampingRestriction**: some connections can't change\
\ the power flow too quickly. In these cases, a ramping restriction will be present. Ramping restrictions\
\ are given in MW, telling how much capacity can change from the previous period. If we have a\
\ ramping value of 100 MW, then going from delivery period 01:00 to 02:00, then the flow value\
\ can only change +/- the ramping value from the previous period.\n- **alreadyAllocatedCapacity**:\
\ capacity which is already in use. If ramping restrictions exist, then the already allocated\
\ capacity needs to be taken into account. This is mostly relevant for intraday auctions where\
\ there is planned flows already in place.\n \n**importGroupRestriction**\n- **areas**:\
\ the areas affected by this restriction\n- **capacity**: the total import capacity that is possible\
\ when summing together all area capacities. This is generally larger than a single area capacity,\
\ but smaller than the sum of areas.\n\n**exportGroupRestriction**\n- **areas**: the areas affected\
\ by this restriction\n- **capacity**: the total import capacity that is possible when summing\
\ together all area capacities. This is generally larger than a single area capacity, but smaller\
\ than the sum of areas.\n\n**externalImportConstraint**: external import constraints limit the\
\ bidding zone net position which represents the total net exchange of the BZ with its neighbors\
\ both in FlowBased and ATC network models. The net position is defined as sum \\(export flow\\\
) - sum \\(import flow\\), and must be higher or equal to -\\(external import constraint\\).\n\
\ \n**externalExportConstraint**: external export constraints limit the bidding zone\
\ net position which represents the total net exchange of the BZ with its neighbors both in FlowBased\
\ and ATC network models. The net position is defined as sum \\(export flow\\) - sum \\(import\
\ flow\\), and must be less or equal to \\(external export constraint\\).\n \n**totalImport**:\
\ the total available import capacity, taking into account import group restrictions if any exist.\n\
\ \n**totalExport**: the total available export capacity, taking into account export\
\ group restrictions if any exist.\n \n**maxNtcValues**: a list of the maximum capacity\
\ value possible for certain connections. \n- **areaFrom**: area which electricity is flowing\
\ from\n- **areaTo**: area which electricity is flowing to \n- **connection**: name of connection,\
\ if multiple connections exists in between two areas\n- **maxNtc**: the net transfer capacity\
\ max value for this connection"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/auction/day-ahead/capacities?deliveryDate=latest&deliveryArea=EE
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionCapacityMarkets'
- name: areas
in: query
description: "Comma-separated list of areas (e.g., NO1, NO2). \n\nSupported: SE(legacy), NO1,\
\ NO1A, NO2, NO2_ND, NO2_NK, NO2_SK, NO2A, NO3, NO4, NO5, SE1, SE2, SE3, SE3_FS, SE3_KS, SE3_SWL,\
\ SE4, SE4_BC, SE4_NB, SE4_SP, SE4_SWL,\nFI, FI_EL, FI_FS, DK1, DK1_CO, DK1_DE, DK1_KS, DK1_SB,\
\ DK1_SK, DK1A, DK2, DK2_KO, DK2_SB, EE, LT, LV, AT, BE, DE_BC, DE_DK1, DE_KO, DE_NK, FR, GER,\
\ NL,\nNL_CO, NL_ND, PL, PL_LP, PL_SP, TEL, BG, RO_BG, UK"
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionCapacity'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionCapacity'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionCapacity'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/Capacities/Yearly/ByArea:
get:
tags:
- Auction
summary: Yearly ATC capacities
description: "Returns a list of auction capacities for a market, year and one area.\n \
\ \n### Response field descriptions\n \n**importsByConnection**\n- **area**: the area\
\ imported from\n- **connection**: the named connection to the import area. In some cases, multiple\
\ capacity values exist in between two areas - if that's the case, then connection will be used\
\ to distinguish the values.\n- **capacity**: the max MW that can be imported on this connection\n\
- **lossFactor**: in case there is a loss on the cable, then the loss factor tells how much power\
\ will be lost. Given a loss factor of 0.02 then 2% of the power gets lost in transit. If we put\
\ in 100 MW on the exporting side then 98MW arrives in the import area. \n- **rampingRestriction**:\
\ some connections can't change the power flow too quickly. In these cases, a ramping restriction\
\ will be present. Ramping restrictions are given in MW, telling how much capacity can change\
\ from the previous period. If we have a ramping value of 100 MW, then going from delivery period\
\ 01:00 to 02:00, then the flow value can only change +/- the ramping value from the previous\
\ period.\n- **alreadyAllocatedCapacity**: capacity which is already in use. If ramping restrictions\
\ exist, then the already allocated capacity needs to be taken into account. This is mostly relevant\
\ for intraday auctions where there is planned flows already in place.\n \n**exportsByConnection**\n\
- **area**: the area exported to\n- **connection**: the named connection to the export area. In\
\ some cases, multiple capacity values exist in between two areas - if that's the case, then connection\
\ will be used to distinguish the values.\n- **capacity**: the max MW that can be exported on\
\ this connection\n- **lossFactor**: in case there is a loss on the cable, then the loss factor\
\ tells how much power will be lost. Given a loss factor of 0.02 then 2% of the power gets lost\
\ in transit. If we put in 100 MW on the exporting side then 98MW arrives in the import area.\
\ \n- **rampingRestriction**: some connections can't change the power flow too quickly. In these\
\ cases, a ramping restriction will be present. Ramping restrictions are given in MW, telling\
\ how much capacity can change from the previous period. If we have a ramping value of 100 MW,\
\ then going from delivery period 01:00 to 02:00, then the flow value can only change +/- the\
\ ramping value from the previous period.\n- **alreadyAllocatedCapacity**: capacity which is already\
\ in use. If ramping restrictions exist, then the already allocated capacity needs to be taken\
\ into account. This is mostly relevant for intraday auctions where there is planned flows already\
\ in place.\n \n**importGroupRestriction**\n- **areas**: the areas affected by this\
\ restriction\n- **capacity**: the total import capacity that is possible when summing together\
\ all area capacities. This is generally larger than a single area capacity, but smaller than\
\ the sum of areas.\n\n**exportGroupRestriction**\n- **areas**: the areas affected by this restriction\n\
- **capacity**: the total import capacity that is possible when summing together all area capacities.\
\ This is generally larger than a single area capacity, but smaller than the sum of areas.\n\n\
**externalImportConstraint**: external import constraints limit the bidding zone net position\
\ which represents the total net exchange of the BZ with its neighbors both in FlowBased and ATC\
\ network models. The net position is defined as sum \\(export flow\\) - sum \\(import flow\\\
), and must be higher or equal to -\\(external import constraint\\).\n \n**externalExportConstraint**:\
\ external export constraints limit the bidding zone net position which represents the total net\
\ exchange of the BZ with its neighbors both in FlowBased and ATC network models. The net position\
\ is defined as sum \\(export flow\\) - sum \\(import flow\\), and must be less or equal to \\\
(external export constraint\\).\n \n**totalImport**: the total available import capacity,\
\ taking into account import group restrictions if any exist.\n \n**totalExport**:\
\ the total available export capacity, taking into account export group restrictions if any exist.\n\
\ \n**dailySummaries**: daily summary value of total import and export capacity, in\
\ MWh\n- **totalImport**: total daily MWh import capacity, taking into account import group restrictions\
\ if any exists\n- **totalExport**: total daily MWh export capacity, taking account export group\
\ restrictions if any exists"
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionCapacityMarkets'
- name: area
in: query
description: "One area. For example NO1. \n\nSupported: SE(legacy), NO1, NO1A, NO2, NO2_ND, NO2_NK,\
\ NO2_SK, NO2A, NO3, NO4, NO5, SE1, SE2, SE3, SE3_FS, SE3_KS, SE3_SWL, SE4, SE4_BC, SE4_NB,\
\ SE4_SP, SE4_SWL,\nFI, FI_EL, FI_FS, DK1, DK1_CO, DK1_DE, DK1_KS, DK1_SB, DK1_SK, DK1A, DK2,\
\ DK2_KO, DK2_SB, EE, LT, LV, AT, BE, DE_BC, DE_DK1, DE_KO, DE_NK, FR, GER, NL,\nNL_CO, NL_ND,\
\ PL, PL_LP, PL_SP, TEL, BG, RO_BG, UK"
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyCapacity'
application/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyCapacity'
text/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyCapacity'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/FlowBasedConstraints/ByDomain:
get:
tags:
- Auction
summary: Flow-based Constraints
description: "Returns a list of flow-based constraints per market, date and one domain\n \
\ \nFlow-based capacity constraints represent limits on critical network elements in the power\
\ grid. Flow-based constraints are used in combination with ATC capacities to calculate flows\
\ inside of flow-based regions.\n \nFlow-based capacity constraints are given per delivery\
\ period. Each period contains multiple constraints, and each constraint consists of:\n- **RAM\
\ (Remaining Available Margin)** - the available margin for the critical network element, which\
\ serves as an upper bound on the total consumption of this element by different bidding areas.\n\
\ - A list of **PTDFs (Power Transfer Distribution Factors**) for each Bidding Zone in the corresponding\
\ Flow-Based region. A PTDF indicates how much a bidding zone's Net-Position contributes to the\
\ load of the critical network element (limited by RAM).\n \nTo see if a constraint\
\ is binding (or how close it is to being reached), multiply the Net-Position (NP) for each Bidding\
\ Zone by its respective PTDF. Then, sum the results of each multiplication. This must result\
\ in a value that is lower or equal to the RAM.\n \nWhen the sum equals the RAM, the\
\ corresponding constraint (CNEC) is binding. This can be exemplified by the following formula:\n\
\ \n`PTDF1 * NP1 + PTDF2 * NP2 + ... + PTDFn * NPn ≤ RAM`\n \nEuphemia ensures\
\ that these constraints will always be respected.\n \nThe Net-Position of a Bidding\
\ Zone is defined as Total Export - Total Import for a Bidding Zone. In our data model, this is\
\ easiest gotten from the Flow model, and refers to -(totalNetPosition) for each delivery period\
\ and area.\n \n### Response field descriptions\n**periods**: a list of delivery periods.\
\ Each period has\n- **deliveryStart**: the start time of the delivery period\n- **deliveryEnd**:\
\ the end time of the delivery period\n- **constraints**: a list of constraints.\n \
\ \nEach constraint consist of:\n- **id**: an identifier for the unit. Note that this id is only\
\ to identify the constraint within this market coupling session\n- **name**: an optional name\
\ for the unit, not always present\n- **remainingAvailableMargin**: the RAM value, described above\n\
- **powerTransferDistributionFactors**: a list of Power Transfer Distribution factors for each\
\ area, described above"
externalDocs:
description: Flow based description
url: https://developers.nordpoolgroup.com/reference/auction-flow-based-constraints-data
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionFlowBasedConstraintMarkets'
- name: flowBasedDomain
in: query
required: true
schema:
$ref: '#/components/schemas/FlowBasedDomainType'
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiFlowBasedConstraint'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiFlowBasedConstraint'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiFlowBasedConstraint'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/Flows/ByAreas:
get:
tags:
- Auction
summary: Auction Flows
description: "Returns a list of auction flows per area for a market, date and list of areas.\n \
\ \nFlows are describing how much power are exchanged in between areas.\n \
\ \nThis is the flow coming from Euphemia - note that in the Nordic region a post coupling calculation\
\ is done to adjust this flow. See Scheduled Physical Flows for Nordic Day-ahead flows after 30th\
\ of October 2024.\n \nFlows are always described from an area point of view. Some\
\ flows will have a loss on the cable - imports in an area is always after losses, and exports\
\ are before losses.\n \n### Response field descriptions\n- **status**: Missing if\
\ data does not exist. Preliminary if the market coupling session is not complete. Final once\
\ the market coupling session is complete. Cancelled if the auction is cancelled.\n- **dailyTotalImport**:\
\ total MWh imported volume\n- **dailyTotalExport**: total MWh exported volume\n- **dailyTotalNetPosition**:\
\ total net position in MWh (total import - total export).\n \n**flows**: a list of\
\ delivery periods, containing all flows for that period\n- **byConnection**: a list of all connections\
\ that has a flow for the period. Each connection is identified by an area and optionally by a\
\ connection name. The Connection name is only present if multiple connections exists on the same\
\ border. **import** gives the import volume in MW, **export** the export volume in MW and **netPosition**\
\ describes import-export\n- **totalImport**: sum of all connection import volumes given in MW\n\
- **totalExport**: sum of all connection export volumes given in MW\n- **totalNetPosition**: total\
\ import - total export"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/auction/day-ahead/flows?deliveryDate=latest&deliveryArea=EE&displayImportExport=false
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionFlowMarkets'
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: SE(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,NL,PL,UK,TEL,BG'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiFlow'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiFlow'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiFlow'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/Flows/Yearly/ByArea:
get:
tags:
- Auction
summary: Yearly Auction Flows
description: "Returns a list of auction flows for a market, year and one area.\n \nFlows\
\ are describing how much power are exchanged in between areas.\n \nThis is the flow\
\ coming from Euphemia - note that in the Nordic region a post coupling calculation is done to\
\ adjust this flow. See Scheduled Physical Flows for Nordic Day-ahead flows after 30th of October\
\ 2024.\n \nFlows are always described from an area point of view. Some flows will\
\ have a loss on the cable - imports in an area is always after losses, and exports are before\
\ losses.\n \n### Response field descriptions\n**dailySummaries**: contains a list\
\ of daily summaries for all flows for that day\n- **totalImport**: total import volume for the\
\ day, in MWh\n- **totalExport**: total export volume for the day, in MWh\n- **totalNetPosition**:\
\ total net position for the day (total import - total export), in MWh\n- **connectionSummaries**:\
\ list of all connections used for the day, with total imports and exports given in MWh \n \
\ \n**flows**: a list of delivery periods, containing all flows for that period\n- **byConnection**:\
\ a list of all connections that has a flow for the period. Each connection is identified by an\
\ area and optionally by a connection name. The Connection name is only present if multiple connections\
\ exists on the same border. **import** gives the import volume in MW, **export** the export volume\
\ in MW and **netPosition** describes import-export\n- **totalImport**: sum of all connection\
\ import volumes given in MW\n- **totalExport**: sum of all connection export volumes given in\
\ MW\n- **totalNetPosition**: total import - total export"
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionFlowMarkets'
- name: area
in: query
description: 'One area. For example NO1.
Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,NL,PL,UK,TEL,BG'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyFlow'
application/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyFlow'
text/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyFlow'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/N2EX_DayAhead/PriceCurves/UK:
get:
tags:
- PriceCurves
summary: N2EX Price Curves
description: "Returns the N2EX UK price curve data for a given date.\n \nThese price\
\ curves only contain order information for what is happening in the UK delivery area. No price\
\ curve information is available for the coupled NO2 area, since the trading activity in NO2 is\
\ small. \n \n### Response field descriptions\n \n**status**: Missing if\
\ no data exists for the requested date. Available if data is present\n\n#### orderPositions:\
\ a list of delivery period, and associated aggregated demand and supply curve orders\n- **demandCurve**:\
\ list of aggregated demand (=buy) curve order volume for price points\n- **supplyCurve**: list\
\ of aggregated supply (=sell) curve order volume for price points\n- **deliveryStart**: start\
\ of delivery period\n- **deliveryEnd**: end of delivery period\n \n#### blockOrders:\
\ a list of block orders\n- **side**: Buy or Sell\n- **exclusiveGroupId**: if not null, then this\
\ block is part of an exclusive group. Group all blocks by exclusive group id to see the exclusive\
\ group.\n- **minimumAcceptanceRatio**: the minimum acceptance ratio needed for the block to activate.\
\ Typically in the 0.5-1 range, where 0.5 = 50% of the volume needs to be filled to activate\n\
- **linkedOrderId**: if not null, then this block will only activate if the linked block order\
\ with this id activates. To find the parent, find the block order with the corresponding id.\n\
- **price**: the average price for the block order to activate\n- **paradoxicallyRejected**: if\
\ true, then the block restrictions are within the correct price and volume limits, but activating\
\ the block would cause price and volume to shift enough to disqualify the block from activation.\n\
- **actualAcceptanceRatio**: the ratio of the block that was accepted, in a range of 0-1. 1 =\
\ 100% of volume accepted.\n- **intervals**: periods for the block, with corresponding volumes\
\ and accepted volumes.\n \nNote that the intersection of the supply and demand curve\
\ positions will not add up to the realized price - for that, block order activations as well\
\ as import and export flows needs to be taken into account as well."
parameters:
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example, 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiUkPriceCurve'
application/json:
schema:
$ref: '#/components/schemas/ApiUkPriceCurve'
text/json:
schema:
$ref: '#/components/schemas/ApiUkPriceCurve'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/PriceIndices/ByIndexNames:
get:
tags:
- Auction
summary: Auction Price Indices
description: " Price indices are normalized prices for a set resolution, for one delivery area or\
\ a group of delivery areas.\n \nIf official prices exists in a certain resolution,\
\ then official prices are used. If no centrally agreed official price exists for a resolution,\
\ then an average price is calculated.\n \nNote that settlement is always done in the\
\ lowest trading resolution for the market and area, price indices are just an indication of what\
\ the average price would be in different resolutions.\n \n### Response field descriptions\n\
- **status**: Missing if data does not exist. Preliminary if the market coupling session is not\
\ complete, or the exchange rate has not been finalized yet. Final once exchange rate is set and\
\ market coupling session is complete. Cancelled if the auction is cancelled.\n- **exchangeRate**:\
\ the exchange rate used to calculate the currency price. 1 if the currency is the same as the\
\ main market currency.\n- **deliveryAreas**: the areas used to build up this index. In most cases,\
\ this is the same as the index name.\n- **baseResolution**: the base resolution of the market\
\ for this day"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/auction/day-ahead/price-indices?deliveryDate=latest¤cy=EUR&resolutionInMinutes=15&indexNames=AT
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionMarkets'
- name: indexNames
in: query
description: 'A comma-separated list of index names (e.g. NO1, NO2, FI, BE).
Supported: SYSTEM, NO1, NO2, NO3, NO4, NO5, SE1, SE2, SE3, SE4, FI, DK1, DK2, EE,
LT, LV, AT, BE, FR, GER, 50Hz, AMP, TTG, TBW, NL, PL, UK, TEL, BG, SE(legacy)'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: currency
in: query
description: 'Currency of returned prices. Note that local currencies are not available for all
areas, and
currency availability varies across markets. Supported: EUR, GBP, SEK, NOK, DKK, PLN, RON'
required: true
schema:
maxLength: 3
minLength: 3
type: string
- name: date
in: query
description: 'Delivery date, referring to CET date. Format: yyyy-MM-dd (e.g. 2025-02-20)'
required: true
schema:
type: string
format: date
- name: resolution
in: query
description: 'The data-resolution of the requested price data: PT1H = 1h, PT30M = 30min, PT15M
= 15min'
required: true
schema:
$ref: '#/components/schemas/Resolution'
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionPriceIndex'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionPriceIndex'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionPriceIndex'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/PriceIndices/Yearly/ByIndexName:
get:
tags:
- Auction
summary: Yearly Auction Price Indices
description: " Price indices are normalized prices for a set resolution, for one delivery area or\
\ a group of delivery areas.\n \nIf official prices exists in a certain resolution,\
\ then official prices are used. If no centrally agreed official price exists for a resolution,\
\ then an average price is calculated.\n \nNote that settlement is always done in the\
\ lowest trading resolution for the market and area, price indices are just an indication of what\
\ the average price would be in different resolutions.\n \n### Response field descriptions\n\
- **exchangeRate**: the exchange rate used to calculate the currency price. 1 if the currency\
\ is the same as the main market currency.\n- **deliveryAreas**: the areas used to build up this\
\ index. In most cases, this is the same as the index name.\n \nOnly final price indices\
\ are included in this endpoint."
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionMarkets'
- name: indexName
in: query
description: 'One area. For example NO1.
Supported: SYSTEM, NO1, NO2, NO3, NO4, NO5, SE1, SE2, SE3, SE4, FI, DK1, DK2, EE,
LT, LV, AT, BE, FR, GER, 50Hz, AMP, TTG, TBW, NL, PL, UK, TEL, BG, SE(legacy)'
required: true
schema:
minLength: 1
type: string
- name: currency
in: query
description: 'Currency of returned price indices. Note that local currencies are not available
for all indices, and
currency availability varies across markets. Supported: EUR, GBP, SEK, NOK, DKK, PLN, RON'
required: true
schema:
maxLength: 3
minLength: 3
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
- name: resolution
in: query
description: 'The data-resolution of the requested price data: PT1H = 1h, PT30M = 30min, PT15M
= 15min'
required: true
schema:
$ref: '#/components/schemas/Resolution'
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyPriceIndex'
application/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyPriceIndex'
text/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyPriceIndex'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/Prices/ByAreas:
get:
tags:
- Auction
summary: Auction Prices
description: "Returns a list of auction prices for a market, currency, date and list of areas.\n\
### Response field descriptions\n- **status**: Missing if data does not exist. Preliminary if\
\ the market coupling session is not complete, or the exchange rate has not been finalized yet.\
\ Final once exchange rate is set and market coupling session is complete. Cancelled if the auction\
\ is cancelled.\n- **exchangeRate**: the exchange rate used to calculate the currency price. 1\
\ if the currency is the same as the main market currency.\n- **prices**: the settlement price\
\ for each period. If no trading happens, then the price might be null\n- **blockPrices**: average\
\ price for periods (block) of the day\n \nNote that settlement will only be done for\
\ Final prices - preliminary prices can change either due to updated exchange rate, or in rare\
\ cases from a re-opening of order books and re-calculating prices.\n \nPreliminary\
\ prices can change, and exchange rates for local currencies are only finalized on Norwegian banking\
\ days."
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/auction/day-ahead/prices?deliveryDate=latest¤cy=EUR&aggregation=DeliveryPeriod&deliveryAreas=NO1
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionMarkets'
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: SE(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,50Hz,AMP,TTG,TBW,NL,PL,UK,TEL,BG'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: currency
in: query
description: 'Currency of returned prices. Note that local currencies are not available for all
areas, and
currency availability varies across markets. Supported: EUR, GBP, SEK, NOK, DKK, PLN, RON'
required: true
schema:
maxLength: 3
minLength: 3
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionPrice'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionPrice'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionPrice'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/Prices/Yearly/ByArea:
get:
tags:
- Auction
summary: Yearly Auction Prices
description: " Returns a list of auction prices for a market, currency, year and one area.\n \
\ \n### Response field descriptions\n- **prices**: the settlement price for each period.\
\ If no trading happens, then the price might be null\n- **blockPrices**: average price for a\
\ periods of the day, called blocks.\n- **dailySummaries**: contains min, max and average price\
\ for each day in the year\n- **monthlySummaries**: contains min, max and average price for each\
\ month of the year\n- **weeklySummaries**: contains min, max and average price for each week\
\ of the year. Note this can include date ranges outside the actual year, since weeks do not align\
\ nicely with the yearly calendar.\n- **yearlySummary**: min, max and average price for the full\
\ year.\n \n Only final prices are included in this endpoint."
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionMarkets'
- name: area
in: query
description: 'One area. For example NO1.
Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,50Hz,AMP,TTG,TBW,NL,PL,UK,TEL,BG'
required: true
schema:
minLength: 1
type: string
- name: currency
in: query
description: 'Currency of returned prices. Note that local currencies are not available for all
areas, and
currency availability varies across markets. Supported: EUR, SEK, NOK, DKK, PLN, RON'
required: true
schema:
maxLength: 3
minLength: 3
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyPrice'
application/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyPrice'
text/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyPrice'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/ScheduledPhysicalFlows/ByAreas:
get:
tags:
- Auction
summary: Auction Scheduled Physical Flows
description: "Scheduled physical flows are published for the day-ahead market after the Nordic Flow-based\
\ go-live on the 30th of October 2024.\n \nScheduled physical flows are re-calculated\
\ flows for Nordic flow-based regions. The Nordic Flow-based implementation sometimes ends up\
\ breaching physical constraints in the power grid, and a post-coupling re-calculation is done\
\ and published to the JAO publication tool, which is the source of this data.\n \n\
The re-calculated flows should end up with every area having the same net position (+/- ~0.1MW)\
\ as the original flows coming from Euphemia, but internal flows inside the regions might be re-routed.\
\ \n \nScheduled physical flows are the basis of what capacities are later released\
\ to intraday auctions as well as the intraday market. The need to re-calculate flows coming from\
\ Euphemia only exist in the Nordic flow-based regions. \n \nScheduled physical flows\
\ are always described from an area point of view. Some flows will have a loss on the cable -\
\ imports in an area is always after losses, and exports are before losses.\n \n###\
\ Response field descriptions\n- **status**: Missing if data does not exist. Final once the market\
\ coupling session is complete.\n- **dailyTotalImport**: total MWh imported volume\n- **dailyTotalExport**:\
\ total MWh exported volume\n- **dailyTotalNetPosition**: total net position in MWh (total import\
\ - total export).\n \n**flows**: a list of delivery periods, containing all flows\
\ for that period\n- **byConnection**: a list of all connections that has a flow for the period.\
\ Each connection is identified by an area and optionally by a connection name. The Connection\
\ name is only present if multiple connections exists on the same border. **import** gives the\
\ import volume in MW, **export** the export volume in MW and **netPosition** describes import-export\n\
- **totalImport**: sum of all connection import volumes given in MW\n- **totalExport**: sum of\
\ all connection export volumes given in MW\n- **totalNetPosition**: total import - total export"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/auction/day-ahead/scheduled-physical-flows?deliveryDate=latest&deliveryArea=DK1&displayImportExport=true
parameters:
- name: market
in: query
description: 'Market for which the flows are requested. Supported: DayAhead.'
required: true
schema:
$ref: '#/components/schemas/AuctionScheduledPhysicalFlowMarkets'
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: DK1, DK2, FI, NO1, NO2, NO3, NO4, NO5, SE1, SE2, SE3, SE4.'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-11-01.
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiScheduledPhysicalFlow'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiScheduledPhysicalFlow'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiScheduledPhysicalFlow'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/ScheduledPhysicalFlows/Yearly/ByArea:
get:
tags:
- Auction
summary: Yearly Scheduled Physical Flows
description: "Scheduled physical flows are published for the day-ahead market after the Nordic Flow-based\
\ go-live on the 30th of October 2024.\n \nScheduled physical flows are re-calculated\
\ flows for Nordic flow-based regions. The Nordic Flow-based implementation sometimes ends up\
\ breaching physical constraints in the power grid, and a post-coupling re-calculation is done\
\ and published to the JAO publication tool, which is the source of this data.\n \n\
The re-calculated flows should end up with every area having the same net position (+/- ~0.1MW)\
\ as the original flows coming from Euphemia, but internal flows inside the regions might be re-routed.\
\ \n \nScheduled physical flows are the basis of what capacities are later released\
\ to intraday auctions as well as the intraday market. The need to re-calculate flows coming from\
\ Euphemia only exist in the Nordic flow-based regions.\n \nThis endpoint returns all\
\ scheduled physical flows for a year and area.\n \n### Response field descriptions\n\
**dailySummaries**: contains a list of daily summaries for all flows for that day\n- **totalImport**:\
\ total import volume for the day, in MWh\n- **totalExport**: total export volume for the day,\
\ in MWh\n- **totalNetPosition**: total net position for the day (total import - total export),\
\ in MWh\n- **connectionSummaries**: list of all connections used for the day, with total imports\
\ and exports given in MWh \n \n**flows**: a list of delivery periods, containing all\
\ flows for that period\n- **byConnection**: a list of all connections that has a flow for the\
\ period. Each connection is identified by an area and optionally by a connection name. The Connection\
\ name is only present if multiple connections exists on the same border. **import** gives the\
\ import volume in MW, **export** the export volume in MW and **netPosition** describes import-export\n\
- **totalImport**: sum of all connection import volumes given in MW\n- **totalExport**: sum of\
\ all connection export volumes given in MW\n- **totalNetPosition**: total import - total export"
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionScheduledPhysicalFlowMarkets'
- name: area
in: query
description: 'One area. For example NO1.
Supported: DK1,DK2,FI,NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyScheduledPhysicalFlow'
application/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyScheduledPhysicalFlow'
text/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyScheduledPhysicalFlow'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/Volumes/ByAreas:
get:
tags:
- Auction
summary: Auction Volumes
description: "Returns a list of auction volumes for a market, date and list of areas.\n \
\ \nNote that this volume only reflect Nord Pool's part of the traded volume, not the market\
\ total volume.\n \n### Response field descriptions\n- **status**: Missing if data\
\ does not exist. Preliminary if the market coupling session is not complete. Final once the market\
\ coupling session is complete. Cancelled if the auction is cancelled.\n \n**totalVolume**\n\
- **buy**: total MWh bought in the area across all delivery periods\n- **sell**: total MWh sold\
\ in the area across all delivery periods\n \n**averageVolume**\n- **buy**: average\
\ MW of bought volume across all delivery periods\n- **sell**: average MW of sold volume across\
\ all delivery periods\n \n**minVolume**\n- **buy**: minimum MW bought across all delivery\
\ periods\n- **sell**: minimum MW sold across all delivery periods\n \n**maxVolume**\n\
- **buy**: maximum MW bought across all delivery periods\n- **sell**: maximum MW sold across all\
\ delivery periods\n \n**blockVolumes**: List of MWh buy and sell volumes for a period\
\ of the day.\n \n**volumes**: List of MW buy and sell volumes per delivery period"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/auction/day-ahead/volumes?deliveryDate=latest&deliveryAreas=NO1
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionMarkets'
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: SE(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,50Hz,AMP,TTG,TBW,NL,PL,UK,TEL,BG'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionVolume'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionVolume'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAuctionVolume'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Auction/Volumes/Yearly/ByArea:
get:
tags:
- Auction
summary: Yearly Auction Volumes
description: "Returns a list of auction volumes for a market, year and one area.\n \n\
Note that this volume only reflect Nord Pool's part of the traded volume, not the market total\
\ volume.\n \n \n### Response field descriptions\n**yearlySummary**: \n\
\ - **totalVolume**: contains total bought and sold MWh for the year\n - **averageVolume**: the\
\ average bought and sold MW across all delivery periods\n - **minVolume**: the minimum bought\
\ and sold MW across all delivery periods\n - **maxVolume**: the maximum bought and sold MW across\
\ all delivery periods\n \n**monthlySummary**: a list of monthly aggregate values\n\
\ - **totalVolume**: contains total bought and sold MWh for the month\n - **averageVolume**: the\
\ average bought and sold MW across all delivery periods in the month\n - **minVolume**: the minimum\
\ bought and sold MW across all delivery periods in the month\n - **maxVolume**: the maximum bought\
\ and sold MW across all delivery periods in the month\n \n**dailySummary**: a list\
\ of daily aggregate values\n - **totalVolume**: contains total bought and sold MWh for the day\n\
\ - **averageVolume**: the average bought and sold MW across all delivery periods in the day\n\
\ - **minVolume**: the minimum bought and sold MW across all delivery periods in the day\n - **maxVolume**:\
\ the maximum bought and sold MW across all delivery periods in the day\n\n**blockVolumes**: a\
\ list of MWh buy and sell volumes for a period of the day.\n \n**volumes**: a list\
\ of MW buy and sell volumes per delivery period\n\nOnly final volumes are included in this endpoint."
parameters:
- name: market
in: query
required: true
schema:
$ref: '#/components/schemas/AuctionMarkets'
- name: area
in: query
description: 'One area. For example NO1.
Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,50Hz,AMP,TTG,TBW,NL,PL,UK,TEL,BG'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyVolume'
application/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyVolume'
text/json:
schema:
$ref: '#/components/schemas/ApiAuctionYearlyVolume'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/BalanceMarket/ManualFrequencyRestorationReserves/ByAreas:
get:
tags:
- BalanceMarket
summary: Manual Frequency Restoration Reserves
description: "Returns a list of Manual Frequency Restoration Reserves (mFRR) for a date, currency\
\ and a list of areas. \n\n### Response field descriptions\n- **status**: Missing if no data exists.\
\ Available if data is present\n- **exchangeRate**: exchange rate used to calculate values from\
\ EUR. If the currency is EUR, then the exchange rate is 1\n \n**manualFrequencyRestorationReserves**:\
\ a list of delivery periods for the day, containing\n - **deliveryStart**: start of delivery\
\ period\n - **deliveryEnd**: end of delivery period\n - **acceptedUpBidVolume**: the total volume\
\ of orders available for up activation, given in MW\n - **activatedUpVolume**: the volume of\
\ activated up regulation, given in MW\n - **acceptedDownBidVolume**: the total volume of orders\
\ available for down activation, given in MW\n - **activatedDownBidVolume**: the volume of activated\
\ down regulation, given in MW\n - **downPrice**: the price for down regulation. Given in currency/MWh\
\ \n - **upPrice**: the price for up regulation. Given in currency/MWh\n - **imbalancePrice**:\
\ the overall imbalance price. Usually equal to either upPrice or downPrice depending on what\
\ activations are done.\n \nNote that non-EUR prices are just estimates - we do not\
\ guarantee (or expect) that TSOs are using the same exchange rates as we do.\n \n\
Data source: **Entso-e Transparency platform. Update frequency and data availability depends on\
\ data being reported to Entso-e.**"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/power-system/manual-frequency-restoration-reserve?deliveryDate=latest&deliveryAreas=NO1&viewMode=All
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: currency
in: query
description: 'Currency of returned prices. Restricted to 1 currency per query. Supported: EUR,
SEK, NOK, DKK'
required: true
schema:
maxLength: 3
minLength: 3
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiMfrr'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiMfrr'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiMfrr'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/BalanceMarket/ManualFrequencyRestorationReserves/Yearly/ByArea:
get:
tags:
- BalanceMarket
summary: Yearly Manual Frequency Restoration Reserves
description: " Returns an annual summary of Manual Frequency Restoration Reserves (mFRR) for a year,\
\ currency and one area.\n \n This yearly summary is updated in a rolling manner, and\
\ is updated daily.\n \n### Response field descriptions\n \n**yearlySummary**:\n\
- **acceptedUpBidVolume**: total volume of accepted orders for up regulation for the year, in\
\ MWh\n- **activatedUpBidVolume**: total volume of activated up regulation bids for the year,\
\ in MWh\n- **acceptedDownBidVolume**: total volume of accepted orders for down regulation for\
\ the year, in MWh\n- **activatedDownBidVolume**: total volume of activated down regulation bids\
\ for the year, in MWh\n- **downPrice**: average down price for the year, in currency / MWh\n\
- **upPrice**: average up price for the year, in currency / MWh\n- **imbalancePrice**: average\
\ imbalance price for the year, in currency / MWh\n\n**monthlySummaries**: \n- **acceptedUpBidVolume**:\
\ total volume of accepted orders for up regulation for the month, in MWh\n- **activatedUpBidVolume**:\
\ total volume of activated up regulation bids for the month, in MWh\n- **acceptedDownBidVolume**:\
\ total volume of accepted orders for down regulation for the month, in MWh\n- **activatedDownBidVolume**:\
\ total volume of activated down regulation bids for the month, in MWh\n- **downPrice**: average\
\ down price for the month, in currency / MWh\n- **upPrice**: average up price for the month,\
\ in currency / MWh\n- **imbalancePrice**: average imbalance price for the month, in currency\
\ / MWh\n- **deliveryDateStartCET**: the earliest date taken into account in this monthly summary\n\
- **deliveryDateEndCET**: the latest date taken into account in this monthly summary \n\n**dailySummaries**:\
\ a list of average values for the day\n- **acceptedUpBidVolume**: total volume of accepted orders\
\ for up regulation for the day, in MWh\n- **activatedUpBidVolume**: total volume of activated\
\ up regulation bids for the day, in MWh\n- **acceptedDownBidVolume**: total volume of accepted\
\ orders for down regulation for the day, in MWh\n- **activatedDownBidVolume**: total volume of\
\ activated down regulation bids for the day, in MWh\n- **downPrice**: average down price for\
\ the day, in currency / MWh\n- **upPrice**: average up price for the day, in currency / MWh\n\
- **imbalancePrice**: average imbalance price for the day, in currency / MWh\n- **deliveryDateCET**:\
\ the CET delivery date for this summary \n\n**content**: a list of delivery periods, containing\n\
\ - **deliveryStart**: start of delivery period\n - **deliveryEnd**: end of delivery period\n\
\ - **acceptedUpBidVolume**: the total volume of orders available for up activation, given in\
\ MW\n - **activatedUpVolume**: the volume of activated up regulation, given in MW\n - **acceptedDownBidVolume**:\
\ the total volume of orders available for down activation, given in MW\n - **activatedDownBidVolume**:\
\ the volume of activated down regulation, given in MW\n - **downPrice**: the price for down regulation.\
\ Given in currency/MWh \n - **upPrice**: the price for up regulation. Given in currency/MWh\n\
\ - **imbalancePrice**: the overall imbalance price. Usually equal to either upPrice or downPrice\
\ depending on what activations are done.\n \nNote that non-EUR prices are just estimates\
\ - we do not guarantee (or expect) that TSOs are using the same exchange rates as we do.\n \
\ \nData source: **Entso-e Transparency platform. Update frequency and data availability\
\ depends on data being reported to Entso-e.**"
parameters:
- name: area
in: query
description: 'One area. For example NO1.
Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2'
required: true
schema:
minLength: 1
type: string
- name: currency
in: query
description: 'Currency of returned prices. Restricted to 1 currency per query. Supported: EUR,
SEK, NOK, DKK'
required: true
schema:
maxLength: 3
minLength: 3
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiYearlyMfrr'
application/json:
schema:
$ref: '#/components/schemas/ApiYearlyMfrr'
text/json:
schema:
$ref: '#/components/schemas/ApiYearlyMfrr'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/CleanHorizonStorageIndex/Daily/ByAreas:
get:
tags:
- PowerSystem
summary: Clean Horizon Premium Storage Index - Delivered by Nord Pool
description: "Returns a list of daily gross revenues of storage assets for a list of areas and month.\n\
\nDaily storage index provides information on how much money could a 1, 2, and 4-hour storage\
\ asset have earned in a given day. It contains details on each component of the revenue stack\n\
(day-ahead, intraday, FCR, aFRR, mFRR, etc).\n\n### Response field descriptions\n- **area**: biding\
\ zone the index is calculated for\n- **status**: Missing if no data found for the area. Available\
\ if data is present\n- **unit**: currency unit of the index values, always **EUR/MW/Day**\n-\
\ **updatedAt**: date and time when the index values were last updated\n- **indexValues**: list\
\ of daily index values for a 1, 2, and 4-hour storage asset\n - **utcDay**: day for which the\
\ index values are calculated\n - **index1h**: \n - **markets**: a dictionary of market (revenue\
\ streams), where each key corresponds to a market and each value to 1-hour storage index value\
\ for that market, in EUR/MW/Day\n - **totalGrossRevenues**: sum of gross revenues of a 1-hour\
\ storage asset for the day\n - **index2h**: \n - **markets**: a dictionary of market (revenue\
\ streams), where each key corresponds to a market and each value to 2-hour storage index value\
\ for that market, in EUR/MW/Day\n - **totalGrossRevenues**: sum of gross revenues of a 2-hour\
\ storage asset for the day\n - **index4h**: \n - **markets**: a dictionary of market (revenue\
\ streams), where each key corresponds to a market and each value to 4-hour storage index value\
\ for that market, in EUR/MW/Day\n - **totalGrossRevenues**: sum of gross revenues of a 4-hour\
\ storage asset for the day\n \nMore details about storage index can be found in the\
\ [Clean Horizon Storage Index](https://www.cleanhorizon.com/battery-index/)."
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., SE1, SE2).
Supported: BE, CNOR, CSUD, DE, DK1, DK2, EE, ES, FI, FR, ITCALA, LT, LV, NORD, PL, PT, SARD,
SE1, SE2,
SE3, SE4, SICI, SUD, TEL'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: month
in: query
description: 'Month in UTC. Format yyyy-MM-dd, for example 2025-01-01.
Must be the first day of the month. If another day is provided, it will be transformed to the
first day of that month.'
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiPremiumStorageIndex'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiPremiumStorageIndex'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiPremiumStorageIndex'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/CleanHorizonStorageIndex/Monthly/ByAreas:
get:
tags:
- PowerSystem
summary: Clean Horizon Storage Index - Delivered by Nord Pool
description: "Returns a list of monthly gross revenues of storage assets for a list of areas.\n\n\
Monthly storage index provides information on how much money could a 1, 2, and 4-hour storage\
\ asset have earned in a given month.\nValues are calculated based on premium indexes by summing\
\ up daily total revenues for the month. \n\n### Response field descriptions\n- **area**: biding\
\ zone the index is calculated for\n- **status**: Missing if no data found for the area. Available\
\ if data is present\n- **unit**: currency unit of the index values, always **EUR/MW/Month**\n\
- **updatedAt**: date and time when the index values were last updated\n- **markets**: list of\
\ markets (revenue streams) the index is considered for\n- **indexValues**: list of monthly index\
\ values for a 1, 2, and 4-hour storage asset\n - **utcMonth**: month for which the index values\
\ are calculated\n - **index1h**: 1 hour storage index value in EUR/MW/Month\n - **index2h**:\
\ 2 hour storage index value in EUR/MW/Month\n - **index4h**: 4 hour storage index value in EUR/MW/Month\n\
\ \nMore details about storage index can be found in the [Clean Horizon Storage Index](https://www.cleanhorizon.com/battery-index/)."
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., SE1, SE2).
Supported: BE, CNOR, CSUD, DE, DK1, DK2, EE, ES, FI, FR, ITCALA, LT, LV, NORD, PL, PT, SARD,
SE1, SE2,
SE3, SE4, SICI, SUD, TEL'
required: true
schema:
minItems: 1
type: string
items:
type: string
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiFreeStorageIndex'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiFreeStorageIndex'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiFreeStorageIndex'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/ExchangeRate/Daily:
get:
tags:
- ExchangeRate
summary: Exchange rates
description: "Returns the exchange rate used for a specific date.\n \n### Nordic Day-ahead\
\ market and local currencies\nFor the Nordic Day-ahead market, local currency trading is allowed.\
\ At the auction day, a preliminary exchange rate is retrieved for local currencies to EUR (for\
\ example, SEK -> EUR) from a bank. This preliminary exchange rate is used to calculate order\
\ prices in EUR based on user provided input. If the user places an order with price 100 SEK and\
\ the SEK -> EUR **preliminary** exchange rate is 0.1, then the order value in EUR is 10. All\
\ orders are matched in EUR.\n \n After the market coupling session is complete, on\
\ the first available banking day (on normal week days, this is the same day. On weekends, this\
\ usually means next Monday) Nord Pool performs a currency exchange hedging process. Here we get\
\ a **final** exchange rate based on how much local currencies are exchanged.\n \n\
The final local currency prices are then re-calculated using the final exchange rate, this time\
\ from EUR -> local currency. To continue the sample above, if our final EUR -> SEK exchange rate\
\ is 9.98, then the settled price will be 99.80 SEK rather than the original 100 SEK. If the\
\ final exchange rate would be 10.02, then the settled price would be 100.20 SEK.\n \
\ \n### Other exchange rates (PLN, RON, GBP)\n\nOther currencies does not follow the same hedging\
\ flow as in the Nordics. Usually exchange rate is agreed upon before auctions happen and thus\
\ no price adjustments are needed.\n \n### Response field descriptions\n**rates**:\
\ a list currency exchange rates for the day\n- **fromCurrency**: the currency exchanged from\n\
- **toCurrency**: the currency exchanged to\n- **rate**: the exchange rate used to transform fromCurrency\
\ -> toCurrency\n- **status**: Preliminary or Final. Preliminary rates can change, Final rates\
\ will not be changed. For usage, see the description above\n- **modified**: the last update time"
parameters:
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiExchangeRate'
application/json:
schema:
$ref: '#/components/schemas/ApiExchangeRate'
text/json:
schema:
$ref: '#/components/schemas/ApiExchangeRate'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/ExchangeRate/Yearly:
get:
tags:
- ExchangeRate
summary: Yearly Exchange rates
description: "Returns the exchange rates for a specific year.\n \n### Nordic Day-ahead\
\ market and local currencies\nFor the Nordic Day-ahead market, local currency trading is allowed.\
\ At the auction day, a preliminary exchange rate is retrieved for local currencies to EUR (for\
\ example, SEK -> EUR) from a bank. This preliminary exchange rate is used to calculate order\
\ prices in EUR based on user provided input. If the user places an order with price 100 SEK and\
\ the SEK -> EUR **preliminary** exchange rate is 0.1, then the order value in EUR is 10. All\
\ orders are matched in EUR.\n \n After the market coupling session is complete, on\
\ the first available banking day (on normal week days, this is the same day. On weekends, this\
\ usually means next Monday) Nord Pool performs a currency exchange hedging process. Here we get\
\ a **final** exchange rate based on how much local currencies are exchanged.\n \n\
The final local currency prices are then re-calculated using the final exchange rate, this time\
\ from EUR -> local currency. To continue the sample above, if our final EUR -> SEK exchange rate\
\ is 9.98, then the settled price will be 99.80 SEK rather than the original 100 SEK. If the\
\ final exchange rate would be 10.02, then the settled price would be 100.20 SEK.\n \
\ \n### Other exchange rates (PLN, RON, GBP)\n\nOther currencies does not follow the same hedging\
\ flow as in the Nordics. Usually exchange rate is agreed upon before auctions happen and thus\
\ no price adjustments are needed.\n \n### Response field descriptions\n**dailyExchangeRates**:\
\ a list of exchange rates per delivery date\n \nEach daily exchange rate contains\n\
\n**dateCET**: the delivery date in CET time the rate is used for\n \n**rates**: a\
\ list currency exchange rates for the day\n- **fromCurrency**: the currency exchanged from\n\
- **toCurrency**: the currency exchanged to\n- **rate**: the exchange rate used to transform fromCurrency\
\ -> toCurrency\n- **status**: Preliminary or Final. Preliminary rates can change, Final rates\
\ will not be changed. For usage, see the description above\n- **modified**: the last update time"
parameters:
- name: year
in: query
description: Delivery year, referring to CET year. Format yyyy, for example 2024
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiYearlyExchangeRate'
application/json:
schema:
$ref: '#/components/schemas/ApiYearlyExchangeRate'
text/json:
schema:
$ref: '#/components/schemas/ApiYearlyExchangeRate'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/ContractStatistics/ByAreas:
get:
tags:
- Intraday
summary: Intraday Contract Statistics
description: " Returns intraday contract statistics for a date and a list of areas.\n \
\ \nAll intraday trades where at least one leg (buy or/and sell) belongs to Nord Pool, Independent\
\ Bulgarian Energy Exchange (IBEX), Bursa Română de Mărfuri S.A (BRM) or Elma Orkuviðskipti (ELMA)\
\ and one leg belongs to queried area are included in the calculation of contract statistics.\
\ However, trades where both legs belong to other PXs are excluded from the statistics.\nThe calculation\
\ includes local and SIDC trades, as well as block trades and wash trades (trades where the same\
\ legal entity is on both the buy and sell sides). \n \nIntraday contract statistics\
\ are updated every 15 minutes for open contracts spanning today, tomorrow, and day after tomorrow.\n\
\ \n### Response field descriptions\n- **status**: Missing if no data found for the\
\ date and area. Available if data is present\n- **priceUnit**: defines the unit for all prices.\
\ Given as either EUR/MWh, GBP/MWh or ISK/MWh\n- **contracts**: a list of contracts for this delivery\
\ day\n - **deliveryStart**: delivery start time for the contract\n - **deliveryEnd**: delivery\
\ end time for the contract\n - **isLocalContract**: false if the contract is provided by XBID\
\ / SIDC, true if this contract is provided outside XBID / SIDC\n - **contractId**: the id of\
\ the contract\n - **contractName**: the name of the contract\n - **contractOpenTime**: the\
\ time the contract opens for trading\n - **contractCloseTime**: the time the contract closes\
\ for trading\n - **highPrice**: the highest trade price observed in the contract and area\n\
\ - **lowPrice**: the lowest trade price observed in the contract and area\n - **openPrice**:\
\ the price of the first trade in the contract and area\n - **openTradeTime**: the timestamp\
\ of the first trade in the area\n - **closePrice**: the price of the last observed trade in\
\ the contract and area. Note that if the contract is still open, this might change\n - **closeTradeTime**:\
\ the timestamp of the last observed trade in the area\n - **averagePrice**: the volume weighted\
\ average price for all trades observed in the contract and area\n - **volume**: the transaction\
\ volume of the contract and area given in MW\n - **buyVolume**: total buy volume in the area\
\ across all transactions given in MW\n - **sellVolume**: total sell volume in the area across\
\ all transactions given in MW\n - **averagePriceLast3H**: volume weighted average price for\
\ all trades happening within 3 hours of contract closing\n - **averagePriceLast1H**: volume\
\ weighted average price for all trades happening within 1 hour of contact closing \n\nFor a detailed\
\ breakdown on calculation rules, see this page.\n \n[Sample response with valid data for areas NO1,AMP and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_ContractStatistics_ByAreas.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/intraday/intraday-market-statistics?deliveryDate=latest&deliveryArea=50Hz
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiDeliveryAreaMarketStatistic'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiDeliveryAreaMarketStatistic'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiDeliveryAreaMarketStatistic'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/ContractStatistics/Total:
get:
tags:
- Intraday
summary: Intraday Contract Total Statistics
description: "Returns total intraday contract statistics for a date.\n \nAll intraday\
\ trades where at least one leg (buy or/and sell) belongs to Nord Pool, Independent Bulgarian\
\ Energy Exchange (IBEX) or Bursa Română de Mărfuri S.A (BRM) and the currency is EUR are included\
\ in the calculation of contract statistics. However, trades where both legs belong to other PXs\
\ are excluded from the statistics. The calculation includes local and SIDC trades, as well as\
\ block trades and wash trades (trades where the same legal entity is on both the buy and sell\
\ sides).\n \nIntraday contract statistics are updated every 15 minutes for open contracts\
\ spanning today, tomorrow, and day after tomorrow.\n \n### Response field descriptions\n\
- **status**: Missing if no data found for the date. Available if data is present\n- **priceUnit**:\
\ defines the unit for all prices. For contract total statistics, this is always EUR/MWh\n- **contracts**:\
\ a list of contracts for this delivery day\n - **deliveryStart**: delivery start time for the\
\ contract\n - **deliveryEnd**: delivery end time for the contract\n - **isLocalContract**:\
\ false if the contract is provided by XBID / SIDC, true if this contract is provided outside\
\ XBID / SIDC\n - **contractId**: the id of the contract\n - **contractName**: the name of the\
\ contract\n - **contractOpenTime**: the time the contract opens for trading\n - **contractCloseTime**:\
\ the time the contract closes for trading\n - **highPrice**: the highest trade price observed\
\ in the contract\n - **lowPrice**: the lowest trade price observed in the contract\n - **openPrice**:\
\ the price of the first trade in the contract\n - **openTradeTime**: the timestamp of the first\
\ trade for in the contract\n - **closePrice**: the price of the last observed trade in the contract.\
\ Note that if the contract is still open, this might change\n - **closeTradeTime**: the timestamp\
\ of the last observed trade in the contract\n - **averagePrice**: the volume weighted average\
\ price for all trades observed in the contract\n - **volume**: the transaction volume of the\
\ contract given in MW\n - **buyVolume**: total buy volume in the contract across all transactions\
\ given in MW\n - **sellVolume**: total sell volume in the contract across all transactions given\
\ in MW\n - **averagePriceLast3H**: volume weighted average price for all trades happening within\
\ 3 hours of contract closing\n - **averagePriceLast1H**: volume weighted average price for all\
\ trades happening within 1 hour of contact closing \n\nFor a detailed breakdown on calculation\
\ rules, see this page\n \n[Sample response with valid data for date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_ContractStatistics_Total.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/intraday/intraday-market-statistics?deliveryDate=latest&deliveryArea=Total
parameters:
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiTotalMarketStatistic'
application/json:
schema:
$ref: '#/components/schemas/ApiTotalMarketStatistic'
text/json:
schema:
$ref: '#/components/schemas/ApiTotalMarketStatistic'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/ContractStatistics/Yearly/ByArea:
get:
tags:
- Intraday
summary: Intraday Yearly Contract Statistics
description: "Returns intraday contract statistics for a year and one area.\n \nAll intraday\
\ trades where at least one leg (buy or/and sell) belongs to Nord Pool, Independent Bulgarian\
\ Energy Exchange (IBEX), Bursa Română de Mărfuri S.A (BRM) or Elma Orkuviðskipti (ELMA) and one\
\ leg belongs to queried area are included in the calculation of contract statistics. However,\
\ trades where both legs belong to other PXs are excluded from the statistics. The calculation\
\ includes local and SIDC trades, as well as block trades and wash trades (trades where the same\
\ legal entity is on both the buy and sell sides). \n\nThis aggregate is updated once per day,\
\ and includes data up until yesterday (CET).\n \n### Response field descriptions\n\
- **status**: Missing if no data found for the year and area. Available if data is present\n-\
\ **priceUnit**: defines the unit for all prices. Given as either EUR/MWh, GBP/MWh or ISK/MWh\n\
- **contracts**: a list of contracts for this delivery year\n - **deliveryStart**: delivery start\
\ time for the contract\n - **deliveryEnd**: delivery end time for the contract\n - **isLocalContract**:\
\ false if the contract is provided by XBID / SIDC, true if this contract is provided outside\
\ XBID / SIDC\n - **contractId**: the id of the contract\n - **contractName**: the name of the\
\ contract\n - **contractOpenTime**: the time the contract opens for trading\n - **contractCloseTime**:\
\ the time the contract closes for trading\n - **highPrice**: the highest trade price observed\
\ in the contract and area\n - **lowPrice**: the lowest trade price observed in the contract\
\ and area\n - **openPrice**: the price of the first trade in the contract and area\n - **openTradeTime**:\
\ the timestamp of the first trade in the area\n - **closePrice**: the price of the last observed\
\ trade in the contract and area. Note that if the contract is still open, this might change\n\
\ - **closeTradeTime**: the timestamp of the last observed trade in the area\n - **averagePrice**:\
\ the volume weighted average price for all trades observed in the contract and area\n - **volume**:\
\ the transaction volume of the contract and area given in MW\n - **buyVolume**: total buy volume\
\ in the area across all transactions given in MW\n - **sellVolume**: total sell volume in the\
\ area across all transactions given in MW\n - **averagePriceLast3H**: volume weighted average\
\ price for all trades happening within 3 hours of contract closing\n - **averagePriceLast1H**:\
\ volume weighted average price for all trades happening within 1 hour of contact closing \n\n\
For a detailed breakdown on calculation rules, see this page.\n \n[Sample response with valid data for area NO1 and year 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_ContractStatistics_Yearly_ByArea.json)"
parameters:
- name: area
in: query
description: 'One area. For example NO1.
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiDeliveryAreaMarketYearlyStatistic'
application/json:
schema:
$ref: '#/components/schemas/ApiDeliveryAreaMarketYearlyStatistic'
text/json:
schema:
$ref: '#/components/schemas/ApiDeliveryAreaMarketYearlyStatistic'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/ContractStatistics/Yearly/Total:
get:
tags:
- Intraday
summary: Intraday Yearly Total Contract Statistics
description: " Returns all total intraday contract statistics for a year.\n \nAll intraday\
\ trades where at least one leg (buy or/and sell) belongs to Nord Pool, Independent Bulgarian\
\ Energy Exchange (IBEX) or Bursa Română de Mărfuri S.A (BRM) and the currency is EUR are included\
\ in the calculation of contract statistics. However, trades where both legs belong to other PXs\
\ are excluded from the statistics. The calculation includes local and SIDC trades, as well as\
\ block trades and wash trades (trades where the same legal entity is on both the buy and sell\
\ sides).\n\nThis aggregate is updated once per day, and includes data up until yesterday (CET).\n\
\ \n### Response field descriptions\n- **status**: Missing if no data found for the year. Available\
\ if data is present\n- **priceUnit**: defines the unit for all prices. For contract total statistics,\
\ this is always EUR/MWh\n- **contracts**: a list of contracts for this delivery year\n - **deliveryStart**:\
\ delivery start time for the contract\n - **deliveryEnd**: delivery end time for the contract\n\
\ - **isLocalContract**: false if the contract is provided by XBID / SIDC, true if this contract\
\ is provided outside XBID / SIDC\n - **contractId**: the id of the contract\n - **contractName**:\
\ the name of the contract\n - **contractOpenTime**: the time the contract opens for trading\n\
\ - **contractCloseTime**: the time the contract closes for trading\n - **highPrice**: the highest\
\ trade price observed in the contract\n - **lowPrice**: the lowest trade price observed in the\
\ contract\n - **openPrice**: the price of the first trade in the contract\n - **openTradeTime**:\
\ the timestamp of the first trade for in the contract\n - **closePrice**: the price of the last\
\ observed trade in the contract. Note that if the contract is still open, this might change\n\
\ - **closeTradeTime**: the timestamp of the last observed trade in the contract\n - **averagePrice**:\
\ the volume weighted average price for all trades observed in the contract\n - **volume**: the\
\ transaction volume of the contract given in MW\n - **buyVolume**: total buy volume in the contract\
\ across all transactions given in MW\n - **sellVolume**: total sell volume in the contract across\
\ all transactions given in MW\n - **averagePriceLast3H**: volume weighted average price for\
\ all trades happening within 3 hours of contract closing\n - **averagePriceLast1H**: volume\
\ weighted average price for all trades happening within 1 hour of contact closing\n \
\ \n For a detailed breakdown on calculation rules, see this page.\n \n[Sample response with valid data for year 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_ContractStatistics_Yearly_Total.json)"
parameters:
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiTotalMarketYearlyStatistic'
application/json:
schema:
$ref: '#/components/schemas/ApiTotalMarketYearlyStatistic'
text/json:
schema:
$ref: '#/components/schemas/ApiTotalMarketYearlyStatistic'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/HourlyStatistics/ByAreas:
get:
tags:
- Intraday
summary: Intraday Hourly Statistics
description: " Returns intraday hourly statistics for a date and a list of areas.\n \n\
\ Intraday hourly statistics provide a comprehensive overview of all trading activity for a specific\
\ delivery hour. These statistics are derived from the trade data available for the selected delivery\
\ hour.\n \nAll intraday trades where at least one leg (buy or/and sell) belongs to\
\ Nord Pool, Independent Bulgarian Energy Exchange (IBEX), Bursa Română de Mărfuri S.A (BRM) or\
\ Elma Orkuviðskipti (ELMA) and one leg belongs to queried area are included in the calculation\
\ of hourly statistics. However, trades where both legs belong to other PXs are excluded from\
\ the statistics. The calculation includes local and SIDC trades, as well as block trades and\
\ wash trades (trades where the same legal entity is on both the buy and sell sides). \n \
\ \nIntraday hourly statistics are updated every 15 minutes for open contracts spanning\
\ today, tomorrow, and day after tomorrow.\n \n### Response field descriptions\n- **status**:\
\ Missing if no data found for the date and area. Available if data is present\n- **priceUnit**:\
\ defines the unit for all prices. Given as either EUR/MWh, GBP/MWh or ISK/MWh\n- **hourlyStatistics**:\
\ a list of delivery hours for this delivery day\n - **deliveryStart**: delivery start time \n\
\ - **deliveryEnd**: delivery end time \n - **highPrice**: the highest trade price observed\
\ in the delivery hour and area\n - **lowPrice**: the lowest trade price observed in the delivery\
\ hour and area\n - **openPrice**: the price of the first trade in the delivery hour and area\n\
\ - **openTradeTime**: the timestamp of the first trade in the area\n - **closePrice**: the\
\ price of the last observed trade in the delivery hour and area. Note that if the trading is\
\ still ongoing, this might change\n - **closeTradeTime**: the timestamp of the last observed\
\ trade in the area\n - **averagePrice**: the volume weighted average price for all trades observed\
\ in the delivery hour and area\n - **volume**: the transaction volume of the delivery hour and\
\ area given in MWh\n - **buyVolume**: total buy volume in the area across all transactions given\
\ in MWh\n - **sellVolume**: total sell volume in the area across all transactions given in MWh\n\
\ - **averagePriceLast3H**: volume weighted average price for all trades happening within 3 hours\
\ before delivery start\n - **averagePriceLast1H**: volume weighted average price for all trades\
\ happening within 1 hour before delivery start\n \nFor a detailed breakdown on calculation\
\ rules, see this page.\n \n[Sample response with valid data for areas NO1,AMP and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_HourlyStatistics_ByAreas.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/intraday/intraday-hourly-statistics?deliveryDate=latest&deliveryArea=DK1
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiDeliveryAreaMarketHourlyStatistic'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiDeliveryAreaMarketHourlyStatistic'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiDeliveryAreaMarketHourlyStatistic'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/HourlyStatistics/Total:
get:
tags:
- Intraday
summary: Intraday Hourly Total Statistics
description: "Returns total intraday hourly statistics for a date.\n \nIntraday hourly\
\ statistics provide a comprehensive overview of all trading activity for a specific delivery\
\ hour across all areas. These statistics are derived from the trade data available for the selected\
\ delivery hour.\n \nAll intraday trades where at least one leg (buy or/and sell) belongs\
\ to Nord Pool, Independent Bulgarian Energy Exchange (IBEX) or Bursa Română de Mărfuri S.A (BRM)\
\ in trading currency EUR are included in the calculation of hourly statistics. However, trades\
\ where both legs belong to other PXs are excluded from the statistics. The calculation includes\
\ local and SIDC trades, as well as block trades and wash trades (trades where the same legal\
\ entity is on both the buy and sell sides). \n \nIntraday hourly statistics are updated\
\ every 15 minutes for open contracts spanning today, tomorrow, and day after tomorrow.\n \
\ \n### Response field descriptions\n- **status**: Missing if no data found for the date\
\ and area. Available if data is present\n- **priceUnit**: defines the unit for all prices. For\
\ contract total statistics, this is always EUR/MWh\n- **hourlyStatistics**: a list of delivery\
\ hours for this delivery day\n - **deliveryStart**: delivery start time \n - **deliveryEnd**:\
\ delivery end time \n - **highPrice**: the highest trade price observed in the delivery hour\n\
\ - **lowPrice**: the lowest trade price observed in the delivery hour\n - **openPrice**: the\
\ price of the first trade in the delivery hour\n - **openTradeTime**: the timestamp of the first\
\ trade in the delivery hour\n - **closePrice**: the price of the last observed trade in the\
\ delivery hour. Note that if the trading is still ongoing, this might change\n - **closeTradeTime**:\
\ the timestamp of the last observed trade in the delivery hour\n - **averagePrice**: the volume\
\ weighted average price for all trades observed in the delivery hour\n - **volume**: the transaction\
\ volume of the delivery hour given in MWh\n - **buyVolume**: total buy volume in the delivery\
\ hour across all transactions given in MWh\n - **sellVolume**: total sell volume in the delivery\
\ hour across all transactions given in MWh\n - **averagePriceLast3H**: volume weighted average\
\ price for all trades happening within 3 hours before delivery start\n - **averagePriceLast1H**:\
\ volume weighted average price for all trades happening within 1 hour before delivery start\n\
\ \nFor a detailed breakdown on calculation rules, see this page.\n \n[Sample response with valid data for date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_HourlyStatistics_Total.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/intraday/intraday-hourly-statistics?deliveryDate=latest&deliveryArea=Total
parameters:
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiTotalMarketHourlyStatistic'
application/json:
schema:
$ref: '#/components/schemas/ApiTotalMarketHourlyStatistic'
text/json:
schema:
$ref: '#/components/schemas/ApiTotalMarketHourlyStatistic'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/HourlyStatistics/Yearly/ByArea:
get:
tags:
- Intraday
summary: Intraday Yearly Hourly Statistics
description: "Returns all intraday hourly statistics for a year and one area.\n \nThis\
\ aggregate is updated once per day, and includes data up until yesterday (CET).\n \
\ \nIntraday hourly statistics provide a comprehensive overview of all trading activity for a\
\ specific delivery hour. These statistics are derived from the trade data available for the selected\
\ delivery hour.\n \nAll intraday trades where at least one leg (buy or/and sell) belongs\
\ to Nord Pool, Independent Bulgarian Energy Exchange (IBEX), Bursa Română de Mărfuri S.A (BRM)\
\ or Elma Orkuviðskipti (ELMA) and one leg belongs to queried area are included in the calculation\
\ of hourly statistics. However, trades where both legs belong to other PXs are excluded from\
\ the statistics. The calculation includes local and SIDC trades, as well as block trades and\
\ wash trades (trades where the same legal entity is on both the buy and sell sides). \n \
\ \n### Response field descriptions\n- **status**: Missing if no data found for the year\
\ and area. Available if data is present\n- **priceUnit**: defines the unit for all prices. Given\
\ as either EUR/MWh, GBP/MWh or ISK/MWh\n- **hourlyStatistics**: a list of delivery hours for\
\ this delivery year\n - **deliveryStart**: delivery start time \n - **deliveryEnd**: delivery\
\ end time \n - **highPrice**: the highest trade price observed in the delivery hour and area\n\
\ - **lowPrice**: the lowest trade price observed in the delivery hour and area\n - **openPrice**:\
\ the price of the first trade in the delivery hour and area\n - **openTradeTime**: the timestamp\
\ of the first trade in the area\n - **closePrice**: the price of the last observed trade in\
\ the delivery hour and area. Note that if the trading is still ongoing, this might change\n \
\ - **closeTradeTime**: the timestamp of the last observed trade in the area\n - **averagePrice**:\
\ the volume weighted average price for all trades observed in the delivery hour and area\n -\
\ **volume**: the transaction volume of the delivery hour and area given in MWh\n - **buyVolume**:\
\ total buy volume in the area across all transactions given in MWh\n - **sellVolume**: total\
\ sell volume in the area across all transactions given in MWh\n - **averagePriceLast3H**: volume\
\ weighted average price for all trades happening within 3 hours before delivery start\n - **averagePriceLast1H**:\
\ volume weighted average price for all trades happening within 1 hour before delivery start\n\
\ \nFor a detailed breakdown on calculation rules, see this page.\n \n[Sample response with valid data for area NO1 and year 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_HourlyStatistics_Yearly_ByArea.json)"
parameters:
- name: area
in: query
description: 'One area. For example NO1.
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,GER,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiDeliveryAreaYearlyHourlyStatistic'
application/json:
schema:
$ref: '#/components/schemas/ApiDeliveryAreaYearlyHourlyStatistic'
text/json:
schema:
$ref: '#/components/schemas/ApiDeliveryAreaYearlyHourlyStatistic'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/HourlyStatistics/Yearly/Total:
get:
tags:
- Intraday
summary: Intraday Yearly Hourly Total Statistics
description: " Returns total intraday hourly statistics for a year.\n \nThis aggregate\
\ is updated once per day, and includes data up until yesterday (CET).\n\n Intraday hourly statistics\
\ provide a comprehensive overview of all trading activity for a specific delivery hour across\
\ all areas. These statistics are derived from the trade data available for the selected delivery\
\ hour.\n \nAll intraday trades where at least one leg (buy or/and sell) belongs to\
\ Nord Pool, Independent Bulgarian Energy Exchange (IBEX) or Bursa Română de Mărfuri S.A (BRM)\
\ in trading currency EUR are included in the calculation of hourly statistics. However, trades\
\ where both legs belong to other PXs are excluded from the statistics. The calculation includes\
\ local and SIDC trades, as well as block trades and wash trades (trades where the same legal\
\ entity is on both the buy and sell sides). \n \n \n### Response field\
\ descriptions\n- **status**: Missing if no data found for the year. Available if data is present\n\
- **priceUnit**: defines the unit for all prices. For contract total statistics, this is always\
\ EUR/MWh\n- **hourlyStatistics**: a list of delivery hours for this year\n - **deliveryStart**:\
\ delivery start time \n - **deliveryEnd**: delivery end time \n - **highPrice**: the highest\
\ trade price observed in the delivery hour\n - **lowPrice**: the lowest trade price observed\
\ in the delivery hour\n - **openPrice**: the price of the first trade in the delivery hour\n\
\ - **openTradeTime**: the timestamp of the first trade in the delivery hour\n - **closePrice**:\
\ the price of the last observed trade in the delivery hour. Note that if the trading is still\
\ ongoing, this might change\n - **closeTradeTime**: the timestamp of the last observed trade\
\ in the delivery hour\n - **averagePrice**: the volume weighted average price for all trades\
\ observed in the delivery hour\n - **volume**: the transaction volume of the delivery hour given\
\ in MWh\n - **buyVolume**: total buy volume in the delivery hour across all transactions given\
\ in MWh\n - **sellVolume**: total sell volume in the delivery hour across all transactions given\
\ in MWh\n - **averagePriceLast3H**: volume weighted average price for all trades happening within\
\ 3 hours before delivery start\n - **averagePriceLast1H**: volume weighted average price for\
\ all trades happening within 1 hour before delivery start\n \nFor a detailed breakdown\
\ on calculation rules, see this page.\n \n[Sample response with valid data for year 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_HourlyStatistics_Yearly_Total.json)"
parameters:
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiTotalMarketYearlyHourlyStatistic'
application/json:
schema:
$ref: '#/components/schemas/ApiTotalMarketYearlyHourlyStatistic'
text/json:
schema:
$ref: '#/components/schemas/ApiTotalMarketYearlyHourlyStatistic'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/HubToHubCapacities/ByAreaFrom:
get:
tags:
- Intraday
summary: Intraday Hub to Hub Capacities
description: "Returns transmission capacity changes available between two areas, no matter the path\
\ through the power grid.\nIt's not a border/cable capacity but rather the sum of all available\
\ paths that power could flow.\nData is available with a delay of approximately 25 minutes.\n\n\
**Note**: The delivery start time must be provided in a full-hour format, such as 2025-03-01T**01:00:00**Z.\n\
Providing the delivery start time like 2025-03-01T**01:59:59**Z results in a bad request error,\n\
as hub to hub capacities are updated on an hourly basis and such inputs would not give meaningful\
\ responses.\n \n### Response field descriptions\n\n- **areaFrom**: the outgoing delivery area\n\
- **areaTo**: the incoming delivery area\n- **deliveryStart**: the timestamp of delivery start\n\
- **deliveryEnd**: the timestamp of delivery end\n- **capacities**: a list of capacity changes\
\ \n\n Each capacity contains:\n - **outCapacity**: the available capacity out from the \"from\"\
\ area (areaFrom -> areaTo capacity) in MW \n\n - **inCapacity**: the available capacity in to\
\ the \"from\" area (areaTo -> areaFrom capacity) in MW\n - **publicationTime**: the timestamp\
\ when data has been received from the capacity system\n \n[Sample response with valid\
\ data for area from NO1, area to TTG and delivery start 2025-05-05T01:00:00Z](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_HubToHubCapacities_ByAreaFrom.json)"
parameters:
- name: areaFrom
in: query
description: 'Delivery area (e.g., NO1).
Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK'
required: true
schema:
minLength: 1
type: string
- name: areaTo
in: query
description: 'Delivery area (e.g., NO1).
Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK'
schema:
type: string
- name: deliveryStart
in: query
description: "Delivery start time of a contract, referring to a full hour in UTC. \nFormat yyyy-MM-ddThh:00:00Z,\
\ for example 2024-08-15T01:00:00Z."
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiHub2HubCapacity'
application/json:
schema:
$ref: '#/components/schemas/ApiHub2HubCapacity'
text/json:
schema:
$ref: '#/components/schemas/ApiHub2HubCapacity'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/OrderBook/ByContractId:
get:
tags:
- Intraday
summary: Intraday Order Book By Contract
description: "Returns all intraday order book changes for the given contract and area, where the\
\ contract delivery start is within the given UTC date.\nThis data corresponds to the local view\
\ data type in the Intraday system.\n \nOrder book data becomes available with a delay\
\ of 2–3 hours after the contract is closed. It contains event messages called revisions that\
\ come from XBID\nand/or NPM (Nord Pool Matcher). Each revision represents either:\n- A **delta**\
\ (\"isSnapshot\": false) that contains only the newly added or updated order information compared\
\ to previous revisions.\nFor example, if previous revision contains orders I1, I2, and I3, and\
\ new orders I4 and I5 are added, the delta revision will only contain I4 and I5.\n \n- A **snapshot**\
\ (\"isSnapshot\": true) that provides the full set of actual orders for the contract at current\
\ moment(e.g., I1 to I5).\nSnapshots may occur between delta revisions, for instance, when the\
\ connection to XBID is temporarily lost.\nIn such cases, previous revisions must be overwritten\
\ with the snapshot's data. Although rare, this scenario is possible.\n \nRevisions\
\ are sequential but might be empty or occasionally duplicated.\n \nEach non-empty\
\ revision consists of the buy and/or sell orders for the specified area. The order details include\
\ \norder id, price, volume, deleted flag, updated time and priority time. If an order is removed,\
\ the associated data will include \"deleted\": true and volume = 0.\n \n### Execution\
\ priority\nThe priority timestamp determines the execution priority for orders with the same\
\ price.\nExecution of orders is based on the price-time-priority principle:\n- **Price** \n\n\
\ Orders are always executed at the best price. The best buy order is always executed against\
\ the best sell order\nfirst (the best price for buy orders is the highest price, for sell orders\
\ its the lowest price). \n- **Time** \n\n When an order is entered into the order book, it is\
\ assigned a timestamp. This timestamp is used to prioritize\norders with the same price. Orders\
\ with earlier timestamps are executed with a higher priority than orders with a later timestamp.\n\
\n### Response field descriptions\n \n- **contractId**: identifier of the contract\
\ to which these orders belong\n- **deliveryArea**: delivery area that this order belongs to.\
\ Note: in XBID, the delivery area does not reflect the order's origin\n- **status**: \"Missing\"\
\ if data does not exist and \"Available\" if data exists\n- **revision**: version of the order\
\ book revision per contract\n- **isSnapshot**: if false: the revision contains only delta information\
\ with changes from previous revisions. If true: the revision contains\n a complete snapshot of\
\ the orders at the current state. Previous data must be overwritten.\n- **orderId**: order identifier,\
\ where the first character represents the market: I for Nord Pool Intraday or X for XBID.\nThe\
\ remaining part is a rolling unique number for the order (unique per market)\n- **price**: unit\
\ price\n- **priceUnit**: defines the unit for all prices. Given as either EUR/MWh, GBP/MWh or\
\ ISK/MWh\n- **volume**: visible quantity on the current delivery area\n- **deleted**: if false:\
\ update information with the contents received. If true: delete entity indicated in the revision\n\
- **priorityTime**: timestamp is used to prioritize orders with the same price\n- **updatedTime**:\
\ timestamp at which this order was updated, either due to an action by the user (e.g. modification)\n\
or by the system (e.g. validity expired, contract expired)\n \n[Sample response with\
\ valid data for area NO1, delivery date UTC 2025-05-05 and contract id NX_519789](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_OrderBook_ByContractId.json)"
parameters:
- name: area
in: query
description: 'Delivery area (e.g., NO1).
Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minLength: 1
type: string
- name: deliveryDateUtc
in: query
description: Delivery date of the contract, referring to UTC date. Format yyyy-MM-dd, for example
2025-03-20
required: true
schema:
type: string
format: date
- name: contractId
in: query
description: The contract id
required: true
schema:
type: string
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiOrderbook'
application/json:
schema:
$ref: '#/components/schemas/ApiOrderbook'
text/json:
schema:
$ref: '#/components/schemas/ApiOrderbook'
'204':
description: No Content
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/OrderBook/ContractsIds/ByArea:
get:
tags:
- Intraday
summary: Intraday Available Order Book contracts
description: "Returns a list of contracts with available order books for a given UTC date and area.\n\
The response includes details about each contract, such as its delivery period, opening and closing\
\ times, and whether it is a local contract.\n \n### Response field descriptions\n\n\
- **contractId**: the identifier of the contract\n- **contractName**: a descriptive name for the\
\ contract (e.g., QH-20250331-09).\n- **deliveryStart**: the timestamp when the contract delivery\
\ starts\n- **deliveryEnd**: the timestamp when the contract delivery ends\n- **isLocalContract**:\
\ defines if the contract is local or part of XBID/SIDC. If true, then no cross border trading.\
\ If false, then cross border trading is possible\n- **contractOpenTime**: the timestamp when\
\ a contract was opened the first time for the selected area\n- **contractCloseTime**: the timestamp\
\ when a contract was closed the last time for the selected area\n \n[Sample response\
\ with valid data for area NO1 and delivery date UTC 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_OrderBook_ContractsIds_ByArea.json)"
parameters:
- name: area
in: query
description: 'Delivery area (e.g., NO1).
Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minLength: 1
type: string
- name: deliveryDateUtc
in: query
description: Delivery date, referring to UTC date. Format yyyy-MM-dd, for example 2025-03-20
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiOrderBookAreaContracts'
application/json:
schema:
$ref: '#/components/schemas/ApiOrderBookAreaContracts'
text/json:
schema:
$ref: '#/components/schemas/ApiOrderBookAreaContracts'
'204':
description: No Content
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/OrderRevisions/ByUpdatedTime:
get:
tags:
- Intraday
summary: Intraday Order Revisions By Update Time
description: "Returns intraday contracts with orders for a given area, where order revisions have\
\ an updated time in between updatedTimeFrom and updatedTimeTo.\nData is available with a delay\
\ of approximately 20 minutes.\n\n**Note**: The time difference between updatedTimeFrom and updatedTimeTo\
\ cannot exceed **4** hours.\nThis limitation was introduced for performance reasons to restrict\
\ the response size.\nDuring periods of high load on the system, responses may take longer than\
\ expected.\nIn such situations, it is recommended to query data in hourly intervals, for example\n\
updatedTimeFrom=2025-04-01T**01:00:00**Z and updatedTimeTo=2025-04-01T**02:00:00**Z.\n \n### Response\
\ field descriptions\n\n**contracts**: a list of contracts to which these orders belong\nEach\
\ contract contains:\n- **contractId**: identifier of the contract\n- **contractName**: a descriptive\
\ name for the contract (e.g., QH-20250331-09).\n- **deliveryStart**: the timestamp when the contract\
\ delivery starts\n- **deliveryEnd**: the timestamp when the contract delivery ends\n- **orders**:\
\ a list of orders whose revisions have an updated time between updated time from and updated\
\ time to \n\n Each order includes:\n - **orderId**: identifier of the order\n - **originalOrderId**:\
\ original order identifier in the modification chain\n - **previousOrderId**: identifier of\
\ the previous order in the modification chain.\n When an order is modified and its priority\
\ changes, or partially matched, a new order id is assigned\n - **orderType**:\n - **Limit**\
\ - an order that can be matched either in part or its entirety.\n If a limit order is not\
\ fully matched it will remain active in the market until the product the order is placed on goes\
\ into expiry.\n - **Iceberg** - a type of limit order, usually with a large volume, with\
\ the purpose of hiding the full size\n of the order by dividing it into smaller clips. The\
\ first clip is shown to the market and the next clips will\n be visible when the previous\
\ ones have been fully matched. New clips receive a new time stamp.\n - **UserDefinedBlock**\
\ - a block order consisting of one or several (up to 24) consecutive hourly products.\n User-defined\
\ block orders are all-or-nothing orders where only the entire volume may be executed.\n - **side**:\
\ Buy or Sell\n - **createdTime**: the timestamp of order creation. Iceberg orders get updated\
\ \"created time\" when a new slice is added,\n but retain the order id. For other order types,\
\ they get a new order id and a new \"created time\".\n - **revisions**: a list of order revisions\
\ with an updated time in between updated time from and updated time to \n\n Each revision\
\ contains:\n - **revisionNumber**: revision number for order modification request. Should\
\ be incremented with a subsequent order modification request.\n The initial value to issue\
\ an order modification is set to 1 (USER_ADDED status).\n Please note that order modification\
\ with a priority change leads to a new order created (revisionNumber = 1). \n\n - **updatedTime**:\
\ the order entry time (revision=1) or time an order modification (revision>1)\n - **price**:\
\ price in EUR/MWh, GBP/MWh or ISK/MWh\n - **volume**: quantity in MW\n - **state**:\n \
\ - **Active** - an order can be matched either in part or in entirety. If the order is not\
\ fully\n matched it will remain \"active\" in the market.\n - **Inactive** - if the\
\ order is fully matched or closed (the product the order is placed on goes into expiry)\n \
\ then the status will be \"inactive\". The inactive order will never be reopened.\n -\
\ **Hibernated** - if the order is deactivated by the user then the order will be placed as \"\
hibernate\" and can be reopened\n - **Pending** - pending status is acknowledgment that order\
\ received by exchange\n - **action**:\n - **UserAdded** - order added by a user\n \
\ - **UserHibernated** - order deactivated by a user\n - **UserModified** - order modified\
\ by a user\n - **UserDeleted** - order deleted by a user\n - **SystemHibernated** -\
\ order deactivated by the system\n - **SystemModified** - order modified by the system\n\
\ - **SystemDeleted** - order deleted by the system\n - **PartialExecution** - order\
\ is partially executed\n - **FullExecution** - order is fully executed\n - **IcebergSliceAdded**\
\ - a new slice of an Iceberg order was added to the service\n - **expirationTime**: if timeInForce\
\ is set to GTD (Good Till Date), the expireTime will determine when the order expires.\n \
\ Accepted value is multiple of 5 minutes, i.e. not 2018-06-21T07:32:52.673Z but either 2018-06-21T07:30:00.000Z\
\ or 2018-06-21T07:35:00.000Z.\n - **timeInForce**:\n - **FillOrKill** - the order is\
\ immediately fully executed or deleted\n - **ImmediateOrCancel** - the order is executed\
\ immediately to its maximum extent. \n In a case of a partial execution, the remaining volume\
\ is removed from the order book.\n - **GoodForSession** - the order rests in the order book\
\ until it is either executed,\n removed by the user or the current trading session (trading\
\ phase) of the underlying contract ends\n - **GoodTillDate** - the order rests in the order\
\ book until the date specified in the expireTime field\n - **icebergClipSize**: the quantity\
\ in MW for when to trigger a new slice (for iceberg orders only, described above)\n - **clipPriceChange**:\
\ the price change after each clip is consumed (for iceberg orders only, described above)\n \
\ - **remainingVolume**: the remaining volume in MW for the whole iceberg order\n \
\ \n[Sample response with valid data for area NO1, updated time from 2025-05-05T00:30:00Z and\
\ updated time to 2025-05-05T01:54:00Z](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_OrderRevisions_ByUpdatedTime.json)"
parameters:
- name: area
in: query
description: 'Delivery area (e.g., NO1).
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minLength: 1
type: string
- name: updatedTimeFrom
in: query
description: Order update date and time starts, referring to a UTC datetime. Format yyyy-MM-ddTHH:mm:ssZ,
for example 2024-08-15T01:00:00Z
required: true
schema:
type: string
format: date-time
- name: updatedTimeTo
in: query
description: Order update date and time ends, referring to a UTC datetime. Format yyyy-MM-ddTHH:mm:ssZ,
for example 2024-08-15T01:00:00Z
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiIntradayOrdersContainer'
application/json:
schema:
$ref: '#/components/schemas/ApiIntradayOrdersContainer'
text/json:
schema:
$ref: '#/components/schemas/ApiIntradayOrdersContainer'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/Orders/ByContractId:
get:
tags:
- Intraday
summary: Intraday Orders By Contract
description: "Returns intraday orders for the given contract which starts at the given time for\
\ a given area.\nData is available with a delay of approximately 20 minutes.\n \n### Response\
\ field descriptions\n\n- **contractId**: identifier of the contract\n- **contractName**: a descriptive\
\ name for the contract (e.g., QH-20250331-09).\n- **deliveryStart**: the timestamp when the contract\
\ delivery starts\n- **deliveryEnd**: the timestamp when the contract delivery ends\n- **orders**:\
\ a list of orders associated with the contract \n\n Each order includes:\n - **orderId**: identifier\
\ of the order\n - **originalOrderId**: original order identifier in the modification chain\n\
\ - **previousOrderId**: identifier of the previous order in the modification chain.\n When\
\ an order is modified and its priority changes, or partially matched, a new order id is assigned\n\
\ - **orderType**:\n - **Limit** - an order that can be matched either in part or its entirety.\n\
\ If a limit order is not fully matched it will remain active in the market until the product\
\ the order is placed on goes into expiry.\n - **Iceberg** - a type of limit order, usually\
\ with a large volume, with the purpose of hiding the full size\n of the order by dividing\
\ it into smaller clips. The first clip is shown to the market and the next clips will\n be\
\ visible when the previous ones have been fully matched. New clips receive a new time stamp.\n\
\ - **UserDefinedBlock** - a block order consisting of one or several (up to 24) consecutive\
\ hourly products.\n User-defined block orders are all-or-nothing orders where only the entire\
\ volume may be executed.\n - **side**: Buy or Sell\n - **createdTime**: the timestamp of order\
\ creation. Iceberg orders get updated \"created time\" when a new slice is added,\n but retain\
\ the order id. For other order types, they get a new order id and a new \"created time\".\n \
\ - **revisions**: a list of order revisions \n\n Each revision contains:\n - **revisionNumber**:\
\ revision number for order modification request. Should be incremented with a subsequent order\
\ modification request.\n The initial value to issue an order modification is set to 1 (USER_ADDED\
\ status).\n Please note that order modification with a priority change leads to a new order\
\ created (revisionNumber = 1). \n\n - **updatedTime**: the order entry time (revision=1) or\
\ time an order modification (revision>1)\n - **price**: price in EUR/MWh, GBP/MWh or ISK/MWh\n\
\ - **volume**: quantity in MW\n - **state**:\n - **Active** - an order can be matched\
\ either in part or in entirety. If the order is not fully\n matched it will remain \"active\"\
\ in the market.\n - **Inactive** - if the order is fully matched or closed (the product\
\ the order is placed on goes into expiry)\n then the status will be \"inactive\". The inactive\
\ order will never be reopened.\n - **Hibernated** - if the order is deactivated by the user\
\ then the order will be placed as \"hibernate\" and can be reopened\n - **Pending** - pending\
\ status is acknowledgment that order received by exchange\n - **action**:\n - **UserAdded**\
\ - order added by a user\n - **UserHibernated** - order deactivated by a user\n - **UserModified**\
\ - order modified by a user\n - **UserDeleted** - order deleted by a user\n - **SystemHibernated**\
\ - order deactivated by the system\n - **SystemModified** - order modified by the system\n\
\ - **SystemDeleted** - order deleted by the system\n - **PartialExecution** - order\
\ is partially executed\n - **FullExecution** - order is fully executed\n - **IcebergSliceAdded**\
\ - a new slice of an Iceberg order was added to the service\n - **expirationTime**: if timeInForce\
\ is set to GTD (Good Till Date), the expireTime will determine when the order expires.\n \
\ Accepted value is multiple of 5 minutes, i.e. not 2018-06-21T07:32:52.673Z but either 2018-06-21T07:30:00.000Z\
\ or 2018-06-21T07:35:00.000Z.\n - **timeInForce**:\n - **FillOrKill** - the order is\
\ immediately fully executed or deleted\n - **ImmediateOrCancel** - the order is executed\
\ immediately to its maximum extent. \n In a case of a partial execution, the remaining volume\
\ is removed from the order book.\n - **GoodForSession** - the order rests in the order book\
\ until it is either executed,\n removed by the user or the current trading session (trading\
\ phase) of the underlying contract ends\n - **GoodTillDate** - the order rests in the order\
\ book until the date specified in the expireTime field\n - **icebergClipSize**: the quantity\
\ in MW for when to trigger a new slice (for iceberg orders only, described above)\n - **clipPriceChange**:\
\ the price change after each clip is consumed (for iceberg orders only, described above)\n \
\ - **remainingVolume**: the remaining volume in MW for the whole iceberg order\n \
\ \n[Sample response with valid data for area NO1, delivery start 2025-05-05T01:00:00Z and contract\
\ id NX_519789](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_Orders_ByContractId.json)"
parameters:
- name: area
in: query
description: 'Delivery area (e.g., NO1).
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minLength: 1
type: string
- name: deliveryStart
in: query
description: Delivery start time of the contract, referring to a UTC datetime. Format yyyy-MM-ddThh:mm:ssZ,
for example 2024-08-15T01:00:00Z
required: true
schema:
type: string
format: date-time
- name: contractId
in: query
description: The contract id
required: true
schema:
type: string
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/TopLevelPublicIntradayOrderContract'
application/json:
schema:
$ref: '#/components/schemas/TopLevelPublicIntradayOrderContract'
text/json:
schema:
$ref: '#/components/schemas/TopLevelPublicIntradayOrderContract'
'204':
description: No Content
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/Orders/ByDeliveryStart:
get:
tags:
- Intraday
summary: Intraday Orders By Delivery Time
description: "Returns intraday contracts with orders for a given area, where the contract delivery\
\ start is within the deliveryStartFrom-deliveryStartTo time range.\nData is available with a\
\ delay of approximately 20 minutes.\n\n**Note**: The time difference between deliveryStartFrom\
\ and deliveryStartTo cannot exceed **4** hours.\nThis limitation was introduced for performance\
\ reasons to restrict the response size.\nDuring periods of high load on the system, responses\
\ may take longer than expected.\nIn such situations, it is recommended to query data in hourly\
\ intervals, for example\ndeliveryStartFrom=2025-04-01T**01:00:00**Z and deliveryStartTo=2025-04-01T**02:00:00**Z.\n\
\ \n### Response field descriptions\n\n**contracts**: a list of contracts where the delivery start\
\ time falls within the range specified by \"delivery start from\" and \"delivery start to\" \n\
\nEach contract contains:\n- **contractId**: identifier of the contract\n- **contractName**: a\
\ descriptive name for the contract (e.g., QH-20250331-09).\n- **deliveryStart**: the timestamp\
\ when the contract delivery starts\n- **deliveryEnd**: the timestamp when the contract delivery\
\ ends\n- **orders**: a list of orders associated with the contract \n\n Each order includes:\n\
\ - **orderId**: identifier of the order\n - **originalOrderId**: original order identifier\
\ in the modification chain\n - **previousOrderId**: identifier of the previous order in the\
\ modification chain.\n When an order is modified and its priority changes, or partially matched,\
\ a new order id is assigned\n - **orderType**:\n - **Limit** - an order that can be matched\
\ either in part or its entirety.\n If a limit order is not fully matched it will remain active\
\ in the market until the product the order is placed on goes into expiry.\n - **Iceberg**\
\ - a type of limit order, usually with a large volume, with the purpose of hiding the full size\n\
\ of the order by dividing it into smaller clips. The first clip is shown to the market and\
\ the next clips will\n be visible when the previous ones have been fully matched. New clips\
\ receive a new time stamp.\n - **UserDefinedBlock** - a block order consisting of one or several\
\ (up to 24) consecutive hourly products.\n User-defined block orders are all-or-nothing orders\
\ where only the entire volume may be executed.\n - **side**: Buy or Sell\n - **createdTime**:\
\ the timestamp of order creation. Iceberg orders get updated \"created time\" when a new slice\
\ is added,\n but retain the order id. For other order types, they get a new order id and a\
\ new \"created time\".\n - **revisions**: a list of order revisions \n\n Each revision contains:\n\
\ - **revisionNumber**: revision number for order modification request. Should be incremented\
\ with a subsequent order modification request.\n The initial value to issue an order modification\
\ is set to 1 (USER_ADDED status).\n Please note that order modification with a priority\
\ change leads to a new order created (revisionNumber = 1). \n\n - **updatedTime**: the order\
\ entry time (revision=1) or time an order modification (revision>1)\n - **price**: price in\
\ EUR/MWh, GBP/MWh or ISK/MWh\n - **volume**: quantity in MW\n - **state**:\n - **Active**\
\ - an order can be matched either in part or in entirety. If the order is not fully\n matched\
\ it will remain \"active\" in the market.\n - **Inactive** - if the order is fully matched\
\ or closed (the product the order is placed on goes into expiry)\n then the status will\
\ be \"inactive\". The inactive order will never be reopened.\n - **Hibernated** - if the\
\ order is deactivated by the user then the order will be placed as \"hibernate\" and can be reopened\n\
\ - **Pending** - pending status is acknowledgment that order received by exchange\n -\
\ **action**:\n - **UserAdded** - order added by a user\n - **UserHibernated** - order\
\ deactivated by a user\n - **UserModified** - order modified by a user\n - **UserDeleted**\
\ - order deleted by a user\n - **SystemHibernated** - order deactivated by the system\n\
\ - **SystemModified** - order modified by the system\n - **SystemDeleted** - order\
\ deleted by the system\n - **PartialExecution** - order is partially executed\n - **FullExecution**\
\ - order is fully executed\n - **IcebergSliceAdded** - a new slice of an Iceberg order was\
\ added to the service\n - **expirationTime**: if timeInForce is set to GTD (Good Till Date),\
\ the expireTime will determine when the order expires.\n Accepted value is multiple of 5\
\ minutes, i.e. not 2018-06-21T07:32:52.673Z but either 2018-06-21T07:30:00.000Z or 2018-06-21T07:35:00.000Z.\n\
\ - **timeInForce**:\n - **FillOrKill** - the order is immediately fully executed or deleted\n\
\ - **ImmediateOrCancel** - the order is executed immediately to its maximum extent. \n \
\ In a case of a partial execution, the remaining volume is removed from the order book.\n\
\ - **GoodForSession** - the order rests in the order book until it is either executed,\n\
\ removed by the user or the current trading session (trading phase) of the underlying\
\ contract ends\n - **GoodTillDate** - the order rests in the order book until the date specified\
\ in the expireTime field\n - **icebergClipSize**: the quantity in MW for when to trigger a\
\ new slice (for iceberg orders only, described above)\n - **clipPriceChange**: the price change\
\ after each clip is consumed (for iceberg orders only, described above)\n - **remainingVolume**:\
\ the remaining volume in MW for the whole iceberg order\n\n[Sample response with valid data for\
\ area NO1, delivery start from 2025-05-05T01:00:00Z and delivery start to 2025-05-05T02:00:00Z](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_Orders_ByDeliveryStart.json)"
parameters:
- name: area
in: query
description: 'Delivery area (e.g., NO1).
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minLength: 1
type: string
- name: deliveryStartFrom
in: query
description: Earliest delivery start time, referring to a UTC hour. Contracts with delivery start
at this hour or later will be included in the response. Format yyyy-MM-ddThh:mm:ssZ, for example
2024-08-15T01:00:00Z
required: true
schema:
type: string
format: date-time
- name: deliveryStartTo
in: query
description: Latest delivery start time, referring to a UTC hour. Contracts with delivery start
earlier than this hour will be included in the response. Format yyyy-MM-ddThh:mm:ssZ, for example
2024-08-15T02:00:00Z
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiIntradayOrdersContainer'
application/json:
schema:
$ref: '#/components/schemas/ApiIntradayOrdersContainer'
text/json:
schema:
$ref: '#/components/schemas/ApiIntradayOrdersContainer'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/Trades/ByContractId:
get:
tags:
- Intraday
summary: Intraday Trades By Contract
description: "Returns an intraday contract with trades for a delivery start time and contract id,\
\ where trades have at least one leg matching at least one of the provided areas. \n\nAll trades\
\ have at least one leg belongs to Nord Pool. However, trades where both legs belong to other\
\ PXs are excluded from the response. \n\nData is available with a delay of approximately 20 minutes.\n\
\ \n### Response field descriptions\n\n- **contractId**: identifier of the contract\n- **contractName**:\
\ a descriptive name for the contract (e.g., QH-20250331-09).\n- **deliveryStart**: the timestamp\
\ when the contract delivery starts\n- **deliveryEnd**: the timestamp when the contract delivery\
\ ends\n- **trades**: a list of trades associated with the contract \n\n Each trade includes:\n\
\ - **tradeId**: identifier of the trade\n - **tradeTime**: the timestamp of trade creation\n\
\ - **tradeUpdatedAt**: the trade creation time (revisionNumber=1) or time of a trade modification\
\ (revisionNumber>1)\n - **tradeState**:\n - **Completed** - the trade is completed\n -\
\ **Cancelled** - the trade is cancelled\n - **Disputed** - the trade is pending decision for\
\ cancellation\n - **revisionNumber**: revision number for trade modification request. Should\
\ be incremented with a subsequent trade modification request.\n - **price**: price in EUR/MWh,\
\ GBP/MWh or ISK/MWh\n - **volume**: quantity in MW\n - **tradePhase**: there's two matching\
\ modes:\n - **Continuous** - the normal top of order book matching\n - **Auction** - the\
\ matching mode, where basically the buy and sell orders are matched in a similar manner as auction\
\ orders.\n This only happens when capacity is added in between areas - basically, in that\
\ case, the order books can be\n overlapping with buys in one area being much higher than\
\ sells in another area.\n In order for the price to be fair for both the sellers and buyers,\
\ this auction matching mode is used.\n - **None** - for old trades without this information\n\
\ - **crossPx**:\n - **false**: both legs belong to the Nord Pool market \n - **true**:\
\ one of the legs belongs to Other Power Exchanges (OPX). Then the trade contains \"referenceOrderId\"\
\ only for the side which is presented in Nord Pool, the other side doesn't have reference order\
\ id (\"referenceOrderId\": null).\n - **legs**: a list of trade legs \n\n Each leg contains:\
\ \n\n - **deliveryArea**: delivery area that this order belongs to \n\n - **referenceOrderId**:\
\ identifier of the order involved in the trade.\n In transactions where one party is external\
\ to Nord Pool, the referenceOrderId will be null for the leg that belongs to OPX.\n - **tradeSide**:\
\ Buy or Sell\n \n[Sample response with valid data for areas NO1,AMP, delivery start\
\ 2025-05-05T01:00:00Z and contract id NX_519789](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_Trades_ByContractId.json)"
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: deliveryStart
in: query
description: Delivery start time of the contract, referring to a UTC datetime. Format yyyy-MM-ddThh:mm:ssZ,
for example 2024-08-15T01:00:00Z
required: true
schema:
type: string
format: date-time
- name: contractId
in: query
description: The contract id
required: true
schema:
type: string
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/TopLevelPublicIntradayTradeContract'
application/json:
schema:
$ref: '#/components/schemas/TopLevelPublicIntradayTradeContract'
text/json:
schema:
$ref: '#/components/schemas/TopLevelPublicIntradayTradeContract'
'204':
description: No Content
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/Trades/ByDeliveryStart:
get:
tags:
- Intraday
summary: Intraday Trades By Delivery Time
description: "Returns intraday contracts with trades, where the contract delivery start is within\
\ the deliveryStartFrom-deliveryStartTo time range and the trade has at least one leg in the provided\
\ areas. \n\nAll trades have at least one leg belongs to Nord Pool. However, trades where both\
\ legs belong to other PXs are excluded from the response. \n\nData is available with a delay\
\ of approximately 20 minutes.\n \n**Note**: The time difference between deliveryStartFrom\
\ and deliveryStartTo cannot exceed **12** hours.\nThis limitation was introduced for performance\
\ reasons to restrict the response size.\nDuring periods of high load on the system, responses\
\ may take longer than expected.\nIn such situations, it is recommended to query data in hourly\
\ intervals, for example\ndeliveryStartFrom=2025-04-01T**01:00:00**Z and deliveryStartTo=2025-04-01T**02:00:00**Z.\n\
\ \n### Response field descriptions\n \n**contracts**: a list of contracts where the\
\ delivery start time falls within the range specified by \"delivery start from\" and \"delivery\
\ start to\" \n\nEach contract contains:\n- **contractId**: identifier of the contract\n- **contractName**:\
\ a descriptive name for the contract (e.g., QH-20250331-09).\n- **deliveryStart**: the timestamp\
\ when the contract delivery starts\n- **deliveryEnd**: the timestamp when the contract delivery\
\ ends\n- **trades**: a list of trades associated with the contract \n\n Each trade includes:\n\
\ - **tradeId**: identifier of the trade\n - **tradeTime**: the timestamp of trade creation\n\
\ - **tradeUpdatedAt**: the trade creation time (revisionNumber=1) or time of a trade modification\
\ (revisionNumber>1)\n - **tradeState**:\n - **Completed** - the trade is completed\n -\
\ **Cancelled** - the trade is cancelled\n - **Disputed** - the trade is pending decision for\
\ cancellation\n - **revisionNumber**: revision number for trade modification request. Should\
\ be incremented with a subsequent trade modification request.\n - **price**: price in EUR/MWh,\
\ GBP/MWh or ISK/MWh\n - **volume**: quantity in MW\n - **tradePhase**: there's two matching\
\ modes:\n - **Continuous** - the normal top of order book matching\n - **Auction** - the\
\ matching mode, where basically the buy and sell orders are matched in a similar manner as auction\
\ orders.\n This only happens when capacity is added in between areas - basically, in that\
\ case, the order books can be\n overlapping with buys in one area being much higher than\
\ sells in another area.\n In order for the price to be fair for both the sellers and buyers,\
\ this auction matching mode is used.\n - **None** - for old trades without this information\n\
\ - **crossPx**:\n - **false**: both legs belong to the Nord Pool market \n - **true**:\
\ one of the legs belongs to Other Power Exchanges (OPX). Then the trade contains \"referenceOrderId\"\
\ only for the side which is presented in Nord Pool, the other side doesn't have reference order\
\ id (\"referenceOrderId\": null).\n - **legs**: a list of trade legs \n\n Each leg contains:\
\ \n\n - **deliveryArea**: delivery area that this order belongs to \n\n - **referenceOrderId**:\
\ identifier of the order involved in the trade.\n In transactions where one party is external\
\ to Nord Pool, the referenceOrderId will be null for the leg that belongs to OPX.\n - **tradeSide**:\
\ Buy or Sell\n \n[Sample response with valid data for areas NO1,AMP, delivery start\
\ from 2025-05-05T01:00:00Z and delivery start to 2025-05-05T02:00:00Z](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_Trades_ByDeliveryStart.json)"
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: deliveryStartFrom
in: query
description: Earliest delivery start time, referring to a UTC hour. Contracts with delivery start
at this hour or later will be included in the response. Format yyyy-MM-ddThh:mm:ssZ, for example
2024-08-15T01:00:00Z
required: true
schema:
type: string
format: date-time
- name: deliveryStartTo
in: query
description: Latest delivery start time, referring to a UTC hour. Contracts with delivery start
earlier than this hour will be included in the response. Format yyyy-MM-ddThh:mm:ssZ, for example
2024-08-15T02:00:00Z
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiIntradayContainer'
application/json:
schema:
$ref: '#/components/schemas/ApiIntradayContainer'
text/json:
schema:
$ref: '#/components/schemas/ApiIntradayContainer'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/Intraday/Trades/ByTradeTime:
get:
tags:
- Intraday
summary: Intraday Trades By Trade Time
description: "Returns intraday contracts with trades, where trades have a trade time in between\
\ tradeTimeFrom - tradeTimeTo and at least one leg in the provided areas. \n\nAll trades have\
\ at least one leg belongs to Nord Pool. However, trades where both legs belong to other PXs are\
\ excluded from the response. \n\nData is available with a delay of approximately 20 minutes.\n\
\ \n**Note**: The time difference between tradeTimeFrom and tradeTimeTo cannot exceed\
\ **12** hours.\nThis limitation was introduced for performance reasons to restrict the response\
\ size.\nDuring periods of high load on the system, responses may take longer than expected.\n\
In such situations, it is recommended to query data in hourly intervals, for example\ntradeTimeFrom=2025-04-01T**01:00:00**Z\
\ and tradeTimeTo=2025-04-01T**02:00:00**Z.\n\n### Response field descriptions\n \n\
**contracts**: a list of contracts to which these trades belong \n\nEach contract contains:\n\
- **contractId**: identifier of the contract\n- **contractName**: a descriptive name for the contract\
\ (e.g., QH-20250331-09).\n- **deliveryStart**: the timestamp when the contract delivery starts\n\
- **deliveryEnd**: the timestamp when the contract delivery ends\n- **trades**: a list of trades\
\ that have an updated time between updated time from and updated time to \n\n Each trade includes:\n\
\ - **tradeId**: identifier of the trade\n - **tradeTime**: the timestamp of trade creation\n\
\ - **tradeUpdatedAt**: the trade creation time (revisionNumber=1) or time of a trade modification\
\ (revisionNumber>1)\n - **tradeState**:\n - **Completed** - the trade is completed\n -\
\ **Cancelled** - the trade is cancelled\n - **Disputed** - the trade is pending decision for\
\ cancellation\n - **revisionNumber**: revision number for trade modification request. Should\
\ be incremented with a subsequent trade modification request.\n - **price**: price in EUR/MWh,\
\ GBP/MWh or ISK/MWh\n - **volume**: quantity in MW\n - **tradePhase**: there's two matching\
\ modes:\n - **Continuous** - the normal top of order book matching\n - **Auction** - the\
\ matching mode, where basically the buy and sell orders are matched in a similar manner as auction\
\ orders.\n This only happens when capacity is added in between areas - basically, in that\
\ case, the order books can be\n overlapping with buys in one area being much higher than\
\ sells in another area.\n In order for the price to be fair for both the sellers and buyers,\
\ this auction matching mode is used.\n - **None** - for old trades without this information\n\
\ - **crossPx**:\n - **false**: both legs belong to the Nord Pool market \n - **true**:\
\ one of the legs belongs to Other Power Exchanges (OPX). Then the trade contains \"referenceOrderId\"\
\ only for the side which is presented in Nord Pool, the other side doesn't have reference order\
\ id (\"referenceOrderId\": null).\n - **legs**: a list of trade legs \n\n Each leg contains:\
\ \n\n - **deliveryArea**: delivery area that this order belongs to \n\n - **referenceOrderId**:\
\ identifier of the order involved in the trade.\n In transactions where one party is external\
\ to Nord Pool, the referenceOrderId will be null for the leg that belongs to OPX.\n - **tradeSide**:\
\ Buy or Sell\n \n[Sample response with valid data for areas NO1,AMP, trade time from\
\ 2025-05-05T00:30:00Z and trade time to 2025-05-05T01:54:00Z](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/Intraday/get_api_v2_Intraday_Trades_ByTradeTime.json)"
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: KT(legacy),NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2,EE,LT,LV,AT,BE,FR,50Hz,AMP,TTG,TBW,NL,PL,TEL,BG,UK,IS'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: tradeTimeFrom
in: query
description: Trade date and time starts, referring to a UTC datetime. Trades at or later this
time will be included in the response. Format yyyy-MM-ddThh:mm:ssZ, for example 2024-08-15T01:00:00Z
required: true
schema:
type: string
format: date-time
- name: tradeTimeTo
in: query
description: Trade date and time ends, referring to a UTC datetime. Trades earlier than this time
will be included in the response. Format yyyy-MM-ddThh:mm:ssZ, for example 2024-08-15T01:15:00Z
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiIntradayContainer'
application/json:
schema:
$ref: '#/components/schemas/ApiIntradayContainer'
text/json:
schema:
$ref: '#/components/schemas/ApiIntradayContainer'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/ConsumptionForecasts/ByAreas:
get:
tags:
- PowerSystem
summary: Consumption Forecasts
description: "Returns a list of consumption forecasts for a date and a list of areas.\n \
\ \nConsumption forecasts tells how much electricity is expected to be consumed / used in an\
\ area and delivery period. \n \nThis corresponds to the \"Total Load / Day-Ahead\"\
\ data type in the Entso-e Transparency Platform.\n \n### Response field descriptions\n\
- **status**: Missing if no data found for the date and area. Available if data is present\n-\
\ **consumptionForecasts**: a list of delivery periods\n - **deliveryStart**: start of delivery\
\ period\n - **deliveryEnd**: end of delivery period\n - **volume**: the volume expected to\
\ be consumed in the delivery period, in MW \n\nData source: **Entso-e Transparency platform.\
\ Update frequency and data availability depends on data being reported to Entso-e.**\n \
\ \n[Sample response with valid data for areas NO2,NO3 and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_ConsumptionForecasts_ByAreas.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/power-system/consumption-forecast?deliveryDate=latest&deliveryAreas=FI&locations=
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: 50HZ, AMP, AT, BE, DE-LU, LU, DK1, DK2, EE, FI, FR, LT, LV, NL, NO1, NO2, NO3, NO4,
NO5, PL, SE1, SE2,
SE3, SE4, TBW, TTG, TEL, BG'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumptionForecast'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumptionForecast'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumptionForecast'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/ConsumptionForecasts/ByLocations:
get:
tags:
- PowerSystem
summary: Consumption Forecasts By Location
description: "Returns a list of consumption forecasts for a date and a list of locations.\n \
\ \nConsumption forecasts tells how much electricity is expected to be consumed / used\
\ in an area and delivery period. Consumption forecasts by Location aggregates delivery area values\
\ into country or region values. \n \n### Response field descriptions\n- **status**:\
\ Missing if no data found for the date and area. Available if data is present\n- **locationType**:\
\ Country or Region\n- **deliveryAreas**: delivery areas used for this locational aggregation\n\
- **consumptionForecasts**: a list of delivery periods\n - **deliveryStart**: start of delivery\
\ period\n - **deliveryEnd**: end of delivery period\n - **volume**: the volume expected to\
\ be consumed in the delivery period, in MW \n\nData source: **Entso-e Transparency platform.\
\ Update frequency and data availability depends on data being reported to Entso-e.**\n \
\ \n[Sample response with valid data for location NO and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_ConsumptionForecasts_ByLocations.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/power-system/consumption-forecast?deliveryDate=latest&deliveryAreas=&locations=NO
parameters:
- name: locations
in: query
description: 'Comma-separated list of locations (e.g., NO, SE).
Supported: AT, BE, DE, LU, DK, EE, FI, FR, LT, LV, NL, NO, PL, SE, RO, BG, BALTIC, CWE, DE-LU,
NORDIC'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumptionForecastByLocation'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumptionForecastByLocation'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumptionForecastByLocation'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Consumptions/ByAreas:
get:
tags:
- PowerSystem
summary: Consumption
description: "Returns a list of consumptions for a date and a list of areas.\n \nConsumption\
\ tells how much electricity is being consumed / used in an area and delivery period. \n \
\ \nThis corresponds to the \"Total Load / Actual\" data type in the Entso-e Transparency\
\ Platform.\n \n### Response field descriptions\n- **status**: Missing if no data found\
\ for the date and area. Available if data is present\n- **consumptions**: a list of delivery\
\ periods\n - **deliveryStart**: start of delivery period\n - **deliveryEnd**: end of delivery\
\ period\n - **volume**: the volume consumed in the delivery period, in MW\n\nData source: **Entso-e\
\ Transparency platform. Update frequency and data availability depends on data being reported\
\ to Entso-e.**\n \n[Sample response with valid data for areas NO2,NO3 and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Consumptions_ByAreas.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/power-system/consumption?deliveryDate=latest&deliveryAreas=NO1&aggregation=DeliveryPeriod&locations=
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: 50HZ, AMP, AT, BE, DE-LU, LU, DK1, DK2, EE, FI, FR, LT, LV, NL, NO1, NO2, NO3, NO4,
NO5, PL, SE1, SE2,
SE3, SE4, TBW, TTG, TEL, BG'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumption'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumption'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumption'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Consumptions/ByLocations:
get:
tags:
- PowerSystem
summary: Consumption By Location
description: " Returns a list of consumptions for a date and a list of locations.\n \n\
Consumption tells how much electricity is being consumed / used in an area and delivery period.\
\ Consumption by location aggregates delivery area consumption value into country or region values.\
\ \n \n### Response field descriptions\n- **status**: Missing if no data found for\
\ the date and area. Available if data is present\n- **locationType**: Country or Region\n- **deliveryAreas**:\
\ delivery areas used for this locational aggregation\n- **consumptions**: a list of delivery\
\ periods\n - **deliveryStart**: start of delivery period\n - **deliveryEnd**: end of delivery\
\ period\n - **volume**: the volume consumed in the delivery period, in MW \n\nData source: **Entso-e\
\ Transparency platform. Update frequency and data availability depends on data being reported\
\ to Entso-e.**\n \n[Sample response with valid data for location NO and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Consumptions_ByLocations.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/power-system/consumption?deliveryDate=latest&deliveryAreas=&aggregation=DeliveryPeriod&locations=SE
parameters:
- name: locations
in: query
description: 'Comma-separated list of locations (e.g., NO, SE).
Supported: AT, BE, DE, LU, DK, EE, FI, FR, LT, LV, NL, NO, PL, SE, RO, BG, BALTIC, CWE, DE-LU,
NORDIC'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumptionByLocation'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumptionByLocation'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiConsumptionByLocation'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Consumptions/Yearly/ByArea:
get:
tags:
- PowerSystem
summary: Yearly Consumption
description: " Returns a list of consumptions for a year and one area.\n \nConsumption\
\ tells how much electricity is being consumed / used in an area and delivery period. \n \
\ \nThis corresponds to the \"Total Load / Actual\" data type in the Entso-e Transparency\
\ Platform.\n \n This yearly summary is updated in a rolling manner, and is updated\
\ daily.\n\n### Response field descriptions\n- **yearlySummary**: total MWh consumption for the\
\ year\n- **monthlySummaries**: a list of monthly consumption values\n - **deliveryDateStartCET**:\
\ the earliest date taken into account in this monthly summary\n - **deliveryDateEndCET**: the\
\ latest date taken into account in this monthly summary \n - **totalVolume**: total consumption\
\ volume in MWh for the month\n- **dailySummaries**: a list of daily consumption values\n - **deliveryDateCET**:\
\ the CET delivery date for this summary\n - **totalVolume**: total consumption volume in MWh\
\ for the day\n- **consumptions**: a list of delivery periods\n - **deliveryStart**: start of\
\ delivery period\n - **deliveryEnd**: end of delivery period\n - **volume**: the volume consumed\
\ in the delivery period, in MW \n\nData source: **Entso-e Transparency platform. Update frequency\
\ and data availability depends on data being reported to Entso-e.**\n \n[Sample response\
\ with valid data for area NO2 and year 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Consumptions_Yearly_ByArea.json)"
parameters:
- name: area
in: query
description: 'One area. For example NO1.
Supported: 50HZ, AMP, AT, BE, DE-LU, LU, DK1, DK2, EE, FI, FR, LT, LV, NL, NO1, NO2, NO3, NO4,
NO5, PL, SE1, SE2,
SE3, SE4, TBW, TTG, TEL, BG'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiYearlyConsumptionByArea'
application/json:
schema:
$ref: '#/components/schemas/ApiYearlyConsumptionByArea'
text/json:
schema:
$ref: '#/components/schemas/ApiYearlyConsumptionByArea'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Consumptions/Yearly/ByLocation:
get:
tags:
- PowerSystem
summary: Yearly Consumption by Location
description: " Returns a list of consumptions for a year and one location.\n\nConsumption tells\
\ how much electricity is being consumed / used in an area and delivery period. Consumption by\
\ location aggregates delivery area consumption value into country or region values. \n \
\ \n This yearly summary is updated in a rolling manner, and is updated daily.\n \
\ \n### Response field descriptions\n- **status**: Missing if no data found for the date and\
\ area. Available if data is present\n- **locationType**: Country or Region\n- **deliveryAreas**:\
\ delivery areas used for this locational aggregation\n- **yearlySummary**: total MWh consumption\
\ for the year\n- **monthlySummaries**: a list of monthly consumption values\n - **deliveryDateStartCET**:\
\ the earliest date taken into account in this monthly summary\n - **deliveryDateEndCET**: the\
\ latest date taken into account in this monthly summary \n - **totalVolume**: total consumption\
\ volume in MWh for the month\n- **dailySummaries**: a list of daily consumption values\n - **deliveryDateCET**:\
\ the CET delivery date for this summary\n - **totalVolume**: total consumption volume in MWh\
\ for the day\n- **consumptions**: a list of delivery periods\n - **deliveryStart**: start of\
\ delivery period\n - **deliveryEnd**: end of delivery period\n - **volume**: the volume consumed\
\ in the delivery period, in MW \n\nData source: **Entso-e Transparency platform. Update frequency\
\ and data availability depends on data being reported to Entso-e.**\n \n[Sample response\
\ with valid data for location NO and year 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Consumptions_Yearly_ByLocation.json)"
parameters:
- name: location
in: query
description: 'One location. For example NO.
Supported: AT, BE, DE, LU, DK, EE, FI, FR, LT, LV, NL, NO, PL, SE, RO, BG, BALTIC, CWE, DE-LU,
NORDIC'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiYearlyConsumptionByLocation'
application/json:
schema:
$ref: '#/components/schemas/ApiYearlyConsumptionByLocation'
text/json:
schema:
$ref: '#/components/schemas/ApiYearlyConsumptionByLocation'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Exchanges/ByAreas:
get:
tags:
- PowerSystem
summary: Exchange
description: "Returns a list of exchanges for a date and a list of areas.\n \nExchange\
\ tells how much electricity has been importer or exported for an area and delivery period. This\
\ is the actual measured flow.\n \nThis corresponds to the \"Physical Flows\" data\
\ type in the Entso-e Transparency Platform.\n \n### Response field descriptions\n\
- **dailyTotalImport**: total MWh imported volume\n- **dailyTotalExport**: total MWh exported\
\ volume\n- **dailyTotalNetPosition**: total net position in MWh (total import - total export).\n\
- **exchanges**: a list of delivery periods, containing all exchanges for that period\n - **byConnection**:\
\ a list of all connections that has a flow for the period. Each connection is identified by an\
\ area and optionally by a connection name. The Connection name is only present if multiple connections\
\ exists on the same border. **import** gives the import volume in MW, **export** the export volume\
\ in MW and **netPosition** describes import-export\n - **totalImport**: sum of all connection\
\ import volumes given in MW\n - **totalExport**: sum of all connection export volumes given\
\ in MW\n - **totalNetPosition**: total import - total export\n\nData source: **Entso-e Transparency\
\ platform. Update frequency and data availability depends on data being reported to Entso-e.**\n\
\ \n[Sample response with valid data for areas NO2,NO3 and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Exchanges_ByAreas.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/power-system/exchange?deliveryDate=latest&deliveryArea=DK1&displayImportExport=true
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: 50HZ, AMP, AT, BE, DE-LU, DK1, DK2, EE, FI, FR, LT, LV, NL, NO1, NO2, NO3, NO4, NO5,
PL, SE1, SE2, SE3,
SE4, TBW, TTG, TEL, BG'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiExchange'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiExchange'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiExchange'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Exchanges/Yearly/ByArea:
get:
tags:
- PowerSystem
summary: Yearly Exchange
description: "Returns an annual summary of exchanges for a year and one area.\n \nExchange\
\ tells how much electricity has been importer or exported for an area and delivery period. This\
\ is the actual measured flow.\n \nThis corresponds to the \"Physical Flows\" data\
\ type in the Entso-e Transparency Platform.\n \n### Response field descriptions\n\
- **dailyTotalImport**: total MWh imported volume\n- **dailyTotalExport**: total MWh exported\
\ volume\n- **dailyTotalNetPosition**: total net position in MWh (total import - total export).\n\
- **dailySummaries**: contains a list of daily summaries for all exchanges for that day\n - **totalImport**:\
\ total import volume for the day, in MWh\n - **totalExport**: total export volume for the day,\
\ in MWh\n - **totalNetPosition**: total net position for the day (total import - total export),\
\ in MWh\n - **byConnections**: list of all connections used for the day, with total imports\
\ and exports given in MWh\n - **deliveryDateCET**: the CET delivery date for this summary\n\
- **monthlySummaries**: contains a list of monthly summaries for all exchanges for that month\n\
\ - **totalImport**: total import volume for the day, in MWh\n - **totalExport**: total export\
\ volume for the day, in MWh\n - **totalNetPosition**: total net position for the day (total\
\ import - total export), in MWh\n - **byConnections**: list of all connections used for the\
\ day, with total imports and exports given in MWh\n - **deliveryDateStartCET**: the earliest\
\ date taken into account in this monthly summary\n - **deliveryDateEndCET**: the latest date\
\ taken into account in this monthly summary\n- **yearlySummary**: total exchange for the year\n\
\ - **totalImport**: total import volume for the year, in MWh\n - **totalExport**: total export\
\ volume for the year, in MWh\n - **totalNetPosition**: total net position for the year (total\
\ import - total export), in MWh\n - **byConnections**: list of all connections used for the\
\ year, with total imports and exports given in MWh\n- **exchanges**: a list of delivery periods,\
\ containing all exchanges for that period\n - **byConnection**: a list of all connections that\
\ has a flow for the period. Each connection is identified by an area and optionally by a connection\
\ name. The Connection name is only present if multiple connections exists on the same border.\
\ **import** gives the import volume in MW, **export** the export volume in MW and **netPosition**\
\ describes import-export\n - **totalImport**: sum of all connection import volumes given in\
\ MW\n - **totalExport**: sum of all connection export volumes given in MW\n - **totalNetPosition**:\
\ total import - total export\n \nData source: **Entso-e Transparency platform. Update\
\ frequency and data availability depends on data being reported to Entso-e.**\n \n\
[Sample response with valid data for area NO2 and year 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Exchanges_Yearly_ByArea.json)"
parameters:
- name: area
in: query
description: 'One area. For example NO1.
Supported: 50HZ, AMP, AT, BE, DE-LU, DK1, DK2, EE, FI, FR, LT, LV, NL, NO1, NO2, NO3, NO4, NO5,
PL, SE1, SE2, SE3,
SE4, TBW, TTG, TEL, BG'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiYearlyExchange'
application/json:
schema:
$ref: '#/components/schemas/ApiYearlyExchange'
text/json:
schema:
$ref: '#/components/schemas/ApiYearlyExchange'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/HydroReservoirReserves/ByAreas:
get:
tags:
- PowerSystem
summary: Hydro Reservoir Reserves
description: "Returns a list of weekly hydro reservoir values for a year and a list of areas.\n\
\ \n### Response field descriptions\n- **hydroReservoirReserves**: a list of weekly\
\ reservoir values \n - **isoWeek**: the ISO week for the year\n - **weekStartDate**: CET start\
\ date for the week\n - **weekEndDate**: CET end date for the week\n - **maxCapacityInGigawattHour**:\
\ maximum storage capacity for the area (or region)\n - **currentCapacityInGigawattHours**: current\
\ weekly capacity\n - **utilizationPercentage**: utilization given in percentage. Equal to ((currentCapacity)\
\ / (max Capacity)) * 100 \n \n[Sample response with valid data for area NO2 and year\
\ 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_HydroReservoirReserves_ByAreas.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/power-system/reservoir?isoYear=2025&deliveryArea=NO2
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: NO, NO1, NO2, NO3, NO4, NO5, SE, SE1, SE2, SE3, SE4, FI, TEL'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiHydro'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiHydro'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiHydro'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/ProductionForecasts/ByAreas:
get:
tags:
- PowerSystem
summary: Production Forecasts
description: "Returns a list of production forecasts for a date and a list of areas.\n \
\ \nThis data type aggregates data from the \"Generation Forecasts for Wind and Solar\" and\
\ \"Generation Forecast - Day ahead\" views, from the Transparency Platform. \n \n\
### Response field descriptions\n- **status**: Missing if no data found for the date and area.\
\ Available if data is present\n- **productionForecasts**: a list of delivery periods\n - **forecastByType**:\
\ a dictionary of production types.\n - **dayAheadPrognosis**: a forecast value for how much\
\ production will happen for this period, done the day before at ~18:00 CET\n - **intradayPrognosis**:\
\ a forecast value for how much production will happen in this period, done during the delivery\
\ day at 08:00 CET\n - **currentPrognosis**: a continuously updated forecast for how much production\
\ will happen in this period\n - **totalDayAheadPrognosis**: an estimate of the total scheduled\
\ generation in this delivery period. Note that this is not equal to the sum of all production\
\ forecast types, only some types have individual forecasts. \n \nNote that the provided\
\ forecast types vary in between areas and TSOs. \n\nData source: **Entso-e Transparency platform.\
\ Update frequency and data availability depends on data being reported to Entso-e.**\n \
\ \n[Sample response with valid data for areas NO2,NO3 and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_ProductionForecasts_ByAreas.json)"
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: 50HZ, AMP, AT, BE, DE-LU, LU, DK1, DK2, EE, FI, FR, LT, LV, NL, NO1, NO2, NO3, NO4,
NO5, PL, SE1, SE2,
SE3, SE4, TBW, TTG, TEL, BG'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProductionForecast'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProductionForecast'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProductionForecast'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/ProductionForecasts/ByLocations:
get:
tags:
- PowerSystem
summary: Production Forecasts by Location
description: "Returns a list of production forecasts by locations for a date and a list of locations.\n\
\ \nProduction Forecast by Location aggregates delivery area Production Forecast values\
\ into country or region values. \n \n### Response field descriptions\n- **status**:\
\ Missing if no data found for the date and area. Available if data is present\n- **locationType**:\
\ Country or Region\n- **deliveryAreas**: delivery areas used for this locational aggregation\n\
- **productionForecasts**: a list of delivery periods\n - **forecastByType**: a dictionary of\
\ production types.\n - **dayAheadPrognosis**: a forecast value for how much production will\
\ happen for this period, done the day before at ~18:00 CET\n - **intradayPrognosis**: a forecast\
\ value for how much production will happen in this period, done during the delivery day at 08:00\
\ CET\n - **currentPrognosis**: a continuously updated forecast for how much production will\
\ happen in this period\n - **totalDayAheadPrognosis**: an estimate of the total scheduled generation\
\ in this delivery period. Note that this is not equal to the sum of all production forecast types,\
\ only some types have individual forecasts. \n \nNote that the provided forecast types\
\ vary in between areas and TSOs. \n\nData source: **Entso-e Transparency platform. Update frequency\
\ and data availability depends on data being reported to Entso-e.**\n \n[Sample response\
\ with valid data for location NO and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_ProductionForecasts_ByLocations.json)"
parameters:
- name: locations
in: query
description: 'Comma-separated list of locations
Supported: AT, BE, DE, LU, DK, EE, FI, FR, LT, LV, NL, NO, PL, SE, RO, BG, BALTIC, CWE, DE-LU,
NORDIC'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProductionForecastByLocation'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProductionForecastByLocation'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProductionForecastByLocation'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Productions/ByAreas:
get:
tags:
- PowerSystem
summary: Production
description: "Returns a list of productions for a date and a list of areas.\n \nProduction\
\ tells how much electricity is being produced in an area and delivery period for each production\
\ type. \n \nThis corresponds to the \"Actual Generation per Production Type\" data\
\ type in the Entso-e Transparency Platform.\n\n### Response field descriptions\n- **status**:\
\ Missing if no data found for the date and area. Available if data is present\n- **productions**:\
\ a list of delivery periods\n - **deliveryStart**: start of delivery period\n - **deliveryEnd**:\
\ end of delivery period\n - **byType**: a dictionary of production types, where each key corresponds\
\ to a production type and each value to production volume for that type, in MW.\n - **total**:\
\ a sum of all production values for this delivery period, in MW\n\nData source: **Entso-e Transparency\
\ platform. Update frequency and data availability depends on data being reported to Entso-e.**\n\
\ \n[Sample response with valid data for areas NO2,NO3 and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Productions_ByAreas.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/power-system/production?deliveryDate=latest&deliveryArea=NO2&location=&aggregation=DeliveryPeriod
parameters:
- name: areas
in: query
description: 'Comma-separated list of areas (e.g., NO1, NO2).
Supported: 50HZ, AMP, AT, BE, DE-LU, LU, DK1, DK2, EE, FI, FR, LT, LV, NL, NO1, NO2, NO3, NO4,
NO5, PL, SE1, SE2,
SE3, SE4, TBW, TTG, TEL, BG'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProduction'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProduction'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProduction'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Productions/ByLocations:
get:
tags:
- PowerSystem
summary: Production By Location
description: "Returns a list of productions for a date and a list of locations.\n \n\
Production tells how much electricity is being produced in an area and delivery period for each\
\ production type. Production by location aggregates delivery area production value into country\
\ or region values. \n \n### Response field descriptions\n- **status**: Missing if\
\ no data found for the date and area. Available if data is present\n- **locationType**: Country\
\ or Region\n- **deliveryAreas**: delivery areas used for this locational aggregation\n- **productions**:\
\ a list of delivery periods\n - **deliveryStart**: start of delivery period\n - **deliveryEnd**:\
\ end of delivery period\n - **byType**: a dictionary of production types, where each key corresponds\
\ to a production type and each value to production volume for that type, in MW.\n - **total**:\
\ a sum of all production values for this delivery period, in MW\n \nData source: **Entso-e\
\ Transparency platform. Update frequency and data availability depends on data being reported\
\ to Entso-e.**\n \n[Sample response with valid data for location NO and date 2025-05-05](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Productions_ByLocations.json)"
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/power-system/production?deliveryDate=latest&deliveryArea=&location=NO&aggregation=DeliveryPeriod
parameters:
- name: locations
in: query
description: 'Comma-separated list of locations (e.g., NO, SE).
Supported: AT, BE, DE, LU, DK, EE, FI, FR, LT, LV, NL, NO, PL, SE, RO, BG, BALTIC, CWE, DE-LU,
NORDIC'
required: true
schema:
minItems: 1
type: string
items:
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProductionByLocation'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProductionByLocation'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiProductionByLocation'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Productions/Yearly/ByArea:
get:
tags:
- PowerSystem
summary: Yearly Production
description: "Returns a list of productions for a year and one area.\n\nProduction tells how much\
\ electricity is being produced in an area and delivery period for each production type. \n \
\ \nThis corresponds to the \"Actual Generation per Production Type\" data type in the\
\ Entso-e Transparency Platform.\n\n### Response field descriptions\n- **status**: Missing if\
\ no data found for the date and area. Available if data is present\n- **yearlySummary**: yearly\
\ total aggregated production\n - **byType**: a dictionary of production types, where each key\
\ corresponds to a production type and each value to production volume for that type, in MWh.\n\
\ - **total**: the total production volume, in MWh\n- **monthlySummaries**: a list of aggregated\
\ production values per month\n - **byType**: a dictionary of production types, where each key\
\ corresponds to a production type and each value to production volume for that type, in MWh.\n\
\ - **total**: the total production volume, in MWh\n- **dailySummaries**: a list of aggregated\
\ production values per day\n - **byType**: a dictionary of production types, where each key\
\ corresponds to a production type and each value to production volume for that type, in MWh.\n\
\ - **total**: the total production volume, in MWh\n- **productions**: a list of delivery periods\n\
\ - **deliveryStart**: start of delivery period\n - **deliveryEnd**: end of delivery period\n\
\ - **byType**: a dictionary of production types, where each key corresponds to a production\
\ type and each value to production volume for that type, in MW.\n - **total**: a sum of all\
\ production values for this delivery period, in MW\n\nData source: **Entso-e Transparency platform.\
\ Update frequency and data availability depends on data being reported to Entso-e.**\n \
\ \n[Sample response with valid data for area NO2 and year 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Productions_Yearly_ByArea.json)"
parameters:
- name: area
in: query
description: 'One area. For example NO1.
Supported: 50HZ, AMP, AT, BE, DE-LU, LU, DK1, DK2, EE, FI, FR, LT, LV, NL, NO1, NO2, NO3, NO4,
NO5, PL, SE1, SE2,
SE3, SE4, TBW, TTG, TEL, BG'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiYearlyProductionByArea'
application/json:
schema:
$ref: '#/components/schemas/ApiYearlyProductionByArea'
text/json:
schema:
$ref: '#/components/schemas/ApiYearlyProductionByArea'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/PowerSystem/Productions/Yearly/ByLocation:
get:
tags:
- PowerSystem
summary: Yearly Production By Location
description: "Returns a list of productions for a year and one location.\n \nProduction\
\ tells how much electricity is being produced in an area and delivery period for each production\
\ type. Production by location aggregates delivery area production value into country or region\
\ values. \n \n### Response field descriptions\n- **status**: Missing if no data found\
\ for the date and area. Available if data is present\n- **locationType**: Country or Region\n\
- **deliveryAreas**: delivery areas used for this locational aggregation\n- **yearlySummary**:\
\ yearly total aggregated production\n - **byType**: a dictionary of production types, where\
\ each key corresponds to a production type and each value to production volume for that type,\
\ in MWh.\n - **total**: the total production volume, in MWh\n- **monthlySummaries**: a list\
\ of aggregated production values per month\n - **byType**: a dictionary of production types,\
\ where each key corresponds to a production type and each value to production volume for that\
\ type, in MWh.\n - **total**: the total production volume, in MWh\n- **dailySummaries**: a list\
\ of aggregated production values per day\n - **byType**: a dictionary of production types, where\
\ each key corresponds to a production type and each value to production volume for that type,\
\ in MWh.\n - **total**: the total production volume, in MWh\n- **productions**: a list of delivery\
\ periods\n - **deliveryStart**: start of delivery period\n - **deliveryEnd**: end of delivery\
\ period\n - **byType**: a dictionary of production types, where each key corresponds to a production\
\ type and each value to production volume for that type, in MW.\n - **total**: a sum of all\
\ production values for this delivery period, in MW\n \n[Sample response with valid\
\ data for location NO and year 2021](https://proddataservicespublic.blob.core.windows.net/public-api-response-samples/PowerSystem/get_api_v2_PowerSystem_Productions_Yearly_ByLocation.json)"
parameters:
- name: location
in: query
description: 'One location. For example NO.
Supported: AT, BE, DE, LU, DK, EE, FI, FR, LT, LV, NL, NO, PL, SE, RO, BG, BALTIC, CWE, DE-LU,
NORDIC'
required: true
schema:
minLength: 1
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiYearlyProductionByLocation'
application/json:
schema:
$ref: '#/components/schemas/ApiYearlyProductionByLocation'
text/json:
schema:
$ref: '#/components/schemas/ApiYearlyProductionByLocation'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/System/Price:
get:
tags:
- System
summary: System Price
description: "Returns the system price for a delivery date and currency.\n \nSystem price\
\ is an artificial index price based on orders from the Day-ahead auction. The system price is\
\ calculating a single price for the Nordic region (Sweden, Finland, Norway, Denmark) based on\
\ orders from all power exchanges in the Nordics. Import and export flows from other regions are\
\ set to the same as the Day-ahead auction outcome. All capacity constraints are removed within\
\ the Nordic region, and a single price is gotten by matching all orders from the Nordic region.\n\
\ \n### Response field descriptions\n- **status**: Missing if data does not exist.\
\ Preliminary if the market coupling session is not complete, or the exchange rate has not been\
\ finalized yet. Final once exchange rate is set and market coupling session is complete. Cancelled\
\ if the auction is cancelled.\n- **exchangeRate**: the exchange rate used to calculate the currency\
\ price. 1 if the currency is the same as the main market currency.\n- **prices**: the settlement\
\ price for each period. If no trading happens, then the price might be null\n- **blockPrices**:\
\ average price for periods (block) of the day\n \nPreliminary prices can change, and\
\ exchange rates for local currencies are only finalized on Norwegian banking days."
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/auction/day-ahead/system?deliveryDate=latest¤cy=EUR
parameters:
- name: currency
in: query
description: 'Available currencies: EUR, SEK, NOK, DKK'
required: true
schema:
maxLength: 3
minLength: 3
type: string
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiSystemPrice'
application/json:
schema:
$ref: '#/components/schemas/ApiSystemPrice'
text/json:
schema:
$ref: '#/components/schemas/ApiSystemPrice'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/System/Price/Yearly:
get:
tags:
- System
summary: Yearly System Price
description: " Returns system prices for a year and currency\n \nSystem price is an artificial\
\ index price based on orders from the Day-ahead auction. The system price is calculating a single\
\ price for the Nordic region (Sweden, Finland, Norway, Denmark) based on orders from all power\
\ exchanges in the Nordics. Import and export flows from other regions are set to the same as\
\ the Day-ahead auction outcome. All capacity constraints are removed within the Nordic region,\
\ and a single price is gotten by matching all orders from the Nordic region.\n \n\
### Response field descriptions\n- **prices**: the settlement price for each period. If no trading\
\ happens, then the price might be null\n- **blockPrices**: average price for a periods of the\
\ day, called blocks.\n- **dailySummaries**: contains min, max and average price for each day\
\ in the year\n- **monthlySummaries**: contains min, max and average price for each month of the\
\ year\n- **weeklySummaries**: contains min, max and average price for each week of the year.\
\ Note this can include date ranges outside the actual year, since weeks do not align nicely with\
\ the yearly calendar.\n- **yearlySummary**: min, max and average price for the full year.\n \
\ \n Only final system prices are included in this endpoint."
parameters:
- name: currency
in: query
description: 'Available currencies: EUR, SEK, NOK, DKK'
required: true
schema:
maxLength: 3
minLength: 3
type: string
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiSystemYearlyPrice'
application/json:
schema:
$ref: '#/components/schemas/ApiSystemYearlyPrice'
text/json:
schema:
$ref: '#/components/schemas/ApiSystemYearlyPrice'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/System/Turnover:
get:
tags:
- System
summary: System Turnover
description: "Returns the system turnover volume for a date.\n \nSystem turnover refers\
\ to the total purchase volume that comes from the system price calculation across the whole Nordic\
\ region.\n \n### Response field descriptions\n- **status**: Missing if data does not\
\ exist. Preliminary if the market coupling session is not complete. Final once the market coupling\
\ session is complete. Cancelled if the auction is cancelled.\n- **totalTurnover**: the total\
\ daily turnover in MWh\n- **averageTurnover**: the average turnover for the day across all delivery\
\ periods\n- **minTurnover**: the minimum turnover for the day\n- **maxTurnover**: the maximum\
\ turnover for the day\n- **volumes**: the turnover volume in MW for each delivery period\n- **blockVolumes**:\
\ list of turnover in MWh for a period of the day."
externalDocs:
description: Data portal link
url: https://data.nordpoolgroup.com/auction/day-ahead/system?deliveryDate=latest¤cy=EUR
parameters:
- name: date
in: query
description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
required: true
schema:
type: string
format: date
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiSystemTurnover'
application/json:
schema:
$ref: '#/components/schemas/ApiSystemTurnover'
text/json:
schema:
$ref: '#/components/schemas/ApiSystemTurnover'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
/api/v2/System/Turnover/Yearly:
get:
tags:
- System
summary: Yearly System Turnover
description: "Returns system turnover volumes for a year\n \nSystem turnover refers to\
\ the total purchase volume that comes from the system price calculation across the whole Nordic\
\ region.\n \n### Response field descriptions\n**yearlySummary**: \n - **totalTurnover**:\
\ contains total turnover volume in MWh for the year\n - **averageTurnover**: the average turnover\
\ volume in MW across all delivery periods\n - **minTurnover**: the minimum turnover in MW across\
\ all delivery periods\n - **maxTurnover**: the maximum turnover in MW across all delivery periods\n\
\ \n**monthlySummary**: a list of monthly aggregate values\n - **totalTurnover**: contains\
\ total turnover volume in MWh for the month\n - **averageTurnover**: the average turnover volume\
\ in MW across all delivery periods in the month\n - **minTurnover**: the minimum turnover in\
\ MW across all delivery periods in the month\n - **maxTurnover**: the maximum turnover in MW\
\ across all delivery periods in the month\n \n**dailySummary**: a list of daily aggregate\
\ values\n - **totalTurnover**: contains total turnover volume in MWh for the day\n - **averageTurnover**:\
\ the average turnover volume in MW across all delivery periods in the day\n - **minTurnover**:\
\ the minimum turnover in MW across all delivery periods in the day\n - **maxTurnover**: the maximum\
\ turnover in MW across all delivery periods in the day\n\n**blockSummaries**: a list of turnover\
\ volumes in MWh for a period of the day.\n \n**volumes**: a list of turnover volumes\
\ in MW per delivery period\n\nOnly final system turnover volumes are included in this endpoint."
parameters:
- name: year
in: query
description: 'Year in CET (format: yyyy, e.g., 2024)'
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiSystemYearlyTurnover'
application/json:
schema:
$ref: '#/components/schemas/ApiSystemYearlyTurnover'
text/json:
schema:
$ref: '#/components/schemas/ApiSystemYearlyTurnover'
'401':
description: Unauthorized
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'403':
description: Forbidden
content:
text/plain:
schema:
type: string
application/json:
schema:
type: string
text/json:
schema:
type: string
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
components:
schemas:
AggregatedBidCurveMarkets:
enum:
- DayAhead
- SIDC_IntradayAuction1
- SIDC_IntradayAuction2
- SIDC_IntradayAuction3
type: string
ApiAggregatedCluster:
required:
- region
type: object
properties:
deliveryDateCET:
type: string
format: date
region:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
currencyUnit:
type: string
nullable: true
readOnly: true
volumeUnit:
type: string
nullable: true
readOnly: true
market:
$ref: '#/components/schemas/AggregatedBidCurveMarkets'
aggregatedOrderPositions:
type: array
items:
$ref: '#/components/schemas/ApiAggregatedOrderPosition'
nullable: true
blockOrders:
type: array
items:
$ref: '#/components/schemas/ApiBlockOrder'
nullable: true
additionalProperties: false
ApiAggregatedOrderPosition:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
exportVolume:
type: number
format: double
importVolume:
type: number
format: double
realizedCurveDemandVolume:
type: number
format: double
realizedCurveSupplyVolume:
type: number
format: double
realizedNonCurveDemandVolume:
type: number
format: double
realizedNonCurveSupplyVolume:
type: number
format: double
demandCurve:
type: array
items:
$ref: '#/components/schemas/ApiPricePoint'
nullable: true
supplyCurve:
type: array
items:
$ref: '#/components/schemas/ApiPricePoint'
nullable: true
aggregatedDemandCurve:
type: array
items:
$ref: '#/components/schemas/ApiPricePoint'
nullable: true
aggregatedSupplyCurve:
type: array
items:
$ref: '#/components/schemas/ApiPricePoint'
nullable: true
additionalProperties: false
ApiAuctionCapacity:
required:
- deliveryArea
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
market:
$ref: '#/components/schemas/Market'
status:
$ref: '#/components/schemas/ApiAvailableStatus'
deliveryArea:
type: string
nullable: true
unit:
type: string
nullable: true
readOnly: true
dailyTotalUnit:
type: string
nullable: true
readOnly: true
dailyTotalExport:
type: number
format: double
nullable: true
dailyTotalImport:
type: number
format: double
nullable: true
capacities:
type: array
items:
$ref: '#/components/schemas/AtcCapacity'
nullable: true
maxNtcValues:
type: array
items:
$ref: '#/components/schemas/MaxNtcValue'
nullable: true
additionalProperties: false
ApiAuctionPrice:
required:
- currency
- deliveryArea
- marketMainCurrency
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
status:
$ref: '#/components/schemas/ApiAuctionStatus'
unit:
type: string
nullable: true
readOnly: true
currency:
type: string
nullable: true
exchangeRate:
type: number
format: double
nullable: true
marketMainCurrency:
type: string
nullable: true
averagePrice:
type: number
format: double
nullable: true
minPrice:
type: number
format: double
nullable: true
maxPrice:
type: number
format: double
nullable: true
prices:
type: array
items:
$ref: '#/components/schemas/PriceEntry'
nullable: true
market:
$ref: '#/components/schemas/Market'
deliveryArea:
type: string
nullable: true
blockPrices:
type: array
items:
$ref: '#/components/schemas/BlockPriceAggregate'
nullable: true
additionalProperties: false
ApiAuctionPriceIndex:
required:
- currency
- indexName
- marketMainCurrency
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
status:
$ref: '#/components/schemas/ApiAuctionStatus'
unit:
type: string
nullable: true
readOnly: true
currency:
type: string
nullable: true
exchangeRate:
type: number
format: double
nullable: true
marketMainCurrency:
type: string
nullable: true
averagePrice:
type: number
format: double
nullable: true
minPrice:
type: number
format: double
nullable: true
maxPrice:
type: number
format: double
nullable: true
prices:
type: array
items:
$ref: '#/components/schemas/PriceEntry'
nullable: true
market:
$ref: '#/components/schemas/Market'
indexName:
type: string
nullable: true
resolution:
type: string
format: date-span
baseResolution:
type: string
format: date-span
deliveryAreas:
type: array
items:
type: string
nullable: true
additionalProperties: false
ApiAuctionStatus:
enum:
- Missing
- Preliminary
- Final
- Cancelled
type: string
ApiAuctionVolume:
required:
- deliveryArea
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
deliveryArea:
type: string
nullable: true
market:
$ref: '#/components/schemas/Market'
status:
$ref: '#/components/schemas/ApiAuctionStatus'
unit:
type: string
nullable: true
readOnly: true
totalVolumeUnit:
type: string
nullable: true
readOnly: true
totalVolume:
$ref: '#/components/schemas/VolumeAggregate'
averageVolume:
$ref: '#/components/schemas/VolumeAggregate'
minVolume:
$ref: '#/components/schemas/VolumeAggregate'
maxVolume:
$ref: '#/components/schemas/VolumeAggregate'
blockVolumesUnit:
type: string
nullable: true
readOnly: true
blockVolumes:
type: array
items:
$ref: '#/components/schemas/BlockVolumeAggregate'
nullable: true
volumes:
type: array
items:
$ref: '#/components/schemas/AuctionsVolumeEntry'
nullable: true
additionalProperties: false
ApiAuctionYearlyCapacity:
required:
- deliveryArea
- unit
type: object
properties:
market:
$ref: '#/components/schemas/Market'
deliveryArea:
type: string
nullable: true
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
capacities:
type: array
items:
$ref: '#/components/schemas/AtcCapacity'
nullable: true
dailyTotalUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/CapacityDailySummary'
nullable: true
additionalProperties: false
ApiAuctionYearlyFlow:
required:
- deliveryArea
- unit
type: object
properties:
market:
$ref: '#/components/schemas/Market'
deliveryArea:
type: string
nullable: true
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAuctionStatus'
updatedAt:
type: string
format: date-time
dailyTotalUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/FlowDailySummary'
nullable: true
unit:
type: string
nullable: true
flows:
type: array
items:
$ref: '#/components/schemas/ApiTransfer'
nullable: true
additionalProperties: false
ApiAuctionYearlyPrice:
required:
- currency
- deliveryArea
- marketMainCurrency
- unit
type: object
properties:
market:
$ref: '#/components/schemas/Market'
deliveryArea:
type: string
nullable: true
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAuctionStatus'
unit:
type: string
nullable: true
currency:
type: string
nullable: true
marketMainCurrency:
type: string
nullable: true
blockPrices:
type: array
items:
$ref: '#/components/schemas/BlockPriceAggregate'
nullable: true
prices:
type: array
items:
$ref: '#/components/schemas/PriceEntry'
nullable: true
yearlySummary:
$ref: '#/components/schemas/Summary'
dailySummaries:
type: array
items:
$ref: '#/components/schemas/SummaryPrice'
nullable: true
weeklySummaries:
type: array
items:
$ref: '#/components/schemas/WeeklyPriceSummary'
nullable: true
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/MonthlyPriceSummary'
nullable: true
updatedAt:
type: string
format: date-time
additionalProperties: false
ApiAuctionYearlyPriceIndex:
required:
- currency
- indexName
- marketMainCurrency
- unit
type: object
properties:
market:
$ref: '#/components/schemas/Market'
indexName:
type: string
nullable: true
deliveryAreas:
type: array
items:
type: string
nullable: true
resolution:
type: string
format: date-span
year:
type: integer
format: int32
currency:
type: string
nullable: true
marketMainCurrency:
type: string
nullable: true
unit:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAuctionStatus'
updatedAt:
type: string
format: date-time
prices:
type: array
items:
$ref: '#/components/schemas/PriceEntry'
nullable: true
additionalProperties: false
ApiAuctionYearlyScheduledPhysicalFlow:
required:
- deliveryArea
- unit
type: object
properties:
market:
$ref: '#/components/schemas/Market'
deliveryArea:
type: string
nullable: true
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAuctionStatus'
updatedAt:
type: string
format: date-time
dailyTotalUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/FlowDailySummary'
nullable: true
unit:
type: string
nullable: true
flows:
type: array
items:
$ref: '#/components/schemas/ApiTransfer'
nullable: true
additionalProperties: false
ApiAuctionYearlyVolume:
required:
- deliveryArea
type: object
properties:
market:
$ref: '#/components/schemas/Market'
deliveryArea:
type: string
nullable: true
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAuctionStatus'
blockVolumeUnit:
type: string
nullable: true
blockVolumes:
type: array
items:
$ref: '#/components/schemas/BlockVolumeAggregate'
nullable: true
unit:
type: string
nullable: true
volumes:
type: array
items:
$ref: '#/components/schemas/AuctionsVolumeEntry'
nullable: true
totalVolumeUnit:
type: string
nullable: true
yearlySummary:
$ref: '#/components/schemas/VolumeSummary'
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/VolumeMonthlySummary'
nullable: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/VolumeDailySummary'
nullable: true
updatedAt:
type: string
format: date-time
additionalProperties: false
ApiAvailableStatus:
enum:
- Missing
- Available
type: string
ApiBlockOrder:
type: object
properties:
id:
type: integer
format: int32
side:
$ref: '#/components/schemas/OrderSide'
exclusiveGroupId:
type: integer
format: int32
nullable: true
minimumAcceptanceRatio:
type: number
format: double
linkedOrderId:
type: integer
format: int32
nullable: true
price:
type: number
format: double
paradoxicallyRejected:
type: boolean
nullable: true
actualAcceptanceRatio:
type: number
format: double
nullable: true
intervals:
type: array
items:
$ref: '#/components/schemas/ApiBlockOrderInterval'
nullable: true
additionalProperties: false
ApiBlockOrderInterval:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
volume:
type: number
format: double
acceptedVolume:
type: number
format: double
nullable: true
additionalProperties: false
ApiByConnection:
required:
- area
type: object
properties:
area:
type: string
nullable: true
connection:
type: string
nullable: true
import:
type: number
format: double
nullable: true
export:
type: number
format: double
nullable: true
netPosition:
type: number
format: double
nullable: true
readOnly: true
additionalProperties: false
ApiByConnectionSummary:
required:
- area
type: object
properties:
area:
type: string
nullable: true
connection:
type: string
nullable: true
import:
type: number
format: double
nullable: true
export:
type: number
format: double
nullable: true
netPosition:
type: number
format: double
nullable: true
additionalProperties: false
ApiConsumption:
required:
- deliveryArea
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
deliveryArea:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
unit:
type: string
nullable: true
readOnly: true
consumptions:
type: array
items:
$ref: '#/components/schemas/ConsumptionEntry'
nullable: true
additionalProperties: false
ApiConsumptionByLocation:
required:
- location
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
location:
type: string
nullable: true
locationType:
$ref: '#/components/schemas/LocationType'
deliveryAreas:
type: array
items:
type: string
nullable: true
consumptions:
type: array
items:
$ref: '#/components/schemas/ConsumptionEntry'
nullable: true
additionalProperties: false
ApiConsumptionForecast:
required:
- deliveryArea
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
deliveryArea:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
unit:
type: string
nullable: true
readOnly: true
consumptionForecasts:
type: array
items:
$ref: '#/components/schemas/ConsumptionEntry'
nullable: true
additionalProperties: false
ApiConsumptionForecastByLocation:
required:
- location
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
location:
type: string
nullable: true
locationType:
$ref: '#/components/schemas/LocationType'
deliveryAreas:
type: array
items:
type: string
nullable: true
consumptionForecasts:
type: array
items:
$ref: '#/components/schemas/ConsumptionEntry'
nullable: true
additionalProperties: false
ApiDeliveryAreaMarketHourlyStatistic:
required:
- priceUnit
type: object
properties:
deliveryArea:
type: string
nullable: true
deliveryDateCET:
type: string
format: date
status:
$ref: '#/components/schemas/ApiAvailableStatus'
priceUnit:
type: string
nullable: true
volumeUnit:
type: string
nullable: true
updatedAt:
type: string
format: date-time
hourlyStatistics:
type: array
items:
$ref: '#/components/schemas/HourlyStatistics'
nullable: true
additionalProperties: false
ApiDeliveryAreaMarketStatistic:
required:
- priceUnit
type: object
properties:
deliveryArea:
type: string
nullable: true
deliveryDateCET:
type: string
format: date
status:
$ref: '#/components/schemas/ApiAvailableStatus'
priceUnit:
type: string
nullable: true
volumeUnit:
type: string
nullable: true
readOnly: true
updatedAt:
type: string
format: date-time
contracts:
type: array
items:
$ref: '#/components/schemas/ContractStatistics'
nullable: true
additionalProperties: false
ApiDeliveryAreaMarketYearlyStatistic:
required:
- priceUnit
type: object
properties:
deliveryArea:
type: string
nullable: true
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
priceUnit:
type: string
nullable: true
volumeUnit:
type: string
nullable: true
readOnly: true
updatedAt:
type: string
format: date-time
contracts:
type: array
items:
$ref: '#/components/schemas/ContractStatistics'
nullable: true
additionalProperties: false
ApiDeliveryAreaYearlyHourlyStatistic:
type: object
properties:
deliveryArea:
type: string
nullable: true
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
priceUnit:
type: string
nullable: true
volumeUnit:
type: string
nullable: true
updatedAt:
type: string
format: date-time
hourlyStatistics:
type: array
items:
$ref: '#/components/schemas/HourlyStatistics'
nullable: true
additionalProperties: false
ApiExchange:
required:
- deliveryArea
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
deliveryArea:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
unit:
type: string
nullable: true
readOnly: true
dailyTotalUnit:
type: string
nullable: true
readOnly: true
dailyTotalImport:
type: number
format: double
nullable: true
dailyTotalExport:
type: number
format: double
nullable: true
dailyTotalNetPosition:
type: number
format: double
nullable: true
readOnly: true
exchanges:
type: array
items:
$ref: '#/components/schemas/ApiTransfer'
nullable: true
additionalProperties: false
ApiExchangeRate:
required:
- rates
type: object
properties:
dateCET:
type: string
format: date
status:
$ref: '#/components/schemas/ApiAvailableStatus'
updatedAt:
type: string
format: date-time
rates:
type: array
items:
$ref: '#/components/schemas/ExchangeRates'
nullable: true
additionalProperties: false
ApiFlow:
required:
- deliveryArea
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
deliveryArea:
type: string
nullable: true
market:
$ref: '#/components/schemas/Market'
status:
$ref: '#/components/schemas/ApiAuctionStatus'
unit:
type: string
nullable: true
readOnly: true
dailyTotalUnit:
type: string
nullable: true
readOnly: true
dailyTotalImport:
type: number
format: double
nullable: true
dailyTotalExport:
type: number
format: double
nullable: true
dailyTotalNetPosition:
type: number
format: double
nullable: true
flows:
type: array
items:
$ref: '#/components/schemas/ApiTransfer'
nullable: true
additionalProperties: false
ApiFlowBasedConstraint:
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
market:
$ref: '#/components/schemas/Market'
status:
$ref: '#/components/schemas/ApiAvailableStatus'
flowBasedDomain:
$ref: '#/components/schemas/FlowBasedDomainType'
remainingAvailableMarginUnit:
type: string
nullable: true
readOnly: true
periods:
type: array
items:
$ref: '#/components/schemas/FlowBasedPeriodItem'
nullable: true
additionalProperties: false
ApiFlowSummary:
type: object
properties:
byConnections:
type: array
items:
$ref: '#/components/schemas/ApiByConnectionSummary'
nullable: true
totalImport:
type: number
format: double
nullable: true
totalExport:
type: number
format: double
nullable: true
totalNetPosition:
type: number
format: double
nullable: true
additionalProperties: false
ApiFreeStorageIndex:
type: object
properties:
area:
type: string
nullable: true
unit:
type: string
nullable: true
updatedAt:
type: string
format: date-time
markets:
type: array
items:
$ref: '#/components/schemas/StorageIndexRevenueMarket'
nullable: true
indexValues:
type: array
items:
$ref: '#/components/schemas/FreeStorageIndexValue'
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
additionalProperties: false
ApiHub2HubCapacity:
type: object
properties:
volumeUnit:
type: string
nullable: true
readOnly: true
hubToHubCapacities:
type: array
items:
$ref: '#/components/schemas/Hub2HubCapacity'
nullable: true
additionalProperties: false
ApiHydro:
required:
- deliveryArea
type: object
properties:
year:
type: integer
format: int32
deliveryArea:
type: string
nullable: true
updatedAt:
type: string
format: date-time
status:
$ref: '#/components/schemas/ApiAvailableStatus'
unit:
type: string
nullable: true
readOnly: true
hydroReservoirReserves:
type: array
items:
$ref: '#/components/schemas/ApiReservoirWeek'
nullable: true
additionalProperties: false
ApiIntradayContainer:
type: object
properties:
volumeUnit:
type: string
nullable: true
contracts:
type: array
items:
$ref: '#/components/schemas/PublicIntradayTradeContract'
nullable: true
additionalProperties: false
ApiIntradayOrdersContainer:
required:
- deliveryArea
type: object
properties:
volumeUnit:
type: string
nullable: true
deliveryArea:
type: string
nullable: true
contracts:
type: array
items:
$ref: '#/components/schemas/PublicIntradayOrderContract'
nullable: true
additionalProperties: false
ApiMfrr:
required:
- currency
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
deliveryArea:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
currency:
type: string
nullable: true
exchangeRate:
type: number
format: double
nullable: true
manualFrequencyRestorationReserves:
type: array
items:
$ref: '#/components/schemas/ApiMfrrEntry'
nullable: true
additionalProperties: false
ApiMfrrEntry:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
acceptedUpBidVolume:
type: number
format: double
nullable: true
acceptedDownBidVolume:
type: number
format: double
nullable: true
activatedUpVolume:
type: number
format: double
nullable: true
activatedDownVolume:
type: number
format: double
nullable: true
downPrice:
type: number
format: double
nullable: true
upPrice:
type: number
format: double
nullable: true
imbalancePrice:
type: number
format: double
nullable: true
additionalProperties: false
ApiOrderBookAreaContracts:
required:
- deliveryArea
type: object
properties:
deliveryArea:
type: string
nullable: true
deliveryDateUtc:
type: string
format: date
contracts:
type: array
items:
$ref: '#/components/schemas/OrderBookContract'
nullable: true
additionalProperties: false
ApiOrderbook:
required:
- contractId
- deliveryArea
- priceUnit
- volumeUnit
type: object
properties:
deliveryDateUtc:
type: string
format: date
contractId:
type: string
nullable: true
deliveryArea:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
volumeUnit:
type: string
nullable: true
priceUnit:
type: string
nullable: true
updatedAt:
type: string
format: date-time
revisions:
type: array
items:
$ref: '#/components/schemas/OrderBookRevision'
nullable: true
additionalProperties: false
ApiPhysicalFlowDailySummary:
type: object
properties:
byConnections:
type: array
items:
$ref: '#/components/schemas/ApiByConnectionSummary'
nullable: true
totalImport:
type: number
format: double
nullable: true
totalExport:
type: number
format: double
nullable: true
totalNetPosition:
type: number
format: double
nullable: true
deliveryDateCET:
type: string
format: date
additionalProperties: false
ApiPhysicalFlowMonthlySummary:
type: object
properties:
byConnections:
type: array
items:
$ref: '#/components/schemas/ApiByConnectionSummary'
nullable: true
totalImport:
type: number
format: double
nullable: true
totalExport:
type: number
format: double
nullable: true
totalNetPosition:
type: number
format: double
nullable: true
deliveryDateStartCET:
type: string
format: date
deliveryDateEndCET:
type: string
format: date
additionalProperties: false
ApiPremiumStorageIndex:
type: object
properties:
area:
type: string
nullable: true
utcMonth:
type: string
format: date
unit:
type: string
nullable: true
updatedAt:
type: string
format: date-time
indexValues:
type: array
items:
$ref: '#/components/schemas/PremiumStorageIndexValue'
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
additionalProperties: false
ApiPricePoint:
type: object
properties:
price:
type: number
format: double
volume:
type: number
format: double
additionalProperties: false
ApiProduction:
required:
- deliveryArea
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
deliveryArea:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
unit:
type: string
nullable: true
readOnly: true
productions:
type: array
items:
$ref: '#/components/schemas/ApiProductionEntry'
nullable: true
additionalProperties: false
ApiProductionByLocation:
required:
- location
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
location:
type: string
nullable: true
locationType:
$ref: '#/components/schemas/LocationType'
deliveryAreas:
type: array
items:
type: string
nullable: true
productions:
type: array
items:
$ref: '#/components/schemas/ApiProductionEntry'
nullable: true
additionalProperties: false
ApiProductionDailySummary:
type: object
properties:
deliveryDateCET:
type: string
format: date
byType:
type: object
properties:
mixed:
type: number
format: double
generation:
type: number
format: double
load:
type: number
format: double
biomass:
type: number
format: double
fossilBrownCoal:
type: number
format: double
fossilCoalDerivedGas:
type: number
format: double
fossilGas:
type: number
format: double
fossilHardCoal:
type: number
format: double
fossilOil:
type: number
format: double
fossilOilShale:
type: number
format: double
fossilPeat:
type: number
format: double
geothermal:
type: number
format: double
hydroPumpedStorage:
type: number
format: double
hydroRunOfRiverAndPoundage:
type: number
format: double
hydroWaterReservoir:
type: number
format: double
marine:
type: number
format: double
nuclear:
type: number
format: double
otherRenewable:
type: number
format: double
solar:
type: number
format: double
waste:
type: number
format: double
windOffshore:
type: number
format: double
windOnshore:
type: number
format: double
other:
type: number
format: double
acLink:
type: number
format: double
dcLink:
type: number
format: double
substation:
type: number
format: double
transformer:
type: number
format: double
energyStorage:
type: number
format: double
undefined:
type: number
format: double
additionalProperties: false
total:
type: number
format: double
nullable: true
additionalProperties: false
ApiProductionEntry:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
byType:
type: object
properties:
mixed:
type: number
format: double
generation:
type: number
format: double
load:
type: number
format: double
biomass:
type: number
format: double
fossilBrownCoal:
type: number
format: double
fossilCoalDerivedGas:
type: number
format: double
fossilGas:
type: number
format: double
fossilHardCoal:
type: number
format: double
fossilOil:
type: number
format: double
fossilOilShale:
type: number
format: double
fossilPeat:
type: number
format: double
geothermal:
type: number
format: double
hydroPumpedStorage:
type: number
format: double
hydroRunOfRiverAndPoundage:
type: number
format: double
hydroWaterReservoir:
type: number
format: double
marine:
type: number
format: double
nuclear:
type: number
format: double
otherRenewable:
type: number
format: double
solar:
type: number
format: double
waste:
type: number
format: double
windOffshore:
type: number
format: double
windOnshore:
type: number
format: double
other:
type: number
format: double
acLink:
type: number
format: double
dcLink:
type: number
format: double
substation:
type: number
format: double
transformer:
type: number
format: double
energyStorage:
type: number
format: double
undefined:
type: number
format: double
additionalProperties: false
total:
type: number
format: double
nullable: true
readOnly: true
additionalProperties: false
ApiProductionForecast:
required:
- deliveryArea
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
deliveryArea:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
unit:
type: string
nullable: true
readOnly: true
productionForecasts:
type: array
items:
$ref: '#/components/schemas/ApiProductionForecastEntry'
nullable: true
additionalProperties: false
ApiProductionForecastByLocation:
required:
- location
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
location:
type: string
nullable: true
locationType:
$ref: '#/components/schemas/LocationType'
deliveryAreas:
type: array
items:
type: string
nullable: true
productionForecasts:
type: array
items:
$ref: '#/components/schemas/ApiProductionForecastEntry'
nullable: true
additionalProperties: false
ApiProductionForecastEntry:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
forecastByType:
type: object
properties:
mixed:
$ref: '#/components/schemas/Prognosis'
generation:
$ref: '#/components/schemas/Prognosis'
load:
$ref: '#/components/schemas/Prognosis'
biomass:
$ref: '#/components/schemas/Prognosis'
fossilBrownCoal:
$ref: '#/components/schemas/Prognosis'
fossilCoalDerivedGas:
$ref: '#/components/schemas/Prognosis'
fossilGas:
$ref: '#/components/schemas/Prognosis'
fossilHardCoal:
$ref: '#/components/schemas/Prognosis'
fossilOil:
$ref: '#/components/schemas/Prognosis'
fossilOilShale:
$ref: '#/components/schemas/Prognosis'
fossilPeat:
$ref: '#/components/schemas/Prognosis'
geothermal:
$ref: '#/components/schemas/Prognosis'
hydroPumpedStorage:
$ref: '#/components/schemas/Prognosis'
hydroRunOfRiverAndPoundage:
$ref: '#/components/schemas/Prognosis'
hydroWaterReservoir:
$ref: '#/components/schemas/Prognosis'
marine:
$ref: '#/components/schemas/Prognosis'
nuclear:
$ref: '#/components/schemas/Prognosis'
otherRenewable:
$ref: '#/components/schemas/Prognosis'
solar:
$ref: '#/components/schemas/Prognosis'
waste:
$ref: '#/components/schemas/Prognosis'
windOffshore:
$ref: '#/components/schemas/Prognosis'
windOnshore:
$ref: '#/components/schemas/Prognosis'
other:
$ref: '#/components/schemas/Prognosis'
acLink:
$ref: '#/components/schemas/Prognosis'
dcLink:
$ref: '#/components/schemas/Prognosis'
substation:
$ref: '#/components/schemas/Prognosis'
transformer:
$ref: '#/components/schemas/Prognosis'
energyStorage:
$ref: '#/components/schemas/Prognosis'
undefined:
$ref: '#/components/schemas/Prognosis'
additionalProperties: false
totalDayAheadPrognosis:
type: number
format: double
nullable: true
additionalProperties: false
ApiProductionMonthlySummary:
type: object
properties:
deliveryDateStartCET:
type: string
format: date
deliveryDateEndCET:
type: string
format: date
byType:
type: object
properties:
mixed:
type: number
format: double
generation:
type: number
format: double
load:
type: number
format: double
biomass:
type: number
format: double
fossilBrownCoal:
type: number
format: double
fossilCoalDerivedGas:
type: number
format: double
fossilGas:
type: number
format: double
fossilHardCoal:
type: number
format: double
fossilOil:
type: number
format: double
fossilOilShale:
type: number
format: double
fossilPeat:
type: number
format: double
geothermal:
type: number
format: double
hydroPumpedStorage:
type: number
format: double
hydroRunOfRiverAndPoundage:
type: number
format: double
hydroWaterReservoir:
type: number
format: double
marine:
type: number
format: double
nuclear:
type: number
format: double
otherRenewable:
type: number
format: double
solar:
type: number
format: double
waste:
type: number
format: double
windOffshore:
type: number
format: double
windOnshore:
type: number
format: double
other:
type: number
format: double
acLink:
type: number
format: double
dcLink:
type: number
format: double
substation:
type: number
format: double
transformer:
type: number
format: double
energyStorage:
type: number
format: double
undefined:
type: number
format: double
additionalProperties: false
total:
type: number
format: double
nullable: true
additionalProperties: false
ApiProductionYearlySummary:
type: object
properties:
byType:
type: object
properties:
mixed:
type: number
format: double
generation:
type: number
format: double
load:
type: number
format: double
biomass:
type: number
format: double
fossilBrownCoal:
type: number
format: double
fossilCoalDerivedGas:
type: number
format: double
fossilGas:
type: number
format: double
fossilHardCoal:
type: number
format: double
fossilOil:
type: number
format: double
fossilOilShale:
type: number
format: double
fossilPeat:
type: number
format: double
geothermal:
type: number
format: double
hydroPumpedStorage:
type: number
format: double
hydroRunOfRiverAndPoundage:
type: number
format: double
hydroWaterReservoir:
type: number
format: double
marine:
type: number
format: double
nuclear:
type: number
format: double
otherRenewable:
type: number
format: double
solar:
type: number
format: double
waste:
type: number
format: double
windOffshore:
type: number
format: double
windOnshore:
type: number
format: double
other:
type: number
format: double
acLink:
type: number
format: double
dcLink:
type: number
format: double
substation:
type: number
format: double
transformer:
type: number
format: double
energyStorage:
type: number
format: double
undefined:
type: number
format: double
additionalProperties: false
total:
type: number
format: double
nullable: true
additionalProperties: false
ApiReservoirWeek:
type: object
properties:
isoWeek:
type: integer
format: int32
weekStartDate:
type: string
format: date
weekEndDate:
type: string
format: date
maxCapacityInGigawattHours:
type: number
format: double
currentCapacityInGigawattHours:
type: number
format: double
utilizationPercentage:
type: number
format: double
additionalProperties: false
ApiScheduledPhysicalFlow:
required:
- deliveryArea
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
deliveryArea:
type: string
nullable: true
market:
$ref: '#/components/schemas/Market'
status:
$ref: '#/components/schemas/ApiAuctionStatus'
unit:
type: string
nullable: true
readOnly: true
dailyTotalUnit:
type: string
nullable: true
readOnly: true
dailyTotalImport:
type: number
format: double
nullable: true
dailyTotalExport:
type: number
format: double
nullable: true
dailyTotalNetPosition:
type: number
format: double
nullable: true
flows:
type: array
items:
$ref: '#/components/schemas/ApiTransfer'
nullable: true
additionalProperties: false
ApiSystemPrice:
required:
- currency
- marketMainCurrency
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
status:
$ref: '#/components/schemas/ApiAuctionStatus'
unit:
type: string
nullable: true
readOnly: true
currency:
type: string
nullable: true
exchangeRate:
type: number
format: double
nullable: true
marketMainCurrency:
type: string
nullable: true
averagePrice:
type: number
format: double
nullable: true
minPrice:
type: number
format: double
nullable: true
maxPrice:
type: number
format: double
nullable: true
prices:
type: array
items:
$ref: '#/components/schemas/PriceEntry'
nullable: true
blockPrices:
type: array
items:
$ref: '#/components/schemas/BlockPriceAggregate'
nullable: true
additionalProperties: false
ApiSystemTurnover:
type: object
properties:
deliveryDateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
status:
$ref: '#/components/schemas/ApiAuctionStatus'
unit:
type: string
nullable: true
readOnly: true
totalTurnoverUnit:
type: string
nullable: true
readOnly: true
totalTurnover:
type: number
format: double
nullable: true
averageTurnover:
type: number
format: double
nullable: true
minTurnover:
type: number
format: double
nullable: true
maxTurnover:
type: number
format: double
nullable: true
blockVolumesUnit:
type: string
nullable: true
readOnly: true
blockVolumes:
type: array
items:
$ref: '#/components/schemas/SystemVolumeBlockAggregate'
nullable: true
volumes:
type: array
items:
$ref: '#/components/schemas/SystemVolumeEntry'
nullable: true
additionalProperties: false
ApiSystemYearlyPrice:
required:
- currency
- marketMainCurrency
- unit
type: object
properties:
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAuctionStatus'
unit:
type: string
nullable: true
currency:
type: string
nullable: true
marketMainCurrency:
type: string
nullable: true
blockPrices:
type: array
items:
$ref: '#/components/schemas/BlockPriceAggregate'
nullable: true
prices:
type: array
items:
$ref: '#/components/schemas/PriceEntry'
nullable: true
yearlySummary:
$ref: '#/components/schemas/Summary'
dailySummaries:
type: array
items:
$ref: '#/components/schemas/SummaryPrice'
nullable: true
weeklySummaries:
type: array
items:
$ref: '#/components/schemas/WeeklyPriceSummary'
nullable: true
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/MonthlyPriceSummary'
nullable: true
updatedAt:
type: string
format: date-time
additionalProperties: false
ApiSystemYearlyTurnover:
type: object
properties:
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAuctionStatus'
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
totalTurnoverUnit:
type: string
nullable: true
readOnly: true
blockTurnoverUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/SystemVolumeDailySummary'
nullable: true
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/SystemVolumeMonthlySummary'
nullable: true
yearlySummary:
$ref: '#/components/schemas/SystemVolumeSummary'
blockSummaries:
type: array
items:
$ref: '#/components/schemas/SystemVolumeBlockAggregate'
nullable: true
volumes:
type: array
items:
$ref: '#/components/schemas/SystemVolumeEntry'
nullable: true
additionalProperties: false
ApiTotalMarketHourlyStatistic:
required:
- priceUnit
type: object
properties:
deliveryDateCET:
type: string
format: date
status:
$ref: '#/components/schemas/ApiAvailableStatus'
priceUnit:
type: string
nullable: true
volumeUnit:
type: string
nullable: true
updatedAt:
type: string
format: date-time
hourlyStatistics:
type: array
items:
$ref: '#/components/schemas/HourlyStatistics'
nullable: true
additionalProperties: false
ApiTotalMarketStatistic:
required:
- priceUnit
type: object
properties:
deliveryDateCET:
type: string
format: date
status:
$ref: '#/components/schemas/ApiAvailableStatus'
priceUnit:
type: string
nullable: true
volumeUnit:
type: string
nullable: true
readOnly: true
updatedAt:
type: string
format: date-time
contracts:
type: array
items:
$ref: '#/components/schemas/ContractStatistics'
nullable: true
additionalProperties: false
ApiTotalMarketYearlyHourlyStatistic:
required:
- priceUnit
type: object
properties:
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
priceUnit:
type: string
nullable: true
volumeUnit:
type: string
nullable: true
updatedAt:
type: string
format: date-time
hourlyStatistics:
type: array
items:
$ref: '#/components/schemas/HourlyStatistics'
nullable: true
additionalProperties: false
ApiTotalMarketYearlyStatistic:
required:
- priceUnit
type: object
properties:
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
priceUnit:
type: string
nullable: true
volumeUnit:
type: string
nullable: true
readOnly: true
updatedAt:
type: string
format: date-time
contracts:
type: array
items:
$ref: '#/components/schemas/ContractStatistics'
nullable: true
additionalProperties: false
ApiTransfer:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
byConnections:
type: array
items:
$ref: '#/components/schemas/ApiByConnection'
nullable: true
totalImport:
type: number
format: double
nullable: true
readOnly: true
totalExport:
type: number
format: double
nullable: true
readOnly: true
totalNetPosition:
type: number
format: double
nullable: true
readOnly: true
additionalProperties: false
ApiTransferSummary:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
byConnections:
type: array
items:
$ref: '#/components/schemas/ApiByConnectionSummary'
nullable: true
totalImport:
type: number
format: double
nullable: true
totalExport:
type: number
format: double
nullable: true
totalNetPosition:
type: number
format: double
nullable: true
additionalProperties: false
ApiUkBlockOrder:
type: object
properties:
id:
type: integer
format: int32
side:
$ref: '#/components/schemas/BlockOrderSide'
exclusiveGroupId:
type: integer
format: int32
nullable: true
minimumAcceptanceRatio:
type: number
format: double
linkedOrderId:
type: integer
format: int32
nullable: true
price:
type: number
format: double
paradoxicallyRejected:
type: boolean
actualAcceptanceRatio:
type: number
format: double
intervals:
type: array
items:
$ref: '#/components/schemas/ApiUkBlockOrderInterval'
nullable: true
additionalProperties: false
ApiUkBlockOrderInterval:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
volume:
type: number
format: double
acceptedVolume:
type: number
format: double
additionalProperties: false
ApiUkPeriod:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
demandCurve:
type: array
items:
$ref: '#/components/schemas/ApiPricePoint'
nullable: true
supplyCurve:
type: array
items:
$ref: '#/components/schemas/ApiPricePoint'
nullable: true
additionalProperties: false
ApiUkPriceCurve:
type: object
properties:
deliveryDateCET:
type: string
format: date
status:
$ref: '#/components/schemas/ApiAvailableStatus'
currencyUnit:
type: string
nullable: true
readOnly: true
volumeUnit:
type: string
nullable: true
readOnly: true
orderPositions:
type: array
items:
$ref: '#/components/schemas/ApiUkPeriod'
nullable: true
market:
$ref: '#/components/schemas/Market'
deliveryArea:
type: string
nullable: true
readOnly: true
blockOrders:
type: array
items:
$ref: '#/components/schemas/ApiUkBlockOrder'
nullable: true
additionalProperties: false
ApiYearlyConsumptionByArea:
type: object
properties:
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
totalVolumeUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/ConsumptionDailySummary'
nullable: true
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/ConsumptionMonthlySummary'
nullable: true
yearlySummary:
type: number
format: double
nullable: true
consumptions:
type: array
items:
$ref: '#/components/schemas/ConsumptionEntry'
nullable: true
deliveryArea:
type: string
nullable: true
additionalProperties: false
ApiYearlyConsumptionByLocation:
required:
- location
type: object
properties:
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
totalVolumeUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/ConsumptionDailySummary'
nullable: true
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/ConsumptionMonthlySummary'
nullable: true
yearlySummary:
type: number
format: double
nullable: true
consumptions:
type: array
items:
$ref: '#/components/schemas/ConsumptionEntry'
nullable: true
location:
type: string
nullable: true
locationType:
$ref: '#/components/schemas/LocationType'
deliveryAreas:
type: array
items:
type: string
nullable: true
additionalProperties: false
ApiYearlyExchange:
required:
- deliveryArea
- yearlySummary
type: object
properties:
year:
type: integer
format: int32
deliveryArea:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
totalVolumeUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/ApiPhysicalFlowDailySummary'
nullable: true
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/ApiPhysicalFlowMonthlySummary'
nullable: true
yearlySummary:
$ref: '#/components/schemas/ApiFlowSummary'
exchanges:
type: array
items:
$ref: '#/components/schemas/ApiTransferSummary'
nullable: true
additionalProperties: false
ApiYearlyExchangeRate:
type: object
properties:
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
dailyExchangeRates:
type: array
items:
$ref: '#/components/schemas/ExchangeRateDataLake'
nullable: true
updatedAt:
type: string
format: date-time
additionalProperties: false
ApiYearlyMfrr:
required:
- currency
- deliveryArea
type: object
properties:
year:
type: integer
format: int32
deliveryArea:
type: string
nullable: true
currency:
type: string
nullable: true
status:
$ref: '#/components/schemas/ApiAvailableStatus'
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
totalVolumeUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/MfrrDailySummary'
nullable: true
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/MfrrMonthlySummary'
nullable: true
yearlySummary:
$ref: '#/components/schemas/MfrrEntry'
content:
type: array
items:
$ref: '#/components/schemas/YearlyMfrrEntry'
nullable: true
additionalProperties: false
ApiYearlyProductionByArea:
required:
- deliveryArea
type: object
properties:
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
totalVolumeUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/ApiProductionDailySummary'
nullable: true
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/ApiProductionMonthlySummary'
nullable: true
yearlySummary:
$ref: '#/components/schemas/ApiProductionYearlySummary'
productions:
type: array
items:
$ref: '#/components/schemas/ApiProductionEntry'
nullable: true
deliveryArea:
type: string
nullable: true
additionalProperties: false
ApiYearlyProductionByLocation:
required:
- location
type: object
properties:
year:
type: integer
format: int32
status:
$ref: '#/components/schemas/ApiAvailableStatus'
updatedAt:
type: string
format: date-time
unit:
type: string
nullable: true
readOnly: true
totalVolumeUnit:
type: string
nullable: true
readOnly: true
dailySummaries:
type: array
items:
$ref: '#/components/schemas/ApiProductionDailySummary'
nullable: true
monthlySummaries:
type: array
items:
$ref: '#/components/schemas/ApiProductionMonthlySummary'
nullable: true
yearlySummary:
$ref: '#/components/schemas/ApiProductionYearlySummary'
productions:
type: array
items:
$ref: '#/components/schemas/ApiProductionEntry'
nullable: true
location:
type: string
nullable: true
locationType:
$ref: '#/components/schemas/LocationType'
deliveryAreas:
type: array
items:
type: string
nullable: true
additionalProperties: false
AtcCapacity:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
importsByConnection:
type: array
items:
$ref: '#/components/schemas/ConnectionAtcCapacity'
nullable: true
exportsByConnection:
type: array
items:
$ref: '#/components/schemas/ConnectionAtcCapacity'
nullable: true
importsByGroupRestriction:
type: array
items:
$ref: '#/components/schemas/GroupRestrictionAtcCapacity'
nullable: true
exportsByGroupRestriction:
type: array
items:
$ref: '#/components/schemas/GroupRestrictionAtcCapacity'
nullable: true
externalImportConstraint:
type: number
format: double
nullable: true
externalExportConstraint:
type: number
format: double
nullable: true
totalImport:
type: number
format: double
nullable: true
totalExport:
type: number
format: double
nullable: true
additionalProperties: false
AuctionCapacityMarkets:
enum:
- DayAhead
- N2EX_DayAhead
- SIDC_IntradayAuction1
- SIDC_IntradayAuction2
- SIDC_IntradayAuction3
type: string
AuctionFlowBasedConstraintMarkets:
enum:
- DayAhead
type: string
AuctionFlowMarkets:
enum:
- DayAhead
- N2EX_DayAhead
- SemGb_IntradayAuction1
- SemGb_IntradayAuction2
- SIDC_IntradayAuction1
- SIDC_IntradayAuction2
- SIDC_IntradayAuction3
type: string
AuctionMarkets:
enum:
- DayAhead
- GbHalfHour_DayAhead
- N2EX_DayAhead
- SemGb_IntradayAuction1
- SemGb_IntradayAuction2
- SIDC_IntradayAuction1
- SIDC_IntradayAuction2
- SIDC_IntradayAuction3
type: string
AuctionScheduledPhysicalFlowMarkets:
enum:
- DayAhead
type: string
AuctionsVolumeEntry:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
buy:
type: number
format: double
sell:
type: number
format: double
additionalProperties: false
BlockOrderSide:
enum:
- Buy
- Sell
type: string
BlockPriceAggregate:
type: object
properties:
blockName:
type: string
nullable: true
blockStart:
type: string
format: date-time
blockEnd:
type: string
format: date-time
minPrice:
type: number
format: double
nullable: true
maxPrice:
type: number
format: double
nullable: true
averagePrice:
type: number
format: double
nullable: true
additionalProperties: false
BlockVolumeAggregate:
type: object
properties:
blockName:
type: string
nullable: true
blockStart:
type: string
format: date-time
blockEnd:
type: string
format: date-time
buy:
type: number
format: double
nullable: true
sell:
type: number
format: double
nullable: true
additionalProperties: false
CapacityDailySummary:
type: object
properties:
deliveryDateCET:
type: string
format: date
totalImport:
type: number
format: double
nullable: true
totalExport:
type: number
format: double
nullable: true
additionalProperties: false
CapacityData:
type: object
properties:
inCapacity:
type: number
format: double
outCapacity:
type: number
format: double
publicationTime:
type: string
format: date-time
additionalProperties: false
ClusterType:
enum:
- Austria
- Baltic
- Belgium
- Bulgaria
- Denmark
- Finland
- France
- Germany
- Netherlands
- Norway
- Poland
- Romania
- Sweden
type: string
ConnectionAtcCapacity:
type: object
properties:
area:
type: string
nullable: true
connection:
type: string
nullable: true
capacity:
type: number
format: double
lossFactor:
type: number
format: double
nullable: true
rampingRestriction:
type: number
format: double
nullable: true
alreadyAllocatedCapacity:
type: number
format: double
nullable: true
additionalProperties: false
ConsumptionDailySummary:
type: object
properties:
deliveryDateCET:
type: string
format: date
totalVolume:
type: number
format: double
nullable: true
additionalProperties: false
ConsumptionEntry:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
volume:
type: number
format: double
nullable: true
additionalProperties: false
ConsumptionMonthlySummary:
type: object
properties:
deliveryDateStartCET:
type: string
format: date
deliveryDateEndCET:
type: string
format: date
totalVolume:
type: number
format: double
nullable: true
additionalProperties: false
ContractStatistics:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
isLocalContract:
type: boolean
contractId:
type: string
nullable: true
contractName:
type: string
nullable: true
contractOpenTime:
type: string
format: date-time
nullable: true
contractCloseTime:
type: string
format: date-time
nullable: true
highPrice:
type: number
format: double
nullable: true
lowPrice:
type: number
format: double
nullable: true
openPrice:
type: number
format: double
nullable: true
closePrice:
type: number
format: double
nullable: true
averagePrice:
type: number
format: double
nullable: true
volume:
type: number
format: double
buyVolume:
type: number
format: double
nullable: true
sellVolume:
type: number
format: double
nullable: true
averagePriceLast3H:
type: number
format: double
nullable: true
averagePriceLast1H:
type: number
format: double
nullable: true
openTradeTime:
type: string
format: date-time
nullable: true
closeTradeTime:
type: string
format: date-time
nullable: true
additionalProperties: false
ExchangeRateDataLake:
type: object
properties:
rates:
type: array
items:
$ref: '#/components/schemas/ExchangeRates'
nullable: true
dateCET:
type: string
format: date
updatedAt:
type: string
format: date-time
additionalProperties: false
ExchangeRateStatus:
enum:
- Preliminary
- Final
type: string
ExchangeRates:
type: object
properties:
fromCurrency:
type: string
nullable: true
toCurrency:
type: string
nullable: true
rate:
type: number
format: double
status:
$ref: '#/components/schemas/ExchangeRateStatus'
modified:
type: string
format: date-time
additionalProperties: false
FlowBasedConstraintItem:
type: object
properties:
id:
type: string
nullable: true
name:
type: string
nullable: true
remainingAvailableMargin:
type: number
format: double
powerTransferDistributionFactors:
type: array
items:
$ref: '#/components/schemas/PowerTransferDistributionItem'
nullable: true
additionalProperties: false
FlowBasedDomainType:
enum:
- Core
- Nordic
- DK1
type: string
FlowBasedPeriodItem:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
constraints:
type: array
items:
$ref: '#/components/schemas/FlowBasedConstraintItem'
nullable: true
additionalProperties: false
FlowConnectionDailySummary:
type: object
properties:
totalImport:
type: number
format: double
nullable: true
totalExport:
type: number
format: double
nullable: true
totalNetPosition:
type: number
format: double
nullable: true
area:
type: string
nullable: true
connection:
type: string
nullable: true
additionalProperties: false
FlowDailySummary:
type: object
properties:
deliveryDateCET:
type: string
format: date
totalImport:
type: number
format: double
nullable: true
totalExport:
type: number
format: double
nullable: true
totalNetPosition:
type: number
format: double
nullable: true
connectionSummaries:
type: array
items:
$ref: '#/components/schemas/FlowConnectionDailySummary'
nullable: true
additionalProperties: false
FreeStorageIndexValue:
type: object
properties:
utcMonth:
type: string
format: date
index1h:
type: number
format: double
index2h:
type: number
format: double
index4h:
type: number
format: double
additionalProperties: false
GroupRestrictionAtcCapacity:
type: object
properties:
areas:
type: array
items:
type: string
nullable: true
capacity:
type: number
format: double
additionalProperties: false
HourlyStatistics:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
highPrice:
type: number
format: double
nullable: true
lowPrice:
type: number
format: double
nullable: true
openPrice:
type: number
format: double
nullable: true
closePrice:
type: number
format: double
nullable: true
averagePrice:
type: number
format: double
nullable: true
volume:
type: number
format: double
buyVolume:
type: number
format: double
sellVolume:
type: number
format: double
averagePriceLast3H:
type: number
format: double
nullable: true
averagePriceLast1H:
type: number
format: double
nullable: true
openTradeTime:
type: string
format: date-time
nullable: true
closeTradeTime:
type: string
format: date-time
nullable: true
additionalProperties: false
Hub2HubCapacity:
type: object
properties:
areaFrom:
type: string
nullable: true
areaTo:
type: string
nullable: true
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
capacities:
type: array
items:
$ref: '#/components/schemas/CapacityData'
nullable: true
additionalProperties: false
LocationType:
enum:
- Country
- Region
type: string
Market:
enum:
- DayAhead
- GbHalfHour_DayAhead
- N2EX_DayAhead
- NP_IntradayAuction1
- NP_IntradayAuction2
- SemGb_IntradayAuction1
- SemGb_IntradayAuction2
- SIDC_IntradayAuction1
- SIDC_IntradayAuction2
- SIDC_IntradayAuction3
type: string
MaxNtcValue:
type: object
properties:
areaFrom:
type: string
nullable: true
areaTo:
type: string
nullable: true
connection:
type: string
nullable: true
maxNtc:
type: integer
format: int32
nullable: true
additionalProperties: false
MfrrDailySummary:
type: object
properties:
acceptedUpBidVolume:
type: number
format: double
nullable: true
acceptedDownBidVolume:
type: number
format: double
nullable: true
activatedUpVolume:
type: number
format: double
nullable: true
activatedDownVolume:
type: number
format: double
nullable: true
downPrice:
type: number
format: double
nullable: true
upPrice:
type: number
format: double
nullable: true
imbalancePrice:
type: number
format: double
nullable: true
deliveryDateCET:
type: string
format: date
additionalProperties: false
MfrrEntry:
type: object
properties:
acceptedUpBidVolume:
type: number
format: double
nullable: true
acceptedDownBidVolume:
type: number
format: double
nullable: true
activatedUpVolume:
type: number
format: double
nullable: true
activatedDownVolume:
type: number
format: double
nullable: true
downPrice:
type: number
format: double
nullable: true
upPrice:
type: number
format: double
nullable: true
imbalancePrice:
type: number
format: double
nullable: true
additionalProperties: false
MfrrMonthlySummary:
type: object
properties:
acceptedUpBidVolume:
type: number
format: double
nullable: true
acceptedDownBidVolume:
type: number
format: double
nullable: true
activatedUpVolume:
type: number
format: double
nullable: true
activatedDownVolume:
type: number
format: double
nullable: true
downPrice:
type: number
format: double
nullable: true
upPrice:
type: number
format: double
nullable: true
imbalancePrice:
type: number
format: double
nullable: true
deliveryDateStartCET:
type: string
format: date
deliveryDateEndCET:
type: string
format: date
additionalProperties: false
MonthlyPriceSummary:
type: object
properties:
averagePrice:
type: number
format: double
nullable: true
minPrice:
type: number
format: double
nullable: true
maxPrice:
type: number
format: double
nullable: true
deliveryDateStartCET:
type: string
format: date
deliveryDateEndCET:
type: string
format: date
additionalProperties: false
OrderAction:
enum:
- None
- UserAdded
- UserHibernated
- UserModified
- UserDeleted
- SystemHibernated
- SystemModified
- SystemDeleted
- PartialExecution
- FullExecution
- IcebergSliceAdded
- SystemExpired
type: string
OrderBookContract:
required:
- contractId
type: object
properties:
contractId:
type: string
nullable: true
contractName:
type: string
nullable: true
deliveryStart:
type: string
format: date-time
nullable: true
deliveryEnd:
type: string
format: date-time
nullable: true
isLocalContract:
type: boolean
nullable: true
contractOpenTime:
type: string
format: date-time
nullable: true
contractCloseTime:
type: string
format: date-time
nullable: true
additionalProperties: false
OrderBookRevision:
type: object
properties:
revision:
type: integer
format: int64
isSnapshot:
type: boolean
buyOrders:
type: array
items:
$ref: '#/components/schemas/OrderView'
nullable: true
sellOrders:
type: array
items:
$ref: '#/components/schemas/OrderView'
nullable: true
additionalProperties: false
OrderSide:
enum:
- Buy
- Sell
type: string
OrderState:
enum:
- Unknown
- Pending
- Active
- Hibernated
- Inactive
- Rejected
type: string
OrderType:
enum:
- Unknown
- Limit
- Iceberg
- UserDefinedBlock
- DirectMatch
type: string
OrderView:
type: object
properties:
orderId:
type: string
nullable: true
price:
type: number
format: double
volume:
type: number
format: double
deleted:
type: boolean
priorityTime:
type: string
format: date-time
updatedTime:
type: string
format: date-time
additionalProperties: false
PowerTransferDistributionItem:
type: object
properties:
area:
type: string
nullable: true
powerTransferDistributionFactor:
type: number
format: double
additionalProperties: false
PremiumStorageIndexMarkets:
type: object
properties:
markets:
type: object
properties:
DayAhead:
type: number
format: double
FCR:
type: number
format: double
FcrN:
type: number
format: double
FcrDUp:
type: number
format: double
FcrUp:
type: number
format: double
FcrDDown:
type: number
format: double
FcrDown:
type: number
format: double
FFR:
type: number
format: double
aFRRCapacityReservation:
type: number
format: double
aFRRCapacityReservationUp:
type: number
format: double
aFRRCapacityReservationDown:
type: number
format: double
aFRREnergyActivation:
type: number
format: double
mFRRCapacityReservation:
type: number
format: double
mFRRCapacityReservationUp:
type: number
format: double
mFRRCapacityReservationDown:
type: number
format: double
mFRREnergyActivation:
type: number
format: double
Intraday:
type: number
format: double
MSDReservation:
type: number
format: double
MSDActivation:
type: number
format: double
MBReservation:
type: number
format: double
MBActivation:
type: number
format: double
additionalProperties: false
totalGrossRevenues:
type: number
format: double
additionalProperties: false
PremiumStorageIndexValue:
type: object
properties:
utcDay:
type: string
format: date
index1h:
$ref: '#/components/schemas/PremiumStorageIndexMarkets'
index2h:
$ref: '#/components/schemas/PremiumStorageIndexMarkets'
index4h:
$ref: '#/components/schemas/PremiumStorageIndexMarkets'
additionalProperties: false
PriceEntry:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
price:
type: number
format: double
nullable: true
additionalProperties: false
Prognosis:
type: object
properties:
dayAheadPrognosis:
type: number
format: double
nullable: true
intradayPrognosis:
type: number
format: double
nullable: true
currentPrognosis:
type: number
format: double
nullable: true
additionalProperties: false
PublicIntradayOrder:
type: object
properties:
orderId:
type: string
nullable: true
originalOrderId:
type: string
nullable: true
previousOrderId:
type: string
nullable: true
orderType:
$ref: '#/components/schemas/OrderType'
side:
$ref: '#/components/schemas/TradeSide'
createdTime:
type: string
format: date-time
revisions:
type: array
items:
$ref: '#/components/schemas/PublicOrderRevision'
nullable: true
additionalProperties: false
PublicIntradayOrderContract:
type: object
properties:
contractId:
type: string
nullable: true
contractName:
type: string
nullable: true
priceUnit:
type: string
nullable: true
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
orders:
type: array
items:
$ref: '#/components/schemas/PublicIntradayOrder'
nullable: true
additionalProperties: false
PublicIntradayTrade:
type: object
properties:
tradeId:
type: string
nullable: true
tradeTime:
type: string
format: date-time
tradeUpdatedAt:
type: string
format: date-time
tradeState:
$ref: '#/components/schemas/PublicTradeState'
revisionNumber:
type: integer
format: int32
price:
type: number
format: double
volume:
type: number
format: double
tradePhase:
$ref: '#/components/schemas/TradePhase'
crossPx:
type: boolean
legs:
type: array
items:
$ref: '#/components/schemas/PublicIntradayTradeLeg'
nullable: true
additionalProperties: false
PublicIntradayTradeContract:
type: object
properties:
contractId:
type: string
nullable: true
contractName:
type: string
nullable: true
priceUnit:
type: string
nullable: true
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
trades:
type: array
items:
$ref: '#/components/schemas/PublicIntradayTrade'
nullable: true
additionalProperties: false
PublicIntradayTradeLeg:
type: object
properties:
deliveryArea:
type: string
nullable: true
referenceOrderId:
type: string
nullable: true
tradeSide:
$ref: '#/components/schemas/TradeSide'
additionalProperties: false
PublicOrderRevision:
type: object
properties:
revisionNumber:
type: integer
format: int64
updatedTime:
type: string
format: date-time
price:
type: number
format: double
volume:
type: number
format: double
state:
$ref: '#/components/schemas/OrderState'
action:
$ref: '#/components/schemas/OrderAction'
expirationTime:
type: string
format: date-time
nullable: true
timeInForce:
$ref: '#/components/schemas/TimeInForce'
icebergClipSize:
type: number
format: double
nullable: true
clipPriceChange:
type: number
format: double
nullable: true
remainingVolume:
type: number
format: double
nullable: true
additionalProperties: false
PublicTradeState:
enum:
- None
- Completed
- Disputed
- NotCancelled
- Cancelled
type: string
Resolution:
enum:
- PT1H
- PT15M
- PT30M
type: string
StorageIndexRevenueMarket:
enum:
- DayAhead
- FCR
- FcrN
- FcrDUp
- FcrUp
- FcrDDown
- FcrDown
- FFR
- aFRRCapacityReservation
- aFRRCapacityReservationUp
- aFRRCapacityReservationDown
- aFRREnergyActivation
- mFRRCapacityReservation
- mFRRCapacityReservationUp
- mFRRCapacityReservationDown
- mFRREnergyActivation
- Intraday
- MSDReservation
- MSDActivation
- MBReservation
- MBActivation
type: string
Summary:
type: object
properties:
averagePrice:
type: number
format: double
nullable: true
minPrice:
type: number
format: double
nullable: true
maxPrice:
type: number
format: double
nullable: true
additionalProperties: false
SummaryPrice:
type: object
properties:
averagePrice:
type: number
format: double
nullable: true
minPrice:
type: number
format: double
nullable: true
maxPrice:
type: number
format: double
nullable: true
deliveryDateCET:
type: string
format: date
additionalProperties: false
SystemVolumeBlockAggregate:
type: object
properties:
blockName:
type: string
nullable: true
blockStart:
type: string
format: date-time
blockEnd:
type: string
format: date-time
turnover:
type: number
format: double
nullable: true
additionalProperties: false
SystemVolumeDailySummary:
type: object
properties:
totalTurnover:
type: number
format: double
averageTurnover:
type: number
format: double
minTurnover:
type: number
format: double
maxTurnover:
type: number
format: double
deliveryDateCET:
type: string
format: date
additionalProperties: false
SystemVolumeEntry:
type: object
properties:
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
turnover:
type: number
format: double
additionalProperties: false
SystemVolumeMonthlySummary:
type: object
properties:
totalTurnover:
type: number
format: double
averageTurnover:
type: number
format: double
minTurnover:
type: number
format: double
maxTurnover:
type: number
format: double
deliveryDateStartCET:
type: string
format: date
deliveryDateEndCET:
type: string
format: date
additionalProperties: false
SystemVolumeSummary:
type: object
properties:
totalTurnover:
type: number
format: double
averageTurnover:
type: number
format: double
minTurnover:
type: number
format: double
maxTurnover:
type: number
format: double
additionalProperties: false
TimeInForce:
enum:
- Unknown
- ImmediateOrCancel
- FillOrKill
- None
- GoodTillDate
- GoodForSession
type: string
TopLevelPublicIntradayOrderContract:
type: object
properties:
contractId:
type: string
nullable: true
contractName:
type: string
nullable: true
priceUnit:
type: string
nullable: true
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
orders:
type: array
items:
$ref: '#/components/schemas/PublicIntradayOrder'
nullable: true
volumeUnit:
type: string
nullable: true
deliveryArea:
type: string
nullable: true
additionalProperties: false
TopLevelPublicIntradayTradeContract:
type: object
properties:
contractId:
type: string
nullable: true
contractName:
type: string
nullable: true
priceUnit:
type: string
nullable: true
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
trades:
type: array
items:
$ref: '#/components/schemas/PublicIntradayTrade'
nullable: true
volumeUnit:
type: string
nullable: true
additionalProperties: false
TradePhase:
enum:
- Unknown
- Continuous
- Auction
type: string
TradeSide:
enum:
- None
- Buy
- Sell
type: string
ValidationProblemDetails:
type: object
properties:
type:
type: string
nullable: true
title:
type: string
nullable: true
status:
type: integer
format: int32
nullable: true
detail:
type: string
nullable: true
instance:
type: string
nullable: true
errors:
type: object
additionalProperties:
type: array
items:
type: string
nullable: true
additionalProperties: {}
VolumeAggregate:
type: object
properties:
buy:
type: number
format: double
nullable: true
sell:
type: number
format: double
nullable: true
additionalProperties: false
VolumeDailySummary:
type: object
properties:
totalVolume:
$ref: '#/components/schemas/VolumeAggregate'
averageVolume:
$ref: '#/components/schemas/VolumeAggregate'
minVolume:
$ref: '#/components/schemas/VolumeAggregate'
maxVolume:
$ref: '#/components/schemas/VolumeAggregate'
deliveryDateCET:
type: string
format: date
additionalProperties: false
VolumeMonthlySummary:
type: object
properties:
totalVolume:
$ref: '#/components/schemas/VolumeAggregate'
averageVolume:
$ref: '#/components/schemas/VolumeAggregate'
minVolume:
$ref: '#/components/schemas/VolumeAggregate'
maxVolume:
$ref: '#/components/schemas/VolumeAggregate'
deliveryDateStartCET:
type: string
format: date
deliveryDateEndCET:
type: string
format: date
additionalProperties: false
VolumeSummary:
type: object
properties:
totalVolume:
$ref: '#/components/schemas/VolumeAggregate'
averageVolume:
$ref: '#/components/schemas/VolumeAggregate'
minVolume:
$ref: '#/components/schemas/VolumeAggregate'
maxVolume:
$ref: '#/components/schemas/VolumeAggregate'
additionalProperties: false
WeeklyPriceSummary:
type: object
properties:
averagePrice:
type: number
format: double
nullable: true
minPrice:
type: number
format: double
nullable: true
maxPrice:
type: number
format: double
nullable: true
isoWeekNumber:
type: integer
format: int32
deliveryDateStartCET:
type: string
format: date
deliveryDateEndCET:
type: string
format: date
additionalProperties: false
YearlyMfrrEntry:
type: object
properties:
acceptedUpBidVolume:
type: number
format: double
nullable: true
acceptedDownBidVolume:
type: number
format: double
nullable: true
activatedUpVolume:
type: number
format: double
nullable: true
activatedDownVolume:
type: number
format: double
nullable: true
downPrice:
type: number
format: double
nullable: true
upPrice:
type: number
format: double
nullable: true
imbalancePrice:
type: number
format: double
nullable: true
deliveryStart:
type: string
format: date-time
deliveryEnd:
type: string
format: date-time
additionalProperties: false
securitySchemes:
oauth2:
type: oauth2
description: Oauth2 Authentication
flows:
authorizationCode:
authorizationUrl: https://sts.nordpoolgroup.com/connect/authorize
tokenUrl: https://sts.nordpoolgroup.com/connect/token
scopes:
marketdata_api: '...'
security:
- oauth2: []
tags:
- name: Auction
- name: PriceCurves
- name: BalanceMarket
- name: PowerSystem
- name: ExchangeRate
- name: Intraday
- name: System
servers:
- url: https://data-api.nordpoolgroup.com
description: Nord Pool Market Data API (production)
externalDocs:
description: Nord Pool Developer Portal
url: https://developers.nordpoolgroup.com/