| POST | /lmp-operation |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
class DataProvider(IntEnum):
UNDEFINED = 0
SPP = 1
ERCOT = 2
MISO = 3
CAISO = 4
PJM = 5
ISONE = 6
NYISO = 7
NW = 8
SW = 9
SE = 10
AESO = 11
IESO = 12
CENACE = 20
NONISO = 99
EIA = 100
PNM = 150
NREL = 200
NOAA = 210
ENTSOE = 1000
EPIAS = 1010
SELF = 10000
class UrlActionType(IntEnum):
UNDEFINED = 0
RT_LMP_FIVE_MIN = 1
RT_LMP_FIVE_MIN_PRE = 2
RT_HOURLY_LMP = 3
RT_HOURLY_LMP_PRE = 4
RT_MCP = 5
RT_AS_DEMAND = 6
RT_AS_DEMAND_FIVE_MIN = 7
DA_AS_DEMAND = 8
AS_DEMAND = 9
RT_MCP_SUP = 11
DA_LMP = 101
DA_MCP = 102
ERCOT_ANCILLARY_SERVICE_PLAN = 103
ERCOT_AS_REPORTS = 104
GENERATION_OUTAGE = 200
FUEL_MIX = 211
FUEL_MIX_HOUR_QUARTER = 212
FUEL_MIX_HOURLY = 213
FUEL_MIX_DETAIL = 215
FUEL_MIX_FORECAST = 216
APPLICATION_QUEUE = 220
DA_SHADOW_PRICE = 301
RT_SHADOW_PRICE = 302
PAR_FLOW = 501
RT_MCP_ZIP = 1005
DA_MCP_ZIP = 1102
LOAD_OR_DEMAND = 1501
LOAD_OR_DEMAND_FORECAST = 1502
EMISSION = 1520
FUEL_FORECAST = 1525
RT_BATTER_ARBITRAGE = 2001
DA_BATTER_ARBITRAGE = 2002
INTERFACE_FLOW = 4001
PP_PRODUCTION_DATA = 5000
MARGINAL_PRICE = 5001
POOL_PRICE = 5002
AESO_ANCILLARY = 5003
AESO_STANDBY_OPERATING_RESERVE = 5004
POWER_PLANT = 6000
POWER_PLANT_MONTHLY = 6001
POWER_PLANT_YEARLY = 6002
POWER_PLANT_UTILITY = 6003
PP_PRODUCTION_DATA_MONTHLY = 6004
PP_PRODUCTION_DATA_YEARLY = 6005
ERCOT_APPLICATION_QUEUE = 7000
ERCOT_LOAD_WZ_DATA = 7001
PJM_LOAD_HOURLY_DATA = 7002
ISONE_LOAD_HOURLY_DATA = 7003
NYISO_LOAD_HOURLY_DATA = 7004
MISO_LOAD_DATA = 7005
SPP_LOAD_HOURLY_DATA = 7006
CAISO_LOAD_DATA = 7007
SPP_LOAD_FIVEMIN_DATA = 7008
PJM_LOAD_FIVEMIN_DATA = 7009
ISONE_LOAD_FIVEMIN_DATA = 7010
NYISO_LOAD_FIVEMIN_DATA = 7011
ERCOT_LOAD_FZ_HOURLY_DATA = 7012
ERCOT_LOAD_FZ_FIVEMIN_DATA = 7013
ERCOT_60D_DAM_GEN_RESOURCE_DATA = 7014
ERCOT_60D_DAM_LOAD_RESOURCE_DATA = 7015
ERCOT_60D_SCED_GEN_RESOURCE_DATA = 7016
ERCOT_60D_SCED_LOAD_RESOURCE_DATA = 7017
ERCOT_DAM_SHADOW_PRICES = 7018
ERCOT_SCED_SHADOW_PRICES = 7019
ERCOT_REAL_TIME_ADDERS_RESERVES = 7020
ERCOT_AS_REPORTS_ARCHIVE = 7021
ERCOT_ANCILLARY_SERVICE_PLAN_ARCHIVE = 7022
ERCOT_DAY_AHEAD_LOAD_FORECAST = 7023
ERCOT_HOURLY_RESOURCE_OUTAGE_CAPACITY = 7024
ERCOT_HOURLY_SOLAR_REPORT = 7025
ERCOT_HOURLY_WIND_REPORT = 7026
ERCOT_LOAD_FORECAST_BY_WEATHER_ZONE = 7027
ERCOT_LOAD_FORECAST_BY_ZONE = 7028
ERCOT_LOAD_FORECAST_ALL = 7029
ERCOT_SHORT_TERM_SYSTEM_ADEQUACY = 7030
ERCOT_SPP_PRICE_CORRECTIONS = 7031
ERCOT_TEMPERATURE_FORECAST_BY_ZONE = 7032
ERCOT_UNPLANNED_RESOURCE_OUTAGE = 7033
ERCOT_HIGHEST_PRICE_AS_OFFER_SELECTED = 7034
ERCOT_AVAILABLE_SEASONAL_CAPACITY_FORECAST = 7035
ERCOT_GENERATION_OUTAGES = 7036
CAISO_RA_CAPACITY = 7401
ISONE_BTM_SOLAR = 7402
ISONE_SEVEN_DAY_WIND_FORECAST = 7403
ISONE_SEVEN_DAY_SOLAR_FORECAST = 7404
NREL_FUTURE_DATA = 8000
EIA_GENERATION_BY_FUEL = 9000
EIA_GENERATION_BY_SUBREGION = 9001
EIA_DEMAND_FORECAST = 9002
NYISO_FUEL_MIX = 10001
NYISO_BTM_SOLAR = 10002
NYISO_BTM_SOLAR_FORECAST = 10003
NYISO_BTM_SOLAR_CAPACITY_TRACKING = 10004
NYISO_LOAD_FORECAST = 10005
PJM_LOAD_FORECAST = 10006
PJM_PROJECTED_RTO_PEAK_STATS = 10007
PJM_LOAD_FORECAST_HOURLY_HISTORICAL = 10008
PJM_OPERATIONAL_RESERVES = 10009
PJM_PROJECTED_AREA_PEAK_STATS = 10010
PJM_SOLAR_FORECAST_5MIN = 10011
PJM_SOLAR_FORECAST_HOURLY = 10012
PJM_SOLAR_GENERATION_5MIN = 10013
PJM_SOLAR_GENERATION_BY_AREA = 10014
PJM_TRANSFER_INTERFACE_INFO = 10015
PJM_TRANSMISSION_LIMITS = 10016
PJM_WIND_FORECAST_HOURLY = 10017
PJM_WIND_GENERATION_BY_AREA = 10018
PJM_WIND_GENERATION_INSTANTANEOUS = 10019
SPP_SOLAR_AND_WIND_FORECAST = 10500
SPP_SOLAR_AND_WIND_FORECAST_SHORT_TERM = 10501
SPP_LOAD_FORECAST_MID_TERM = 10502
SPP_GENERATION_CAPACITY = 10503
SPP_OPERATING_RESERVES = 10504
SPP_VER_CURTAILMENTS_DATA = 10505
SPP_LOAD_FORECAST = 10506
SPP_FUEL_MIX_DETAILED_DATA = 10507
DA_ERCOT_LAMBDA = 13113
RT_ERCOT_LAMBDA = 13114
RT_LMP_FIVE_MIN_WEEKLY = -1000
DA_LMP_BUS = -101
RT_LMP_FIVE_MIN_BUS = -1
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LMPOperationRequest:
provider: Optional[DataProvider] = None
action_type: Optional[UrlActionType] = None
date: datetime.datetime = datetime.datetime(1, 1, 1)
is_verified: bool = False
force: bool = False
new_version: bool = False
force_from_old_db: bool = False
force_by_day: bool = False
duration: int = 0
Python LMPOperationRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /lmp-operation HTTP/1.1
Host: catalog-jobs-dev.power.dev
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"provider":"Undefined","actionType":"Undefined","date":"\/Date(-62135596800000-0000)\/","isVerified":false,"force":false,"newVersion":false,"forceFromOldDb":false,"forceByDay":false,"duration":0}