Complete Endpoint Reference
This page lists all 287 available endpoints in the BMRS API client. All methods are auto-generated from the official OpenAPI specification with full docstrings and type hints.
How to Use
Every endpoint is available as a method on the BMRSClient instance:
from elexon_bmrs import BMRSClient
client = BMRSClient(api_key="your-key")
# All 287 methods are available
data = client.get_balancing_dynamic(bmUnit="2__HFLEX001", snapshotAt="2024-01-01T12:00:00Z")
Getting Help
To get detailed help for any endpoint:
# View method signature and docstring
help(client.get_balancing_dynamic)
# List all available methods
methods = [m for m in dir(client) if m.startswith('get_')]
print(f"Total endpoints: {len(methods)}")
Endpoint Categories
Balancing Mechanism
Dynamic, physical, and rate data for Balancing Mechanism Units (BMUs):
get_balancing_dynamic- Dynamic data per BMU (SEL, SIL, MZT, MNZT, MDV, MDP, NTB, NTO, NDZ)get_balancing_dynamic_all- Market-wide dynamic dataget_balancing_dynamic_rates- Dynamic rate data per BMUget_balancing_dynamic_rates_all- Market-wide dynamic rate dataget_balancing_physical- Physical data per BMU (FPN, PN, BOA)get_balancing_physical_all- Market-wide physical dataget_balancing_bid_offer- Bid-offer data per BMUget_balancing_bid_offer_all- Market-wide bid-offer dataget_balancing_acceptances- Acceptance data per BMUget_balancing_acceptances_all- Market-wide acceptancesget_balancing_acceptances_all_latest- Latest market-wide acceptances
Non-BM Data
Data for non-Balancing Mechanism services:
get_balancing_nonbm_disbsad- DISBSAD summaryget_balancing_nonbm_disbsad_summary- DISBSAD summaryget_balancing_nonbm_disbsad_details- DISBSAD detailsget_balancing_nonbm_netbsad- NETBSAD summaryget_balancing_nonbm_netbsad_events- NETBSAD eventsget_balancing_nonbm_stor- STOR summaryget_balancing_nonbm_stor_events- STOR eventsget_balancing_nonbm_volumes- Non-BM volumes
Pricing & Settlement
Market prices, settlements, and cashflows:
get_balancing_pricing_market_index- Market index pricesget_balancing_settlement_system_prices- System pricesget_balancing_settlement_summary- Settlement summaryget_balancing_settlement_stack_all- Stack dataget_balancing_settlement_market_depth- Market depthget_balancing_settlement_acceptance_volumes_all- Acceptance volumesget_balancing_settlement_acceptances_all- Settlement acceptancesget_balancing_settlement_indicative_volumes_all- Indicative volumesget_balancing_settlement_indicative_cashflows_all- Indicative cashflowsget_balancing_settlement_messages- Settlement messagesget_balancing_settlement_default_notices- Default notices
Generation & Demand
Generation by fuel type, wind forecasts, and demand data:
get_generation_outturn_summary- Generation outturn summaryget_generation_outturn_fueltype- Generation by fuel typeget_generation_actual_per_type- Actual generation per typeget_generation_wind_and_solar_forecast- Wind and solar forecastsget_generation_availability- Generation availabilityget_demand_outturn_national- National demand outturnget_demand_outturn_transmission- Transmission demandget_demand_peak- Peak demandget_demand_total- Total demandget_demand_rolling_system_demand- Rolling system demand
System Data
System frequency, warnings, and operational data:
get_system_frequency- System frequency measurementsget_system_warnings- System warningsget_system_misc_system_warnings- Miscellaneous system warningsget_loss_of_load_probability- Loss of load probabilityget_margin_forecast- Margin forecast
Reference Data
Reference datasets and metadata:
get_cdn- Credit Default Noticeget_reference_bmunits- BM Unit reference dataget_reference_interconnectors- Interconnector referenceget_reference_fueltypes- Fuel type reference
Dataset Endpoints
Access to specific BMRS datasets (100+ datasets):
Common Datasets
get_datasets_abuc- Accepted Bids/Offers (ABUC)get_datasets_agpt- Aggregated Generation Per Type (AGPT)get_datasets_agws- Aggregated Generation Wind/Solar (AGWS)get_datasets_aobe- Accepted Offered/Bid Energy (AOBE)get_datasets_bod- Bid-Offer Data (BOD)get_datasets_boalf- Bid-Offer Acceptance Level Flagged (BOALF)get_datasets_freq- System Frequency (FREQ)get_datasets_imbalngc- Imbalance Prices (IMBALNGC)get_datasets_indod- Initial National Demand Outturn (INDOD)get_datasets_ispstack- Indicated System Price Stack (ISPSTACK)get_datasets_lolpdrm- Loss of Load Probability & De-rated Margin (LOLPDRM)get_datasets_melngc- Maximum Export Limit (MELNGC)get_datasets_milngc- Maximum Import Limit (MILNGC)get_datasets_ndfd- National Demand Forecast Day Ahead (NDFD)get_datasets_pn- Physical Notification (PN)get_datasets_qpn- Quiescent Physical Notification (QPN)get_datasets_rdre- Run Down Rate Export (RDRE)get_datasets_rdri- Run Down Rate Import (RDRI)get_datasets_rure- Run Up Rate Export (RURE)get_datasets_ruri- Run Up Rate Import (RURI)get_datasets_soso- SO-SO Prices (SOSO)get_datasets_syswarn- System Warnings (SYSWARN)get_datasets_temp- Temperature Data (TEMP)get_datasets_tsdf- Transmission System Demand Forecast (TSDF)get_datasets_uou- Unpriced Offered/Bid Units (UOU)
All Dataset Methods
The client includes methods for over 100 specific datasets, each with:
- Standard get_datasets_* method for historical data
- get_datasets_*_stream method for streaming data (where available)
To see all dataset methods:
dataset_methods = [m for m in dir(client) if m.startswith('get_datasets_')]
print(f"Total dataset endpoints: {len(dataset_methods)}")
Streaming Endpoints
Many datasets support streaming for real-time data:
- Append
_streamto dataset names (e.g.,get_datasets_freq_stream) - Provides real-time updates as they're published
- Useful for monitoring live system conditions
# Example: Stream system frequency data
freq_stream = client.get_datasets_freq_stream(from_date="2024-01-01")
Method Documentation
Auto-Generated Docstrings
Every method includes comprehensive documentation extracted from the OpenAPI spec:
help(client.get_balancing_dynamic)
Output:
Dynamic data per BMU (SEL, SIL, MZT, MNZT, MDV, MDP, NTB, NTO, NDZ)
This endpoint provides the dynamic data for a requested BMU, excluding physical rate data.
It returns a "snapshot" of data valid at a given time, and optionally a time series of changes.
Args:
bmUnit: The BM Unit to query
snapshotAt: When to retrieve a snapshot of data at
until: When to retrieve data until (optional)
snapshotAtSettlementPeriod: Settlement period to retrieve snapshot at (optional)
...
Returns:
API response data
Type Hints
All parameters and return types are fully typed:
def get_balancing_dynamic(
self,
bmUnit: str,
snapshotAt: str,
until: Optional[str] = None,
snapshotAtSettlementPeriod: Optional[int] = None,
...
) -> Dict[str, Any]:
Complete Method List
For the complete alphabetical list of all 287 methods, use:
from elexon_bmrs import BMRSClient
client = BMRSClient()
methods = sorted([m for m in dir(client) if m.startswith('get_')])
for method in methods:
print(f" {method}")
Examples
Balancing Mechanism Data
# Get dynamic data for specific BMU
dynamic = client.get_balancing_dynamic(
bmUnit="2__HFLEX001",
snapshotAt="2024-01-01T12:00:00Z"
)
# Get all acceptances for settlement period
acceptances = client.get_balancing_acceptances_all(
settlementDate="2024-01-01",
settlementPeriod=10
)
Generation Data
# Get generation by fuel type
generation = client.get_generation_actual_per_type(
from_date="2024-01-01",
to_date="2024-01-02"
)
# Get wind forecast
wind = client.get_generation_wind_and_solar_forecast(
from_date="2024-01-01"
)
Pricing Data
# Get market index prices
prices = client.get_balancing_pricing_market_index(
settlement_date="2024-01-01"
)
# Get system prices
sys_prices = client.get_balancing_settlement_system_prices(
settlement_date="2024-01-01",
settlement_period=10
)
Dataset Access
# Get specific dataset
freq_data = client.get_datasets_freq(
from_date="2024-01-01",
to_date="2024-01-02"
)
# Stream dataset
freq_stream = client.get_datasets_freq_stream(
from_date="2024-01-01"
)
See Also
- Client API Reference - Main client documentation
- Generated Client - Code generation details
- Examples - Usage examples
- OpenAPI Specification - Official API docs