Home / Specifications / cdsc-wg2-03
- API Interface
API Interface
Below is a rendering of this specification in our github repository: https://github.com/carbon-data-specification/Power-Systems-Data/blob/main/specifications/cdsc-wg2-03.md
CDSC-WG2-03 - Endpoints
Version: 0.0.1 Status: Pre-Draft
Contents đź”—
1. Foreword đź”—
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. No party shall not be held responsible for identifying any or all such patent rights.
Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement.
This document was prepared by the Power Systems Data Working Group of the Carbon Data Specification Consortium.
THESE MATERIALS ARE PROVIDED “AS IS.” The Contributors and Licensees expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. IN NO EVENT WILL THE CONTRIBUTORS OR LICENSEES BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS DELIVERABLE OR ITS GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER MEMBER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2. Introduction đź”—
This specification was developed as part of the global effort to combat the climate crisis. Specifically, in order to scalably measure carbon emissions of organizations and calculate the impact of deploying and operating clean energy technologies, companies need an efficient means to discover the details and capabilities of energy utilities and other similar entities.
This specification offers a specification for a set of endpoints that would contain the necessary information for carbon data calculations.
Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
- IEC 61968/61970: Common Information Model
- ISO 4217: Currency Codes
3. Endpoint Categories đź”—
The following is a list of the endpoints that will be subsequently defined in this section.
# Metadata
/metadata/topology-levels (LIST)
/metadata/fuel-source/types (LIST)
/metadata/fuel-source/technologies (LIST)
# PSR-Specific Metadata
/power-system-resources (LIST)
/power-system-resources/{id}/describe (GET)
/power-system-resources/{id}/capacity (GET)
/power-system-resources/{id}/transmission-capacity (GET)
/power-system-resources/{id}/topology (GET)
# Timeseries Data
/power-system-resources/{id}/timeseries/generation (GET)
/power-system-resources/{id}/timeseries/demand (GET)
/power-system-resources/{id}/timeseries/imports (GET)
/power-system-resources/{id}/timeseries/exports (GET)
/power-system-resources/{id}/timeseries/price (GET)
3.1 Metadatađź”—
TopologyLevel objects represent a specific hierarchical level of the grid.
3.1.1 Topology Level (List) metadata/topology-levels
Description
A list of named topology levels and their relation to each other.
Request Object
N/A
Response Object
id
- string - (REQUIRED) - The unique identifier representing this resource. It may be human-readable, such asBalancing Area
.level
- int - (OPTIONAL) - A number representing the hierarchy of this resource topology in relation to the other resource types. These levels shall include a sequential set of positive integers starting at 0.Example
==Request==
GET metadata/topology-levels HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"topology_levels": [
{
"id": "Interconnection",
"level": 0
},
{
"id": "Balancing Area",
"level": 1
},
{
"id": "Generating Plant",
"level": 2
},
{
"id": "Generating Unit",
"level": 3
},
{
"id": "Consumption Unit",
"level": 3
},
],
"next": null,
"previous": null
}
Reference TopologyLevels
The following table shows an example list of topology levels for US and European Grids:
Level | US Grid | European Grid | CIM |
---|---|---|---|
0 | Interconnection | Synchronous area | GeographicalRegion |
1 | Balancing Authority Area | LFC block/LFC area | GeographicalRegion, SubGeographicalRegion |
2 | Zone | Bidding zone | SubGeographicalRegion |
3 | Transmission Node/Substation | Control area | Substation |
4 | Generating Plant | Scheduling Area/Sub scheduling area | Feeder, GeneratingUnit |
5 | Meter (Generator or Load) | Metering Grid Area, MeteringPoint | GeneratingUnit |
This table can be used as a starting point for naming different levels in a given system.
3.1.2 Fuel Source - Type (LIST) metadata/fuel-source/types
Description
The different fuel source types that exist within this system. AIB codes should be used to enumerate these types.
Request Object
N/A
Response Object
name
: - string - (REQUIRED) - A common name to use for the fuel type. If using AIB codes, it should be a concatenation of the three code descriptions with a dash between (i.e.Solar - Photovoltaic - Unspecified
)external_reference
: string - (OPTIONAL?) - A reference that provides context for this specific fuel type.external_id
: - string - (OPTIONAL?) - A unique code (such as the AIB code) referencing the type of fuel
Example
==Request==
GET /metadata/fuel-source/types HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"types": [
{
"name": "Fossil - Solid - Hard Coal - Unspecified",
"external_reference": "EECS Rules Fact Sheet 5 TYPES OF ENERGY INPUTS AND TECHNOLOGIES",
"aibCode": "F02010100"
},
{
"name": "Mechanical source or other - Wind - Unspecified",
"sourceDocument": "EECS Rules Fact Sheet 5 TYPES OF ENERGY INPUTS AND TECHNOLOGIES",
"aibCode": "F01050100"
},
],
"next": null,
"previous": null
}
3.1.3 Fuel Source - Technology (LIST) metadata/fuel-source/technologies
Description
The different fuel source technologies that exist within this system. AIB codes should be used to enumerate these types.
Request Object
N/A
Response Object
name
: - string - (REQUIRED) - A common name to use for the technology. It should use AIB Codes, and if so, it shall be a concatenation of the three code descriptions with a dash between (i.e.Solar - Photovoltaic - Unspecified
)externalReference
: Dict - (REQUIRED) - A reference that provides context for this specific technology. This should reference an AIB code.
==Request==
GET /metadata/fuel-source/technologies HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"technologies": [
{
"name": "Thermal - Steam engine - Unspecified",
"externalReference": {
"sourceDocument": "EECS Rules Fact Sheet 5 TYPES OF ENERGY INPUTS AND TECHNOLOGIES",
"aibCode": "T050900"
}
},
{
"name": "Solar - Photovoltaic - Unspecified",
"externalReference": {
"sourceDocument": "EECS Rules Fact Sheet 5 TYPES OF ENERGY INPUTS AND TECHNOLOGIES",
"aibCode": "T010100"
}
},
],
"next": null,
"previous": null
}
3.2 PowerSystemsResources Metadatađź”—
The primary set of endpoints reference PowerSystemResource (PSR) objects. These objects contain several metadata fields about these PSRs.
3.2.1 PSR (List) /power-system-resources
Description
The primary set of endpoints reference PowerSystemResource (PSR) objects. These objects contain several metadata fields as well as historical timeseries information such as capacity.
Request Object
level
: Integer - (OPTIONAL) - An optional filter to only return PSR objects with the given topology level.
Response Object
id
- string - (REQUIRED) - The unique identifier representing this resource. It should be human-readable, and where appropriate, may incorporate theid
of its parent objects in order to easily understand its place in the topology. An example of such an id isUS-WECC-CISO
. Theid
must be URL safe.level
- string - (REQUIRED) - The id of the topology level for this PSR.name
- string - (OPTIONAL) - A descriptive name to provide additional context to the PSR.
Example
The following is an example of the endpoint that returns a list of power system resources. This LIST endpoint should only includes the id
, name
, and type
fields. It must not contain fields of undefined size (such as fields that con contain lists or dicts), as this endpoint is meant to be capable of returning several entries.
==Request==
GET /power-system-resources HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"power_system_resources": [
{
"id": "US-WECC",
"name": "Western Electricity Coordinating Council",
"level": 0
},
{
"id": "US-WECC-CISO",
"name": "California ISO",
"level": 1
},
{
"id": "US-WECC-CISO-ABC-HYDRO",
"name": "Hydropower Plant in ABC",
"level": 2
}
],
"next": null,
"previous": null
}
3.2.2 PSR Topology (List) /power-system-resources/{id}/topology
Description
The topology endpoint provides a means for understanding how each PSR relates to others.
Request Object
numLevels
- integer - Number of levels above and below the requested PSR to return in the response. A value of 1 means that it will only return that PSR’s direct parent and children.
Response Object
id
- string - REQUIRED - Theid
of the PowerSystemResource associated with this location.topology
- Objectparent
- Object - (OPTIONAL)id
- string The unique identifier representing the id of the PSR that is one level above in the topology.parent
- Object - (OPTIONAL)- …
connectedSiblings
- Array - (OPTIONAL)id
- string - A unique identifier representing the id of a PSR that has some transmission-based connection.connectedSiblings
- Array - (OPTIONAL)id
- string
children
- Array - (OPTIONAL)id
- string - A unique identifier representing the id of a PSR that is one level below in the topology.connectedSiblings
- Array - (OPTIONAL)children
- Array - (OPTIONAL)- …
==Request==
GET /power-system-resources/US-WECC-CISO/topology?numLevels=2 HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
`{
"id": "US-WECC-CISO",
"topology": {
"parent": {
"id": "US-WECC"
},
"connectedSiblings": {
"id": "US-ERCOT"
},
"children": [
{
"id": "US-WECC-CISO-ABC",
"children": []
}
]
},
"next": null,
"previous": null
}`
3.2.3 PSR Describe /power-system-resources/{id}/describe
Description
Descriptive information, such as geography and other metadata, for a given Power System Resource.
Request Object
id
- string - REQUIRED - Theid
of the PowerSystemResource associated with this location.
Response Object
id
- string - REQUIRED - Theid
of the PowerSystemResource associated with this location.describe
asset_info
- Array[AssetInfo] - (OPTIONAL) - A list of additional information associated with that PSR.location
- (OPTIONAL)main_address
- StreetAddress - (OPTIONAL)postal_code
town_detail
- TownDetailname
state_or_province
street_detail
- StreetDetailbuilding_name
display_address
- …
description
- string - (OPTIONAL)geojson
- geojson - (OPTIONAL)
The following endpoint returns the location information for a specific PSR.
Example
==Request==
GET /power-system-resources/US-WECC-CISO/describe HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "US-WECC-CISO",
"describe": {
"location": {
"geojson": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[[-122.376131, 42.009499], ...]
]
}
}
]
}
}
},
"next": null,
"previous": null
}
3.2.4 PSR Capacity /power-system-resources/{id}/capacity
Description
The capacity endpoint provides a means for providing capacity information by fuel type and technology.
Request Object
id
- string - REQUIRED - Theid
of the PowerSystemResource associated with this location.
Response Object
id
- string - REQUIRED - Theid
of the PowerSystemResource associated with this location.unit
- string - (REQUIRED) - For electricity, should be one of: [MW
,kW
,W
]capacity
- ArrayfuelSource
- Objecttechnology
- string - (OPTIONAL) - id of the technology for generating this fuel.type
- string - (REQUIRED) - id of the fuel type used for generation.
value
- float - A value of the amount of generation that took place at this PSR using the given technology and fuel_source.startDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware. This allows for the defining of historical capacity values and to indicate when new resources came online.endDatetime
- ISO8601 Datetime - (OPTIONAL) - The datetime must be timezone aware. This allows for the defining of historical capacity values and to indicate when old resources came offline. An empty value assumes it is still operational.
==Request==
GET /power-system-resources/US-WECC-CISO/topology?numLevels=2 HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "US-WECC-CISO",
"unit": "MW",
"capacity": [
{
"fuelSource": {
"technology": "Thermal - Steam engine - Unspecified",
"type": "Fossil - Solid - Hard Coal - Unspecified"
},
"value": 500,
"startDatetime": "2015-06-01 00:00:00+00",
"endDatetime": "2021-06-01T00:00:00+00"
},
{
"fuelSource": {
"technology": "Thermal - Steam engine - Unspecified",
"type": "Fossil - Solid - Hard Coal - Unspecified"
},
"startDatetime": "2010-06-01 00:00:00+00",
"value": 300
}
],
"next": null,
"previous": null
}
3.2.5 PSR Transmission Capacity /power-system-resources/{id}/transmission-capacity
Description
The transmission capacity endpoint provides a means for providing transmission line capacity information while understanding how the PSR relates to others.
Request Object
id
- string - REQUIRED - Theid
of the PowerSystemResource associated with this location.
Response Object
id
- string - REQUIRED - Theid
of the PowerSystemResource associated with this location.unit
- string - (REQUIRED) - For electricity, should be one of: [MW
,kW
,W
]transmissionCapacity
- ArrayconnectedPSR
- Objectid
- string The unique identifier representing the id of the PSR connected to the requested PSR.
value
- float - A value of the amount of transmission capacity available between the two PSRs.
==Request==
GET /power-system-resources/US-WECC-CISO/transmission-capacity HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "US-WECC-CISO",
"unit": "MW",
"transmissionCapacity": [
{
"connectedPSR": {"id": "US-WECC-NEVP"},
"value": 100
},
{
"connectedPSR": {"id": "US-WECC-ABCD"},
"value": 50
},...
],
"next": null,
"previous": null
}
3.3 PowerSystemsResources Timeseries Datađź”—
The primary set of endpoints reference PowerSystemResource (PSR) time-dependent objects. These objects contain meseries information such as generation or demand along with several several metadata fields.
3.3.1 PSR Generation /power-system-resources/{id}/generation
Description
A generation object returns a timeseries of values representing energy that was generated at a PSR, as well as a breakdown of that generation by fuel type.
Request Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this demand.startDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s startDatetime occurs AT or AFTER the startDatetime specified in the request.endDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s endDatetime occurs AT or BEFORE the endDatetime specified in the request.
Response Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this unit of generation.unit
- string - (REQUIRED) - For electricity, must be one of: [MWh
,kWh
,Wh
]generation
- ArraystartDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.endDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.value
- float - (REQUIRED) - A value of the amount of generation that took place at this PSR. A positive number indicates generation.valueByFuelSource
- Array - (REQUIRED) - Lists of fuel types, technologies, and the amount of generation that comes from that fuel type. The unit for these values must be the same as that of theunit
field.technology
- string - (OPTIONAL) - id of the technology that was generated from this fuel.type
- string - (REQUIRED) - id of the fuel type used for generation.value
- float - A value of the amount of generation that took place at this PSR using the given technology and fuel_source.
==Request==
GET /power-system-resources/US-WECC-CISO/generation?startDatetime=2022-06-01&endDatetime=201-06-02 HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "US-WECC-CISO",
"unit": "MWh",
"generation": [
{
"startDatetime": "2021-06-01 00:00:00+00",
"endDatetime": "2021-06-01 01:00:00+00",
"value": 10.5,
"valueByFuelSource": [
{
"technology": "Thermal - Steam engine - Unspecified",
"type": "Fossil - Solid - Hard Coal - Unspecified",
"value": 5.0
},
{
"technology": "Solar - Photovoltaic - Unspecified",
"type": "Renewables - Heating and Cooling - Solar",
"value": 10.5
},
// Additional entries for other fuel sources if available
]
}
// Additional entries for other time periods if available
],
"next": null,
"previous": null
}
3.3.2 PSR Demand /power-system-resources/{id}/demand
Description
A demand object returns a timeseries of values representing energy that was demanded at a PSR.
Request Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this demand.startDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s startDatetime occurs AT or AFTER the startDatetime specified in the request.endDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s endDatetime occurs AT or BEFORE the endDatetime specified in the request.
Response Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this demand.unit
- string - (REQUIRED) - For electricity, should be one of: [MWh
,kWh
,Wh
]demand
- ArraystartDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.endDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.value
- float - (REQUIRED) - A value of the amount of demand that took place at this PSR. A positive number indicates demand that was needed. A negative number represents energy that was generated by un-registered demand-side resources.
==Request==
GET /power-system-resources/US-WECC-CISO/demand?startDatetime=2022-01-01&endDatetime=2023-01-01 HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "US-WECC-CISO",
"unit": "MWh",
"demand": [
{
"startDatetime": "2021-06-01 00:00:00+00",
"endDatetime": "2021-06-01 01:00:00+00",
"value": 10.5
},
// Additional entries for other time periods if available
],
"next": null,
"previous": null
}
3.3.3 PSR Imports /power-system-resources/{id}/imports
Description
An import object returns a timeseries of values representing energy that was imported at a PSR.
Request Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this demand.startDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s startDatetime occurs AT or AFTER the startDatetime specified in the request.endDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s endDatetime occurs AT or BEFORE the endDatetime specified in the request.
Response Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this import.unit
- string - (REQUIRED) - For electricity, should be one of: [MWh
,kWh
,Wh
]imports
- ArraystartDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.endDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.value
- positive float - (REQUIRED) - A value of the amount of energy imported by this PSR. The value must be 0 or a positive value (exports should be provided in the other endpoint).valueByConnectedPSR
- Array - (REQUIRED) - Key-value pairs of the connected PSR that this PSR is importing energy from and the amount of energy that comes from that PSR. The unit for these values must be the same as that of theunit
field.connectedPSR
- stringvalue
- positive float - A value of the amount of energy imported from theconnectedPSR
. he value must be 0 or a positive value (exports should be provided in the other endpoint).
==Request==
GET /power-system-resources/US-WECC-CISO/imports?startDatetime=2022-01-01&endDatetime=2023-01-01 HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "US-WECC-CISO",
"unit": "MWh",
"imports": [
{
"startDatetime": "2021-06-01 00:00:00+00",
"endDatetime": "2021-06-01 01:00:00+00",
"value": 10.5,
"importByConnectedPSR": [
{
"connectedPSR": "US-WECC-LADWP",
"value": 5.5
},
{
"connectedPSR": "US-WECC-BANC",
"value": 5
},
// Additional entries for other connected PSRs if available
]
},
// Additional entries for other time periods if available
],
"next": null,
"previous": null
}
3.3.4 PSR Exports /power-system-resources/{id}/exports
Description
An export object returns a timeseries of values representing energy that was exported to a PSR.
Request Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this demand.startDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s startDatetime occurs AT or AFTER the startDatetime specified in the request.endDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s endDatetime occurs AT or BEFORE the endDatetime specified in the request.
Response Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this export.unit
- string - (REQUIRED) - For electricity, should be one of: [MWh
,kWh
,Wh
]exports
- ArraystartDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.endDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.value
- positive float - (REQUIRED) - A value of the amount of energy exported by this PSR. The value must be 0 or a positive value (imports should be provided in the other endpoint).valueByConnectedPSR
- Array - (REQUIRED) - Key-value pairs of the connected PSR that this PSR is exporting energy to and the amount of energy that comes from that PSR. The unit for these values must be the same as that of theunit
field.connectedPSR
- stringvalue
- positive float - A value of the amount of energy exported to theconnectedPSR
. The value must be 0 or a positive value (exports should be provided in the other endpoint).
==Request==
GET /power-system-resources/US-WECC-CISO/exports?startDatetime=2022-01-01&endDatetime=2023-01-01 HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "US-WECC-CISO",
"unit": "MWh",
"exports": [
{
"startDatetime": "2021-06-01 00:00:00+00",
"endDatetime": "2021-06-01 01:00:00+00",
"value": 10.5,
"exportByConnectedPSR": [
{
"connectedPSR": "US-WECC-LADWP",
"value": 5.5
},
{
"connectedPSR": "US-WECC-BANC",
"value": 5.0
},
// Additional entries for other connected PSRs if available
]
},
// Additional entries for other time periods if available
],
"next": null,
"previous": null
}
3.3.5 PSR Prices /power-system-resources/{id}/price
Description
A demand object returns a timeseries of values representing energy that was demanded at a PSR.
Request Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this demand.startDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s startDatetime occurs AT or AFTER the startDatetime specified in the request.endDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s endDatetime occurs AT or BEFORE the endDatetime specified in the request.timeframe
- Enum - One ofday-ahead
,hour-ahead
,real-time
Response Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this demand.unit
- string - (REQUIRED) - Should be a a currency code in accordance with the ISO 4217 standard.timeframe
- string The selectedtimeframe
from the request objectdemand
- ArraystartDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.endDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.value
- float - (REQUIRED) - A value of the price of energy took place at this PSR.
==Request==
GET /power-system-resources/US-WECC-CISO/price?startDatetime=2022-01-01&endDatetime=2023-01-01 HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "US-WECC-CISO",
"unit": "USD",
"price": [
{
"startDatetime": "2021-06-01 00:00:00+00",
"endDatetime": "2021-06-01 01:00:00+00",
"value": 10.5
},
// Additional entries for other time periods if available
],
"next": null,
"previous": null
}
3.3.6 PSR Curtailment /power-system-resources/{id}/curtailment
Description
A curtailment object returns a timeseries of values representing energy that was generated at a PSR, as well as a breakdown of that generation by fuel type.
Request Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this demand.startDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s startDatetime occurs AT or AFTER the startDatetime specified in the request.endDatetime
- ISO8601 Datetime - A datetime indicating that the response should return data where the earliest entry’s endDatetime occurs AT or BEFORE the endDatetime specified in the request.
Response Object
id
- string - (REQUIRED) - Theid
of the Power System Resource associated with this unit of curtailment.unit
- string - (REQUIRED) - For electricity, must be one of: [MWh
,kWh
,Wh
]generation
- ArraystartDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.endDatetime
- ISO8601 Datetime - (REQUIRED) - The datetime must be timezone aware.value
- float - (REQUIRED) - A value of the amount of curtailment that took place at this PSR. A positive number indicates curtailment.valueByFuelSource
- Array - (REQUIRED) - Lists of fuel types, technologies, and the amount of curtailment that occurs at that fuel type. The unit for these values must be the same as that of theunit
field.technology
- string - (OPTIONAL) - id of the technology that this fuel type used for curtailment.type
- string - (REQUIRED) - id of the fuel source used for curtailment.value
- float - A value of the amount of curtailment that took place at this PSR using the given technology and fuel_source.
==Request==
GET /power-system-resources/US-WECC-CISO/curtailment?startDatetime=2022-06-01&endDatetime=201-06-02 HTTP/1.1
Host: demoutility.com
==Response==
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "US-WECC-CISO",
"unit": "MWh",
"curtailment": [
{
"startDatetime": "2021-06-01 00:00:00+00",
"endDatetime": "2021-06-01 01:00:00+00",
"value": 10.5,
"valueByFuelSource": [
{
"technology": "Thermal - Steam engine - Unspecified",
"type": "Fossil - Solid - Hard Coal - Unspecified",
"value": 5.0
},
{
"technology": "Solar - Photovoltaic - Unspecified",
"type": "Renewables - Heating and Cooling - Solar",
"value": 10.5
},
// Additional entries for other fuel sources if available
]
}
// Additional entries for other time periods if available
],
"next": null,
"previous": null
}
Other Drafts đź”—
- No drafts exist yet.