Models API Reference
This page documents the data models used for API responses.
Response Models
APIResponse
Bases: BaseModel
Generic API response wrapper.
Most BMRS API endpoints return data in this format.
Source code in elexon_bmrs/models.py
TypedAPIResponse
Bases: BaseModel, Generic[T]
Generic typed API response wrapper.
Use this for type-safe responses
response: TypedAPIResponse[DemandOutturn] = client.get_demand_typed(...)
Source code in elexon_bmrs/models.py
Specific Response Types
SystemDemandResponse
Bases: TypedAPIResponse['DemandData']
Typed response for system demand endpoints.
Example
response = client.get_system_demand(...) for demand in response.data: print(f"{demand.settlement_date}: {demand.demand} MW")
Source code in elexon_bmrs/models.py
GenerationResponse
Bases: TypedAPIResponse[GenerationByFuelType]
Typed response for generation by fuel type endpoints.
Source code in elexon_bmrs/models.py
WindForecastResponse
Bases: TypedAPIResponse['WindGenerationForecast']
Typed response for wind generation forecast endpoints.
Source code in elexon_bmrs/models.py
SystemPricesResponse
Bases: TypedAPIResponse[MarketIndex]
Typed response for system prices endpoints.
Source code in elexon_bmrs/models.py
SystemFrequencyResponse
Bases: TypedAPIResponse[SystemFrequency]
Typed response for system frequency endpoints.
Source code in elexon_bmrs/models.py
ImbalancePricesResponse
Bases: TypedAPIResponse[ImbalancePrice]
Typed response for imbalance prices endpoints.
Source code in elexon_bmrs/models.py
Data Models
DemandData
Bases: BaseModel
Model for electricity demand data.
Source code in elexon_bmrs/models.py
GenerationByFuelType
Bases: BaseModel
Model for generation by fuel type data.
Source code in elexon_bmrs/models.py
SystemFrequency
MarketIndex
Bases: BaseModel
Model for market index data.
Source code in elexon_bmrs/models.py
ImbalancePrice
Bases: BaseModel
Model for imbalance pricing data.
Source code in elexon_bmrs/models.py
SettlementPeriod
Bases: BaseModel
Model for settlement period data.