Power.Dev Hangfire Services

<back to all web services

SumTriggerRequest

The following routes are available for this service:
POST/sum-trigger
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


enum DataProvider : int
{
    case Undefined = 0;
    case SPP = 1;
    case ERCOT = 2;
    case MISO = 3;
    case CAISO = 4;
    case PJM = 5;
    case ISONE = 6;
    case NYISO = 7;
    case NW = 8;
    case SW = 9;
    case SE = 10;
    case AESO = 11;
    case IESO = 12;
    case CENACE = 20;
    case NONISO = 99;
    case EIA = 100;
    case PNM = 150;
    case NREL = 200;
    case NOAA = 210;
    case ENTSOE = 1000;
    case EPIAS = 1010;
    case SELF = 10000;
}

enum UrlActionType : int
{
    case Undefined = 0;
    case rt_lmp_five_min = 1;
    case rt_lmp_five_min_pre = 2;
    case rt_hourly_lmp = 3;
    case rt_hourly_lmp_pre = 4;
    case rt_mcp = 5;
    case rt_as_demand = 6;
    case rt_as_demand_five_min = 7;
    case da_as_demand = 8;
    case as_demand = 9;
    case rt_mcp_sup = 11;
    case da_lmp = 101;
    case da_mcp = 102;
    case ercot_ancillary_service_plan = 103;
    case ercot_as_reports = 104;
    case generation_outage = 200;
    case fuel_mix = 211;
    case fuel_mix_hour_quarter = 212;
    case fuel_mix_hourly = 213;
    case fuel_mix_detail = 215;
    case fuel_mix_forecast = 216;
    case application_queue = 220;
    case da_shadow_price = 301;
    case rt_shadow_price = 302;
    case par_flow = 501;
    case rt_mcp_zip = 1005;
    case da_mcp_zip = 1102;
    case load_or_demand = 1501;
    case load_or_demand_forecast = 1502;
    case emission = 1520;
    case fuel_forecast = 1525;
    case rt_batter_arbitrage = 2001;
    case da_batter_arbitrage = 2002;
    case interface_flow = 4001;
    case pp_production_data = 5000;
    case marginal_price = 5001;
    case pool_price = 5002;
    case aeso_ancillary = 5003;
    case aeso_standby_operating_reserve = 5004;
    case power_plant = 6000;
    case power_plant_monthly = 6001;
    case power_plant_yearly = 6002;
    case power_plant_utility = 6003;
    case pp_production_data_monthly = 6004;
    case pp_production_data_yearly = 6005;
    case ercot_application_queue = 7000;
    case ercot_load_wz_data = 7001;
    case pjm_load_hourly_data = 7002;
    case isone_load_hourly_data = 7003;
    case nyiso_load_hourly_data = 7004;
    case miso_load_data = 7005;
    case spp_load_hourly_data = 7006;
    case caiso_load_data = 7007;
    case spp_load_fivemin_data = 7008;
    case pjm_load_fivemin_data = 7009;
    case isone_load_fivemin_data = 7010;
    case nyiso_load_fivemin_data = 7011;
    case ercot_load_fz_hourly_data = 7012;
    case ercot_load_fz_fivemin_data = 7013;
    case ercot_60d_dam_gen_resource_data = 7014;
    case ercot_60d_dam_load_resource_data = 7015;
    case ercot_60d_sced_gen_resource_data = 7016;
    case ercot_60d_sced_load_resource_data = 7017;
    case ercot_dam_shadow_prices = 7018;
    case ercot_sced_shadow_prices = 7019;
    case ercot_real_time_adders_reserves = 7020;
    case ercot_as_reports_archive = 7021;
    case ercot_ancillary_service_plan_archive = 7022;
    case ercot_day_ahead_load_forecast = 7023;
    case ercot_hourly_resource_outage_capacity = 7024;
    case ercot_hourly_solar_report = 7025;
    case ercot_hourly_wind_report = 7026;
    case ercot_load_forecast_by_weather_zone = 7027;
    case ercot_load_forecast_by_zone = 7028;
    case ercot_load_forecast_all = 7029;
    case ercot_short_term_system_adequacy = 7030;
    case ercot_spp_price_corrections = 7031;
    case ercot_temperature_forecast_by_zone = 7032;
    case ercot_unplanned_resource_outage = 7033;
    case ercot_highest_price_as_offer_selected = 7034;
    case ercot_available_seasonal_capacity_forecast = 7035;
    case ercot_generation_outages = 7036;
    case caiso_ra_capacity = 7401;
    case isone_btm_solar = 7402;
    case isone_seven_day_wind_forecast = 7403;
    case isone_seven_day_solar_forecast = 7404;
    case nrel_future_data = 8000;
    case eia_generation_by_fuel = 9000;
    case eia_generation_by_subregion = 9001;
    case eia_demand_forecast = 9002;
    case nyiso_fuel_mix = 10001;
    case nyiso_btm_solar = 10002;
    case nyiso_btm_solar_forecast = 10003;
    case nyiso_btm_solar_capacity_tracking = 10004;
    case nyiso_load_forecast = 10005;
    case pjm_load_forecast = 10006;
    case pjm_projected_rto_peak_stats = 10007;
    case pjm_load_forecast_hourly_historical = 10008;
    case pjm_operational_reserves = 10009;
    case pjm_projected_area_peak_stats = 10010;
    case pjm_solar_forecast_5min = 10011;
    case pjm_solar_forecast_hourly = 10012;
    case pjm_solar_generation_5min = 10013;
    case pjm_solar_generation_by_area = 10014;
    case pjm_transfer_interface_info = 10015;
    case pjm_transmission_limits = 10016;
    case pjm_wind_forecast_hourly = 10017;
    case pjm_wind_generation_by_area = 10018;
    case pjm_wind_generation_instantaneous = 10019;
    case spp_solar_and_wind_forecast = 10500;
    case spp_solar_and_wind_forecast_short_term = 10501;
    case spp_load_forecast_mid_term = 10502;
    case spp_generation_capacity = 10503;
    case spp_operating_reserves = 10504;
    case spp_ver_curtailments_data = 10505;
    case spp_load_forecast = 10506;
    case spp_fuel_mix_detailed_data = 10507;
    case da_ercot_lambda = 13113;
    case rt_ercot_lambda = 13114;
    case rt_lmp_five_min_weekly = -1000;
    case da_lmp_bus = -101;
    case rt_lmp_five_min_bus = -1;
}

