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/