Properties
| Name | Type | Description |
|---|---|---|
| creationTime | string | timestamp of this response creation, in yyyy-MM-dd'T'HH:mm:ssXXX format |
| currentLink | nullstring | link to the current resource |
| gridAreas | array | data grouped by a list of grid areas |
| lastUpdatedTime | nullstring | timestamp for the last update time of this response's content, in yyyy-MM-dd'T'HH:mm:ssXXX format |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/elhub/main/json-schema/elhub-no-elhub-ds-energy-data-models-response-grid-area-response-schema.json",
"title": "GridAreaResponse",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/elhub-energy-data-api-openapi.yml#/components/schemas/no.elhub.ds.energy.data.models.response.GridAreaResponse",
"type": "object",
"properties": {
"creationTime": {
"type": "string",
"description": "timestamp of this response creation, in yyyy-MM-dd'T'HH:mm:ssXXX format",
"title": "String"
},
"currentLink": {
"type": [
"null",
"string"
],
"description": "link to the current resource",
"title": "String"
},
"gridAreas": {
"type": "array",
"description": "data grouped by a list of grid areas",
"items": {
"$ref": "#/$defs/no.elhub.ds.energy.data.models.gridarea.GridArea"
},
"title": "List<GridArea>"
},
"lastUpdatedTime": {
"type": [
"null",
"string"
],
"description": "timestamp for the last update time of this response's content, in yyyy-MM-dd'T'HH:mm:ssXXX format",
"title": "String"
}
},
"required": [
"creationTime",
"gridAreas"
],
"$defs": {
"java.math.BigDecimal": {
"type": "object",
"properties": {},
"title": "BigDecimal"
},
"jsonapi.Link": {
"anyOf": [
{
"$ref": "#/$defs/jsonapi.Link.LinkObject"
},
{
"$ref": "#/$defs/jsonapi.Link.URI"
}
],
"title": "Link"
},
"jsonapi.Link.LinkObject": {
"type": "object",
"properties": {
"describedBy": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/jsonapi.Link"
}
]
},
"href": {
"type": "string",
"title": "String"
},
"hreflang": {
"type": [
"null",
"array"
],
"items": {
"type": "string",
"title": "String"
},
"title": "List<String>"
},
"meta": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/jsonapi.Meta"
}
]
},
"rel": {
"type": [
"null",
"string"
],
"title": "String"
},
"title": {
"type": [
"null",
"string"
],
"title": "String"
},
"type": {
"type": [
"null",
"string"
],
"title": "String"
}
},
"required": [
"href"
],
"title": "Link.LinkObject"
},
"jsonapi.Link.URI": {
"type": "object",
"properties": {
"value": {
"type": "string",
"title": "String"
}
},
"required": [
"value"
],
"title": "Link.URI"
},
"jsonapi.Links": {
"type": "object",
"properties": {
"members": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/jsonapi.Link"
},
"title": "Map<String,Link>"
}
},
"required": [
"members"
],
"title": "Links"
},
"jsonapi.Meta": {
"type": "object",
"properties": {
"members": {
"type": "object",
"additionalProperties": {
"type": "object",
"title": "Any"
},
"title": "Map<String,Any>"
}
},
"required": [
"members"
],
"title": "Meta"
},
"no.elhub.ds.energy.data.models.Party": {
"type": "object",
"properties": {
"gln": {
"type": "string",
"description": "Party GLN number",
"title": "String"
},
"gridArea": {
"type": [
"null",
"array"
],
"description": "Grid areas",
"items": {
"$ref": "#/$defs/no.elhub.ds.energy.data.models.gridarea.GridArea"
},
"title": "List<GridArea>"
},
"id": {
"type": [
"null",
"string"
],
"description": "Party identification string",
"title": "String"
},
"links": {
"description": "Links object",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/jsonapi.Links"
}
]
},
"name": {
"type": "string",
"description": "Party name",
"title": "String"
},
"organisationNumber": {
"type": [
"null",
"string"
],
"description": "Party organisation number",
"title": "String"
},
"partyTypes": {
"type": "array",
"description": "Party types for the party",
"items": {
"type": "string",
"title": "String"
},
"title": "List<String>"
}
},
"required": [
"gln",
"name",
"partyTypes"
],
"title": "Party"
},
"no.elhub.ds.energy.data.models.gridarea.CompletenessDailyPerBalanceSupplierMga": {
"type": "object",
"properties": {
"actualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received",
"title": "Int"
},
"balanceSupplier": {
"type": [
"null",
"string"
],
"description": "The GLN of the balance supplier",
"title": "String"
},
"combinedConsumptionActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for consumption on combined metering points (E19)",
"title": "Int"
},
"combinedConsumptionExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for consumption on combined metering points (E19)",
"title": "Int"
},
"combinedProductionActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for production on combined metering points (E19)",
"title": "Int"
},
"combinedProductionExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for production on combined metering points (E19)",
"title": "Int"
},
"consumptionFifteenActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for consumption (E17) on 15 min resolution",
"title": "Int"
},
"consumptionFifteenExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for consumption (E17) on 15 min resolution",
"title": "Int"
},
"consumptionSixtyActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for consumption (E17) on 60 min resolution",
"title": "Int"
},
"consumptionSixtyExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for consumption (E17) on 60 min resolution",
"title": "Int"
},
"estimatedAnnualConsumptionAll": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of estimated annual consumption of all metering point. E17 and E19 only. Direction Out only.",
"title": "Long"
},
"estimatedAnnualConsumptionCompleted": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of estimated annual consumption of all completed metering point, meaning number of received reads are equal to expected. E17 and E19 only. Direction Out only.",
"title": "Long"
},
"estimatedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Count of how many reads are received for the usage date which does not have measured quality. (Also included in actual interval count)",
"title": "Int"
},
"expectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received",
"title": "Int"
},
"finalEstimatedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Count of how many reads are received for the usage date which has final estimated quality.(Also included in actual interval count)",
"title": "Int"
},
"gridArea": {
"type": [
"null",
"string"
],
"description": "The grid area",
"title": "String"
},
"installedCapacityAll": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of installed capacity of all metering point. E18 and E19 only. Direction In only.",
"title": "Long"
},
"installedCapacityCompleted": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of installed capacity of all completed metering point, meaning number of received reads are equal to expected. E18 and E19 only. Direction In only.",
"title": "Long"
},
"largeProductionActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for large production (E18) metering points",
"title": "Int"
},
"largeProductionExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for large production (E18) metering points",
"title": "Int"
},
"lastUpdatedTime": {
"type": [
"null",
"string"
],
"description": "When the row was last updated",
"title": "String"
},
"loadLimitAll": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of load limit of all metering point. E17 and E19 only. Direction Out only.",
"title": "Long"
},
"loadLimitCompleted": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of load limit of all completed metering point, meaning number of received reads are equal to expected. E17 and E19 only. Direction Out only.",
"title": "Long"
},
"meteredIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Count of how many reads are received for the usage date which has metered(highest) quality.(Also included in actual interval count)",
"title": "Int"
},
"meteringPointCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Number of metering points that are part of the aggregate",
"title": "Int"
},
"notCompleteMeteringPointCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of metering points where actually received metering value count is less than expected",
"title": "Int"
},
"priceArea": {
"type": [
"null",
"string"
],
"description": "The price area",
"title": "String"
},
"temporaryIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Count of how many reads are received for the usage date which has temporary quality.(Also included in actual interval count)",
"title": "Int"
},
"usageDateId": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The usage date",
"title": "Int"
}
},
"title": "CompletenessDailyPerBalanceSupplierMga"
},
"no.elhub.ds.energy.data.models.gridarea.CompletenessDailyPerMga": {
"type": "object",
"properties": {
"actualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received. Excluding reads exchange points in neighbouring grid areas",
"title": "Int"
},
"actualWithAdjacentExchangeIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received including reads from exchange points in neighbouring grid areas",
"title": "Int"
},
"adjacentExchangeActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for exchange points (E20) in adjacent grid areas",
"title": "Int"
},
"adjacentExchangeExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for exchange points (E20) in adjacent grid areas",
"title": "Int"
},
"combinedConsumptionActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for consumption on combined metering points (E19)",
"title": "Int"
},
"combinedConsumptionExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for consumption on combined metering points (E19)",
"title": "Int"
},
"combinedProductionActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for production on combined metering points (E19)",
"title": "Int"
},
"combinedProductionExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for production on combined metering points (E19)",
"title": "Int"
},
"consumptionFifteenActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for consumption (E17) on 15 min resolution",
"title": "Int"
},
"consumptionFifteenExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for consumption (E17) on 15 min resolution",
"title": "Int"
},
"consumptionSixtyActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for consumption (E17) on 60 min resolution",
"title": "Int"
},
"consumptionSixtyExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for consumption (E17) on 60 min resolution",
"title": "Int"
},
"estimatedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Count of how many reads are received for the usage date which does not have measured quality. (Also included in actual interval count)",
"title": "Int"
},
"exchangeActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for exchange points (E20) in grid area. Excluding exchange points in neighbouring grid areas",
"title": "Int"
},
"exchangeExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for exchange points (E20) in grid area. Excluding exchange points in neighbouring grid areas",
"title": "Int"
},
"expectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received. Excluding reads exchange points in neighbouring grid areas",
"title": "Int"
},
"expectedWithAdjacentExchangeIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received including reads from exchange points in neighbouring grid areas",
"title": "Int"
},
"finalEstimatedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Count of how many reads are received for the usage date which has final estimated quality.(Also included in actual interval count)",
"title": "Int"
},
"gridArea": {
"type": [
"null",
"string"
],
"description": "The grid area",
"title": "String"
},
"installedCapacityAll": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of installed capacity of all metering point. E18 and E19 only. Direction In only.",
"title": "Long"
},
"installedCapacityCompleted": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of installed capacity of all completed metering point, meaning number of received reads are equal to expected. E18 and E19 only. Direction In only.",
"title": "Long"
},
"largeProductionActualIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads actually received for large production (E18) metering points",
"title": "Int"
},
"largeProductionExpectedIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of reads expected to be received for large production (E18) metering points",
"title": "Int"
},
"lastUpdatedTime": {
"type": [
"null",
"string"
],
"description": "When the row was last updated",
"title": "String"
},
"loadLimitAll": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of load limit of all metering point. E17 and E19 only. Direction Out only.",
"title": "Long"
},
"loadLimitCompleted": {
"type": [
"null",
"integer"
],
"format": "int64",
"description": "Sum of load limit of all completed metering point, meaning number of received reads are equal to expected. E17 and E19 only. Direction Out only.",
"title": "Long"
},
"meteredIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Count of how many reads are received for the usage date which has metered(highest) quality.(Also included in actual interval count)",
"title": "Int"
},
"meteringPointCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of metering points. Excluding exchange points in neighbouring grid areas",
"title": "Int"
},
"notCompleteAdjacentExchangePointCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of exchange points reported from neighbouring grid where actually received metering value count is less than expected",
"title": "Int"
},
"notCompleteMeteringPointCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The number of metering points where actually received metering value count is less than expected",
"title": "Int"
},
"priceArea": {
"type": [
"null",
"string"
],
"description": "The price area",
"title": "String"
},
"temporaryIntervalCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Count of how many reads are received for the usage date which has temporary quality.(Also included in actual interval count)",
"title": "Int"
},
"usageDateId": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "The usage date",
"title": "Int"
}
},
"title": "CompletenessDailyPerMga"
},
"no.elhub.ds.energy.data.models.gridarea.ConsumptionPerBalanceSupplierMgaHour": {
"type": "object",
"properties": {
"balanceSupplier": {
"type": [
"null",
"string"
],
"description": "The GLN of the balance supplier",
"title": "String"
},
"endTime": {
"type": [
"null",
"string"
],
"description": "The end time of the interval.",
"title": "String"
},
"gridArea": {
"type": [
"null",
"string"
],
"description": "The grid area.",
"title": "String"
},
"lastUpdatedTime": {
"type": [
"null",
"string"
],
"description": "Last updated time for the row.",
"title": "String"
},
"meteringPointCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Number of metering points that are part of the aggregate.",
"title": "Int"
},
"quantityKwh": {
"type": [
"null",
"number"
],
"format": "float",
"description": "The quantity in kWh for the aggregate.",
"title": "Float"
},
"startTime": {
"type": [
"null",
"string"
],
"description": "The start time of the interval.",
"title": "String"
}
},
"title": "ConsumptionPerBalanceSupplierMgaHour"
},
"no.elhub.ds.energy.data.models.gridarea.ConsumptionPerGroupMgaHour": {
"type": "object",
"properties": {
"consumptionGroup": {
"type": [
"null",
"string"
],
"description": "The consumption group",
"title": "String"
},
"endTime": {
"type": [
"null",
"string"
],
"description": "End time of the interval",
"title": "String"
},
"gridArea": {
"type": [
"null",
"string"
],
"description": "The grid area.",
"title": "String"
},
"lastUpdatedTime": {
"type": [
"null",
"string"
],
"description": "Last updated time for the row.",
"title": "String"
},
"meteringPointCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Number of metering points that are part of the aggregate",
"title": "Int"
},
"quantityKwh": {
"type": [
"null",
"number"
],
"format": "float",
"description": "The quantity in kWh for the aggregate",
"title": "Float"
},
"startTime": {
"type": [
"null",
"string"
],
"description": "Start time of the interval",
"title": "String"
}
},
"title": "ConsumptionPerGroupMgaHour"
},
"no.elhub.ds.energy.data.models.gridarea.ConsumptionPerHourBalanceSupplierGroupMgaConsumptionTypeCode": {
"type": "object",
"properties": {
"balanceSupplier": {
"type": [
"null",
"string"
],
"description": "The balance supplier",
"title": "String"
},
"consumptionGroup": {
"type": [
"null",
"string"
],
"description": "The consumption group",
"title": "String"
},
"consumptionTypeCode": {
"type": [
"null",
"string"
],
"description": "The consumption type code",
"title": "String"
},
"endTime": {
"type": [
"null",
"string"
],
"description": "The end time of the interval",
"title": "String"
},
"gridArea": {
"type": [
"null",
"string"
],
"description": "The grid area",
"title": "String"
},
"lastUpdatedTime": {
"type": [
"null",
"string"
],
"description": "Last updated time for the row.",
"title": "String"
},
"meteringPointCount": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Number of metering points that are part of the aggregate",
"title": "Int"
},
"priceArea": {
"type": [
"null",
"string"
],
"description": "Price area of the aggregate.",
"title": "String"
},
"quantityKwh": {
"type": [
"null",
"number"
],
"format": "float",
"description": "The quantity in kWh for the aggregate",
"title": "Float"
},
"startTime": {
"type": [
"null",
"string"
],
"description": "The start time of the interval",
"title": "String"
}
},
"title": "ConsumptionPerHourBalanceSupplierGroupMgaConsumptionTypeCode"
},
"no.elhub.ds.energy.data.models.gridarea.CostPerMgaMonth": {
"type": "object",
"properties": {
"consumptionKwh": {
"description": "Sum of consumption",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/java.math.BigDecimal"
}
]
},
"consumptionKwhNorwayPrice": {
"description": "Sum of consumption for metering points when on Norway price and below threshold",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/java.math.BigDecimal"
}
]
},
"consumptionKwhSpotPrice": {
"description": "Sum of consumption for metering points when on spot price",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/java.math.BigDecimal"
}
]
},
"consumptionKwhSupportPrice": {
"description": "Sum of consumption for metering points when on support price and below threshold",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/java.math.BigDecimal"
}
]
},
"costNorwayPrice": {
"description": "Cost of consumption in NOK/kWh when on Norway price and below threshold",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/java.math.BigDecimal"
}
]
},
"costSpotPrice": {
"description": "Cost of consumption in NOK/kWh when on spot price",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/java.math.BigDecimal"
}
]
},
"costSupportPrice": {
"description": "Cost of consumption in NOK/kWh when on support price and below threshold",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/java.math.BigDecimal"
}
]
},
"countEligibleForNorwayPrice": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Number of metering points eligible for Norway price at end of month",
"title": "Int"
},
"countEligibleForSupportPrice": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Number of metering points eligible for support price at end of month",
"title": "Int"
},
"countNorwayPriceContract": {
"type": [
"null",
"integer"
],
# --- truncated at 32 KB (111 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/elhub/refs/heads/main/json-schema/elhub-no-elhub-ds-energy-data-models-response-grid-area-response-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/elhub-no-elhub-ds-energy-data-models-response-grid-area-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.