class SumTriggerRequest implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $type=null,
        /** @var DataProvider|null */
        public ?DataProvider $provider=null,
        /** @var UrlActionType|null */
        public ?UrlActionType $actionType=null,
        /** @var DateTime */
        public DateTime $startDate=new DateTime(),
        /** @var DateTime */
        public DateTime $endDate=new DateTime(),
        /** @var int */
        public int $nodeId=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['type'])) $this->type = $o['type'];
        if (isset($o['provider'])) $this->provider = JsonConverters::from('DataProvider', $o['provider']);
        if (isset($o['actionType'])) $this->actionType = JsonConverters::from('UrlActionType', $o['actionType']);
        if (isset($o['startDate'])) $this->startDate = JsonConverters::from('DateTime', $o['startDate']);
        if (isset($o['endDate'])) $this->endDate = JsonConverters::from('DateTime', $o['endDate']);
        if (isset($o['nodeId'])) $this->nodeId = $o['nodeId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->type)) $o['type'] = $this->type;
        if (isset($this->provider)) $o['provider'] = JsonConverters::to('DataProvider', $this->provider);
        if (isset($this->actionType)) $o['actionType'] = JsonConverters::to('UrlActionType', $this->actionType);
        if (isset($this->startDate)) $o['startDate'] = JsonConverters::to('DateTime', $this->startDate);
        if (isset($this->endDate)) $o['endDate'] = JsonConverters::to('DateTime', $this->endDate);
        if (isset($this->nodeId)) $o['nodeId'] = $this->nodeId;
        return empty($o) ? new class(){} : $o;
    }
}

PHP SumTriggerRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /sum-trigger HTTP/1.1 
Host: catalog-jobs-dev.power.dev 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	type: String,
	provider: Undefined,
	actionType: Undefined,
	startDate: 0001-01-01,
	endDate: 0001-01-01,
	nodeId: 0
}