Added

Solar export mode configuration

GET /forecasts/forecasts/

Returns forecast results with new solar_export_mode field in run_asset objects.

New response field:

  • solar_export_mode (string, nullable) - Controls solar export behavior. Values: flexible, force_export, force_export_positive_prices

POST /forecasts/run-simulation/

Accepts new solar_export_mode parameter in run_asset configuration for simulation requests.

New request field:

  • solar_export_mode (string, nullable) - Controls solar export behavior. Values: flexible, force_export, force_export_positive_prices

Added

Custom power prices for forecast simulations

Two new fields added to forecast endpoints to support custom power price data.

GET /forecasts/forecasts/

New response fields:

  • custom_power_prices (object) - Contains uploaded custom prices CSV metadata including file URL, start date, and end date
  • custom_power_prices_id (uuid) - Unique identifier for the custom power prices dataset

POST /forecasts/run-simulation/

New request/response fields:

  • custom_power_prices (object) - Custom prices CSV metadata for simulation runs
  • custom_power_prices_id (uuid) - Reference to custom power prices dataset

Removed

Australia NEM flat assets endpoint

The /australia-nem/assets/flat/ endpoint has been removed.

Affected endpoint:

  • GET /australia-nem/assets/flat/

This endpoint provided a flattened view of Australia NEM asset data including asset details, location, capacity specifications, and operational dates.

January 15, 2026

Added

Australia NEM asset database

GET /australia-nem/assets/flat

Returns comprehensive asset information for the Australian National Electricity Market including technical specifications, location data, and operational details.

Key response fields:

  • asset_id (integer) - The asset's unique identifier
  • name (string) - The name of the asset
  • region (string) - The market region where the asset is located
  • tech_type (string) - Technology type of the asset
  • rated_power_mw (decimal) - The asset's current installed rated power capacity in MW
  • energy_capacity_mwh (decimal) - The asset's current installed energy capacity in MWh
  • import_capacity_mw (decimal) - Import capacity in MW
  • export_capacity_mw (decimal) - Export capacity in MW
  • latitude (number) - The latitude of the asset's location
  • longitude (number) - The longitude of the asset's location
  • commissioning_date (date) - Date the asset began commercial operations
  • decommissioning_date (date) - Date the asset ceased commercial operations
  • is_co_located (boolean) - Indicates whether the asset is co-located with another facility
  • colocation_type (string) - Specifies the type of co-location, if applicable
  • developer (string) - The entity responsible for development
  • integrator (string) - The entity responsible for integration
  • manufacturer (string) - The cell manufacturer of the asset
  • owner (string) - Current owner(s) of the asset, comma-separated if multiple
  • optimizer (string) - Current optimizer(s) of the asset, comma-separated if multiple
  • voltage_kv (integer) - Voltage in kV

Changed

Forecast endpoints

Solar degradation configuration added to forecast run assets.

GET /forecasts/forecasts/

New response fields:

  • run_asset.solar_degradation (boolean) - Enables solar panel degradation modeling (default: false)
  • run_asset.solar_degradation_rate (number) - Annual degradation rate for solar panels (default: 0.005, range: 0-1)

POST /forecasts/run-simulation/

New request fields:

  • run_asset.solar_degradation (boolean) - Enables solar panel degradation modeling (default: false)
  • run_asset.solar_degradation_rate (number) - Annual degradation rate for solar panels (default: 0.005, range: 0-1)

New response fields:

  • run_asset.solar_degradation (boolean) - Enables solar panel degradation modeling (default: false)
  • run_asset.solar_degradation_rate (number) - Annual degradation rate for solar panels (default: 0.005, range: 0-1)

Removed

Legacy endpoint versions

Deprecated or unsupported endpoints removed.

CAISO endpoints removed:

  • GET /us/caiso/dam/as-clearing-price
  • GET /us/caiso/dam/dam-lmp
  • GET /us/caiso/dam/ruc-lmp
  • GET /us/caiso/rtm/as-clearing-price
  • GET /us/caiso/rtm/fmm-lmp
  • GET /us/caiso/system/battery-operations
  • GET /us/caiso/system/battery-operations-v2
  • GET /us/caiso/system/generation-by-fuel-type
  • GET /us/caiso/system/storage-report
  • GET /us/caiso/system/wind-and-solar

ERCOT endpoints removed:

  • GET /us/ercot/dam/60d-generation-v2
  • GET /us/ercot/dam/ptp-obligation-awards-v2
  • GET /us/ercot/dam/ptp-obligation-bids-v2
  • GET /us/ercot/rtm/60d-cop-all-v2
  • GET /us/ercot/rtm/60d-generation-v2
  • GET /us/ercot/rtm/60d-load-v2
  • GET /us/ercot/rtm/spp

Migration: Use the corresponding v2 endpoints where available.


Deprecated

ERCOT Battery Benchmark Nowcast

The ERCOT Battery Benchmark Nowcast endpoint has been deprecated and is no longer updated as of 2025-09-01.

Affected endpoint:

  • GET /us/ercot/modo/battery-benchmark-nowcast

Migration: This endpoint will no longer receive updates. Contact Modo Energy for alternative solutions for real-time ERCOT battery revenue estimates.


Changed

Endpoint naming standardization

9 endpoints had their display names updated to remove the "v2" suffix. These are now the standard versions:

Updated endpoints:

  • GET /us/caiso/dam/as-clearing-price-v2 - Now displays as "AS DAM Clearing Prices"
  • GET /us/caiso/dam/dam-lmp-v2 - Now displays as "Locational Marginal Price - DAM"
  • GET /us/caiso/dam/ruc-lmp-v2 - Now displays as "RUC Locational Marginal Price - DAM"
  • GET /us/caiso/rtm/as-clearing-price-v2 - Now displays as "AS FMM Clearing Prices"
  • GET /us/caiso/rtm/fmm-lmp-v2 - Now displays as "FMM/RTPD Locational Marginal Price - RTM"
  • GET /us/caiso/system/generation-by-fuel-type-v2 - Now displays as "Generation by fuel type"
  • GET /us/caiso/system/storage-report-v2 - Now displays as "Energy Storage Report"
  • GET /us/caiso/system/wind-and-solar-v2 - Now displays as "Wind and Solar Generation - Forecasted and Actual"
  • GET /us/ercot/rtm/spp-v2 - Now displays as "Settlement Point Prices - RTM"

Note: The URL paths remain unchanged (still include "-v2" suffix). Only the display names and operation IDs were updated.

Changed

Forecast endpoint schema updates

The required field order in run_asset objects has been reorganized for consistency. All previously required fields remain required. No functional changes to API behavior or required integration updates.

Affected endpoints:

  • GET /forecasts/forecasts/
  • POST /forecasts/run-simulation/

Added

Custom grid curtailment profile fields

Forecast endpoints now support custom grid curtailment profiles for run assets.

GET /forecasts/forecasts/

New response fields in run_asset:

  • custom_grid_curtailment_profile (object) - Contains file (URI) and id (UUID) for the curtailment profile
  • custom_grid_curtailment_profile_id (UUID) - Direct reference to the curtailment profile ID

POST /forecasts/run-simulation/

New request fields in run_asset:

  • custom_grid_curtailment_profile (object) - Optional curtailment profile to apply to the simulation
  • custom_grid_curtailment_profile_id (UUID) - Optional ID reference for an existing curtailment profile

New response fields in run_asset:

  • custom_grid_curtailment_profile (object) - Returns the applied curtailment profile details
  • custom_grid_curtailment_profile_id (UUID) - Returns the curtailment profile ID used

Changed

Forecast run asset validation relaxed

GET /forecasts/forecasts/

The run_asset.max_import field now accepts 0 as a valid minimum value (previously required 1 or greater).

POST /forecasts/run-simulation/

The run_asset.max_import request parameter and response field now accept 0 as a valid minimum value (previously required 1 or greater).

Changed

Forecast simulation asset constraints

Maximum values increased for battery energy storage system (BESS) parameters in forecast simulations.

GET /forecasts/forecasts/

Modified response fields:

  • results[].run_asset.duration (number) - Maximum increased from 8 to 12 hours
  • results[].run_asset.rated_power (number) - Maximum increased from 500 to 1000 MW

POST /forecasts/run-simulation/

Modified request fields:

  • run_asset.duration (number) - Maximum increased from 8 to 12 hours
  • run_asset.rated_power (number) - Maximum increased from 500 to 1000 MW

Modified response fields:

  • run_asset.duration (number) - Maximum increased from 8 to 12 hours
  • run_asset.rated_power (number) - Maximum increased from 500 to 1000 MW