openapi: 3.0.3 info: description: MISO Public Specification to support Market System Enhancement (MSE) new Market User Interface (MUI 2.0). title: MUI - Public Specification contact: {name: MUI 2.0 Questions, url: 'https://www.misoenergy.org/markets-and-operations/MSE/market-user-interface/', email: MSEQuestions@misoenergy.org} license: {name: For use by MISO member companies and thier vendors} version: 3.3.0 servers: - {url: 'https://cce.midwestiso.org/dart2/'} - {url: 'https://markets.midwestiso.org/dart2/'} paths: /markets/day-ahead/{day}/reports/lmp-exante: description: LMP Ex-Ante report for the Day-Ahead market on a specific day. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the LMP Ex-Ante report for the Day-Ahead market on a specific day. If neither pnode or portfolio query parameters are provided then all public pnodes from the report for all hours of the day are returned. operationId: getDayAheadLmpExAnte parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DayAheadLmpExAnte'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/day-ahead/{day}/reports/lmp-expost: description: LMP Ex-Post report for the Day-Ahead market on a specific day. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the LMP Ex-Post report for the Day-Ahead market on a specific day. If neither pnode or portfolio query parameters are provided then all public pnodes from the report for all hours of the day are returned. operationId: getDayAheadLmpExPost parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DayAheadLmpExPost'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/day-ahead/{day}/reports/lf-hourly: description: The hourly load forecast report for the total MISO area or an individual control area. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Return the load forecast report for total the MISO area or an individual control area. If the controlAreaName query parameter filter is not provided the MISO total is returned. If the hour query parameter filter is not provided all hours of the day are returned. operationId: getLFHourly parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Hour'} - name: controlAreaName description: Optional parameter to specify the name of the control area load forecast to return, otherwise system-wide is returned. in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/LFHourly'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/day-ahead/{day}/demand/participants/{participantName}: description: Submit and return demand bids for use in the Day-Ahead market. A collection of either fixed or price sensitive demand bids for one or more pnode locations. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Bidding] description: Returns the collection of Price Sensitive and Fixed Demand Bids by pnode location for the day. Pnode or portfolio query parameters may be provided, otherwise all valid demand bid locations for the participant will be returned for which bids exist. operationId: getDemandBid parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DemandBids'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Bidding] description: Post the collection of Fixed and Price Sensitve Demand Bids. Fixed and Price Sensitive Demand bids can be updated individually for one or more pnode locations. Data driven delete behaviour is supported via the incusion of null elements. operationId: postDemandBids parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/DemandBids'} /markets/day-ahead/{day}/virtual/participants/{participantName}: description: Submit and return virtual demand bids and virtual generations offers for use in the Day-Ahead market. A collection of either virtual generation offers or virtual demand bids per pnode location. Submission for one or more pnode locations is supported. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Bidding] description: Returns the collection of virtual dids and offers by pnode location for the day. Pnode or portfolio query parameters may be provided, otherwise all valid virtual locations will be returned for which participant bids/offers exist. operationId: getVirtualBidsAndOffers parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/VirtualBidsAndOffers'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Bidding] description: Post the collection of virtual demand bids and virtual generation offers. Submittal for a single or multiple pnode locations is supported. Data driven delete behaviour is supported via the incusion of null elements. operationId: postVirtualBidsAndOffers parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/VirtualBidsAndOffers'} /markets/real-time/{day}/offer/ramp-curves/participants/{participantName}: description: Submit and return the ramp rate curves portion of the Real-Time schedules offer. Data can be submitted at any time per the market rules. The Ramp Rate Curves are used in market clearing only if they are effective for the operating date and hour of the market, and if the 'Enable Ramp Rate Curves' flag is set to true for that hour in the Schedule Offer ramp rate values. To be effective for a given market date and hour, submittal must have completed by market closing. Submission for one or more pnode locations is supported. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Offer] description: Returns the collection of Real-Time ramp rate curves by pnode location for the day. Pnode or portfolio query parameter may be provided, otherwise all valid resources supporting ramp rate curves for participant are returned. Message format differs by offerType property which can be one of the following values; - rampCurve - esrRampCurve operationId: getOfferRampRateCurves parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - {$ref: '#/components/parameters/Hour'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/MultiVariantRampRateCurves'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Offer] description: Post the collection hourly ramp rate curves for one or more pnode locations. Message format differs by offerType property which can be one of the following values; - rampCurve - esrRampCurve operationId: postOfferRampRateCurves parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/MultiVariantRampRateCurves'} /markets/common/{day}/offer/cc-status/participants/{participantName}: description: Manage Combined Cycle Status. Submission for one or more pnode locations is supported. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Offer] description: Returns the collection of Combined Cycle status by pnode location for the day. Pnode or portfolio query parameters may be provided, otherwise all Combined Cycle aggregate resources for participant are returned. operationId: getCombinedCycleResourceDay parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/CombinedCycleStatus'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Offer] description: Submit Combined Cycle status for one or more pnode locations. operationId: postCombinedCycleResourceDay parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/CombinedCycleStatus'} /markets/{market}/{day}/offer/auto-overrides/participants/{participantName}: description: Returns regulation offer overrides. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Offer] description: | Returns the collection of regulation offer overrides by pnode location for the day. Pnode or portfolio query parameters may be provided, otherwise all applicable resources for participant which have been overriden are returned. Regulation Offers are overridden under the following circumstances. 1. The Participant’s combined Regulation Capacity and Mileage Offers exceed the allowable Total Regulation Offer range (this can occur if a Deployment Rate change occurs). 2. The Participant’s Resource is awarded regulation capacity in the Day Ahead Market, and Participant’s Real-Time regulation offer differs from its Day Ahead regulation offer for the operating day. operationId: getScheduleOfferOverrides parameters: - {$ref: '#/components/parameters/MarketType'} - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RegulationOfferOverrides'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/{market}/{day}/offer/qualification-status/participants/{participantName}: description: Returns Qualification Status flags for a resource or Portfolio of resources. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Offer] description: Returns the collection of qualification status flags by pnode location for the day. Pnode or portfolio query parameters may be provided, otherwise all applicable resources for participant are returned. parameter must be supplied. operationId: getQualificationStatus parameters: - {$ref: '#/components/parameters/MarketType'} - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/QualificationStatus'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/{market}/{day}/offer/schedule/participants/{participantName}: description: Manage Schedule Offer. Submission for one or more pnode locations is supported. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Offer] description: Returns the collection of daily/hourly schedule offers by pnode location for the day. Pnode or portfolio query parameters may be provided, otherwise all applicable resources for participant are returned. Message format differs by offerType property which can be one of the following values; - genOffer - dirOffer - drr1Offer - drr2Offer - earOffer - serOffer - esrOffer operationId: getScheduleOffer parameters: - {$ref: '#/components/parameters/MarketTypeIncBoth'} - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - {$ref: '#/components/parameters/LocationType'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/MultiVariantScheduleOffer'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Offer] description: Submit the daily/hourly schedule offers for one or more pnode locations for the day. Message format differs by offerType property which can be one of the following values; - genOffer - dirOffer - drr1Offer - drr2Offer - earOffer - serOffer - esrOffer operationId: postScheduleOffer parameters: - {$ref: '#/components/parameters/MarketTypeIncBoth'} - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/MultiVariantScheduleOffer'} /markets/{market}/{day}/offer/defaults/participants/{participantName}: description: Manage Schedule Defaults. Submission for one or more pnode locations is supported. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Offer] description: Returns the collection of schedule offer defaults by pnode location for the day. Pnode or portfolio query parameters may be provided, otherwise all applicable resources for participant are returned. Message format differs by offerType property which can be one of the following values; - genDefaultOffer - dirDefaultOffer - drr1DefaultOffer - drr2DefaultOffer - earDefaultOffer - serDefaultOffer - esrDefaultOffer operationId: getDefaultDay parameters: - {$ref: '#/components/parameters/MarketTypeIncBoth'} - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - {$ref: '#/components/parameters/LocationType'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/MultiVariantScheduleDefault'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Offer] description: Submit schedule offer defaults for one or more pnode locations for the day. Message format differs by offerType property which can be one of the following values; - genDefaultOffer - dirDefaultOffer - drr1DefaultOffer - drr2DefaultOffer - earDefaultOffer - serDefaultOffer - esrDefaultOffer operationId: postDefaultDay parameters: - {$ref: '#/components/parameters/MarketTypeIncBoth'} - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/MultiVariantScheduleDefault'} /markets/real-time/{day}/offer/overrides/participants/{participantName}: description: Manage Real Time Offer Overrides API. Submission for one or more pnode locations is supported. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Offer] description: Returns the collection of Real-Time offer overrides by pnode location for the day. Pnode or portfolio query parameters may be provided, otherwise all applicable resources for participant are returned. Message format differs by offerType property which can be one of the following values; - genScheduleOfferOverrides - dirScheduleOfferOverrides - drr1ScheduleOfferOverrides - drr2ScheduleOfferOverrides - earScheduleOfferOverrides - serScheduleOfferOverrides - esrScheduleOfferOverrides operationId: getRealTimeOfferOverrides parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - {$ref: '#/components/parameters/LocationType'} - name: interval5Since description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. Optional element to specify the interval since which the overrides are requested. If {day} is today and interval5Since is not provided then currectly active overrides will be returned. If {day} is not today and interval5Since is not provided then data for the day since interval 23:59:59 will be returned. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RetrievedMultiVariantRTOfferOverrides'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Offer] description: Submit the Real-Time offer overrides by one or more pnode locations for the day. Message format differs by offerType property which can be one of the following values; - genScheduleOfferOverrides - dirScheduleOfferOverrides - drr1ScheduleOfferOverrides - drr2ScheduleOfferOverrides - earScheduleOfferOverrides - serScheduleOfferOverrides - esrScheduleOfferOverrides operationId: postRealTimeOfferOverrides parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/MultiVariantRTOfferOverrides'} /markets/real-time/{day}/reports/lmp-exante: description: LMP Ex-Ante report for the Real-Time market for a specific day that returns a single interval. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the LMP Ex-Ante (UDS) report for the Real-Time market for a specific day and one or more 5 minute intervals. If neither pnode or portfolio query parameters are provided then all public pnodes from the report are returned. If no interval5 query parameter is provided then returns data for the latest 5 minute interval that is available. operationId: getRealTimeLmpExAnte parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - name: interval5 description: List of up to 12 date-time values as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00 specifying the 5 minute interval(s) for which the LMP report is requested. If not specified then return the latest approved 5 minute interval. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/MarketIntervalLabel'} style: form explode: false responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RealTimeLmpExAnte'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/real-time/{day}/reports/lmp-expost: description: LMP Ex-Post report for the Real-Time market for a specific day that returns a single interval. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the LMP Ex-Post (RTLMP) report for the Real-Time market for a specific day and one or more 5 minute intervals. If neither pnode or portfolio query parameters are provided then all public pnodes from the report are returned. If no interval5 query parameter is provided then returns data for the latest 5 minute interval that is available. operationId: getRealTimeLmpExPost parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - name: interval5 description: List of up to 12 date-time values as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00 specifying the 5 minute interval(s) for which the LMP report is requested. If not specified then return the latest approved 5 minute interval. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/MarketIntervalLabel'} style: form explode: false responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RealTimeLmpExPost'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/real-time/{day}/reports/hourly-lmp-expost: description: Integrated hourly Real-Time locational marginal prices on a per pricing node basis. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the integrated hourly Real-Time locational marginal prices on a per pricing node basis. The integrated hourly totals contain a time-weighted aggregation of the underlying 5 minute reports. The integrated totals are only available for the Ex-Post (RTLMP) study mode. If neither pnode or portfolio or hour query parameters are provided then all public pnodes are returned for all intervals of the day. operationId: getRealTimeIntgLmp parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - {$ref: '#/components/parameters/Hour'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RealTimeIntegratedLmpExPost'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/{market}/{day}/imm/resource-assignment/participants/{participantName}: get: tags: [IMM] description: Returns the collection of Independant Market Monitor (IMM) resource assignments by pnode location for the day for a particular participant's resources. Message format differs by offerType property which can be one of the following values; - genImmOffer - dirImmOffer - drr1ImmOffer - drr2ImmOffer - earImmOffer - serImmOffer - esrImmOffer operationId: getParticipantImmOffer parameters: - {$ref: '#/components/parameters/MarketTypeIncBoth'} - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/PnodeRequired'} - name: scheduleId description: List of integers used to specify one or more scheduleId to be queried. in: query required: false schema: {type: integer} - name: scheduleType description: Specifies the assignment type to be queried or all if no query parameter is provided. Valid values are CostSchedule, ReferencePrice, or RSG. in: query required: false schema: type: string enum: [CostSchedule, ReferencePrice, RSG] responses: '200': description: Successful operation content: application/json: schema: {$ref: '#/components/schemas/MultiVariantImmResourceAssignment'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/model/pnodes: description: Return list of pnodes. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Model] description: Return list of pnodes. If query day parameter is not provided then all pnodes are returned irrespective of active dates. operationId: getPnodes parameters: - name: day description: The operating day of the report. Defaults to null (unspecified) if not provided. in: query required: false schema: {$ref: '#/components/schemas/MarketOperatingDay'} - name: context description: Context filter for the report. in: query required: false schema: {$ref: '#/components/schemas/ContextFilter'} - name: sortBy description: SortBy filter for report. in: query required: false schema: {$ref: '#/components/schemas/SortByFilter'} responses: '200': description: Successful operation content: application/json: schema: {$ref: '#/components/schemas/PNodeList'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/common/{day}/mui-meta/participants/{participantName}: description: Return particiant specific MUI metadata. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Admin] description: | Return participant specific MUI metadata. Metadata returned by this call includes: 1. Participant Control Areas - Control Areas administered by a particular participant. If the participant does not administer any control area or is invalid participant then an empty list is returned. A control area is included if the participant is active from day specified through the end of the market horizon. operationId: getParticipantMetadata parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/ParticipantMetadata'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/common/{day}/mui-meta: description: Returns general MUI metadata that is not participant specific. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Admin] description: | Return general MUI metadata, that is not participant specific. Metadata returned by this call includes: 1. Reserve Zones - List of reserve zones available in the system. A reserve zone can appear in this list and still not have any EPnodes assigned to it so it may not appear in reports. 2. List of Market Participants - The list of Market Participants is used when updating bilateral contracts. 3. List of Dispatch Status - List of valid Dispatch Status values organized by unit offer type (GEN, DIR, DRR1, DRR2, EAR, SER). 4. List of Commit Status - List of valid Commit Status values organized by unit offer type (GEN, DIR, DRR1, DRR2, EAR, SER). 5. List of RT Offer Override Reasons - List of RT Offer Override Reasons organized by unit offer type (GEN, DIR, DRR1, DRR2, EAR, SER). 6. List of Market Options - List of Market Options which impact MUI behavior provided as name value pairs. 7. List of CostSchedule Types - List of cost schedule for the Day-Ahead and Balancing (Real-Time) markets. operationId: getMuiMetadata parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - name: metadataGroups description: Metadata group. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/MetadatGroups'} style: form explode: false responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/MuiMetadata'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/portfolios/participants/{participantName}: description: Returns pnodes in all portfolios for a participant with an optional filter on day and details to limit what effective pnodes and how much pnode information is included. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Admin] description: Returns pnodes in all portfolios for a participant with an optional filter on day and details to limit what effective pnodes and how much pnode information is included. operationId: getParticipantPortfolios parameters: - {$ref: '#/components/parameters/Participant'} - name: portfolio description: Optional parameter to specify an individual Portfolio to return, otherwise return all. in: query required: false schema: {$ref: '#/components/schemas/PortfolioName'} - name: details description: Flag to enable querying of pnode and unit details. Defaults to false if not provided. in: query required: false schema: type: string enum: ['false', 'true'] - name: day description: The operating day for which active pnodes in portfolios will be returned. Defaults to null (unspecified) if not provided. in: query required: false schema: {$ref: '#/components/schemas/MarketOperatingDay'} - name: context description: Context filter for the report. in: query required: false schema: {$ref: '#/components/schemas/ContextFilter'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RetrievedPortfolios'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/portfolios/participants/{participantName}/{action}: description: Returns pnodes for a specific Portfolio with an optional filter on day and details to limit what effective pnodes and how much pnode information is included. parameters: - {$ref: '#/components/parameters/x-acting-participant'} post: tags: [Admin] description: Creates or updates or removes a participant Portfolio. operationId: postPortfolios parameters: - {$ref: '#/components/parameters/Participant'} - name: action description: An operation to execute. in: path required: true schema: type: string enum: [create, replace, remove] responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/Portfolio'} /markets/swagger/v3/api-docs/json/{spec}: description: Returns the swagger spec in json format. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Admin] description: Returns the swagger spec in json format. operationId: getSwaggerSpecJson parameters: - name: spec description: Internal or Public specification. in: path required: true schema: type: string enum: [public, internal] responses: '200': description: Successful operation. Returns an OpenAPI/Swagger spec in json. content: application/json: schema: {type: object} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/swagger/v3/api-docs/yaml/{spec}: description: Returns the swagger spec in yaml format. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Admin] description: Returns the swagger spec in yaml format. operationId: getSwaggerSpecYaml parameters: - name: spec description: Internal or Public specification. in: path required: true schema: type: string enum: [public, internal] responses: '200': description: Successful operation. Returns an OpenAPI/Swagger spec in yaml. content: application/x-yaml: schema: {type: object} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/day-ahead/{day}/reports/locational-results/participants/{participantName}: description: Returns the Day-Ahead market results for all offered products (i.e. energy supply, regulation, spinning reserve, supplemental reserve, ramp capability up, and ramp capability down. Data is returned from the Ex-Ante (Day-Ahead) study. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the Day-Ahead market results for all offered products (i.e. energy supply, regulation, spinning reserve, supplemental reserve, ramp capability up, and ramp capability down), as well as any location with cleared demand and virtual bids/offers, by pnode location. Report is participant specific. Data is returned from the Ex-Ante (Day-Ahead) study and are available when the Day-Ahead market closes on the day-ahead of the operating day. Pnode or portfolio query parameters may be provided, otherwise all participant resources as well as any cleared demand or virtual bids/offers by the participant are returned. Cleared MW are only populated for the participant's own resources. operationId: getLocationalResult parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - {$ref: '#/components/parameters/Hour'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DayAheadLocationalResults'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/common/{day}/reports/dist-factors: description: Returns the state estimator distribution factors used to allocate the percentage of load distribution of bus nodes to an aggregate node. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: REST endpoint calls existing back-end PL/SQL procedure to return the state estimator distribution factors used to allocate the percentage of load distribution of bus nodes to an aggregate node. operationId: getDistributionFactors parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DistributionFactors'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/day-ahead/{day}/reports/market-wide-results: description: Returns the hourly Day-Ahead summary of market wide results. Output includes forecast MW as well cleared MWs for Energy, Regulation, and the various Contingency Reserve market products. Output data is from the Ex-Ante (Day-Ahead) study. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the hourly Day-Ahead summary of market wide results. Output includes forecast MW as well cleared MWs for Energy, Regulation, and the various Contingency Reserve market products. Output data is from the Ex-Ante (Day-Ahead) study. operationId: getMkWideResult parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DayAheadMarketWideResults'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/day-ahead/{day}/reports/zonal-lmp-exante: description: Returns the Day-Ahead market clearing Ex-Ante prices at the zonal level. This is the Day-Ahead Pricing data. Results are available from the Day-Ahead market after the market has been cleared, the results have been published, and the results publish time for the market has been reached. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the Day-Ahead market clearing Ex-Ante prices at the zonal level. This is the Day-Ahead Pricing data. Results are available from the Day-Ahead market after the market has been cleared, the results have been published, and the results publish time for the market has been reached. operationId: getDaZonalLmpExAnte parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Hour'} - name: zone description: Optional element to specify the name of zone for the requested report. Zone names are integers. in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DayAheadZonalLMPResultsExAnte'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/day-ahead/{day}/reports/zonal-lmp-expost: description: Returns the Day-Ahead market clearing Ex-Post prices at the zonal level. This is the current Day-Ahead ELMP pricing data. Results are available from the Day-Ahead market after the market has been cleared, the results have been published, and the results publish time for the market has been reached. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the Day-Ahead market clearing Ex-Post prices at the zonal level. This is the current Day-Ahead ELMP pricing data. This is the Day-Ahead Pricing data. Results are available from the Day-Ahead market after the market has been cleared, the results have been published, and the results publish time for the market has been reached. operationId: getDaZonalLmpExPost parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Hour'} - name: zone description: Optional element to specify the name of zone for the requested report. Zone names are integers. in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DayAheadZonalLMPResultsExPost'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/day-ahead/{day}/reports/binding-limits: description: Returns the binding constraints by hour from the approved Day-Ahead case for a given market day. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the binding constraints by hour from the approved Day-Ahead case for a given market day. operationId: getBindingLimitsResult parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DayAheadBindingLimitsResults'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/common/{day}/demand-reqs: description: Returns system Regulation and Contingency Reserve requirements for the specified day. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reserves] description: Return system Regulation and Contingency Reserve requirements for the specified day. A set of market-wide demand requirements must be available prior to a market close. operationId: getMkWideDemandDay parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Hour'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/MarketWideDemandReqsResults'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/real-time/{day}/reports/zonal-lmp-exante: description: Returns the Real Time market clearing Ex-Ante prices at the zonal level. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the Real Time market clearing Ex-Ante prices at the zonal level. operationId: getRealTimeZonalPriceResultExAnte parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - name: zone description: Optional element to specify the name of zone for the requested report. Zone names are integers. in: query required: false schema: {type: string} - name: interval5 description: List of up to 12 date-time values as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00 specifying the 5 minute interval(s) for which the LMP report is requested. If not specified then return the latest approved 5 minute interval. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/MarketIntervalLabel'} style: form explode: false responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RealTimeZonalLMPResultsExAnte'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/real-time/{day}/reports/zonal-lmp-expost: description: Returns the Real Time market clearing Ex-Post prices at the zonal level. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reports] description: Returns the Real Time market clearing Ex-Post prices at the zonal level. operationId: getRealTimeZonalPriceResultExPost parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - name: zone description: Optional element to specify the name of zone for the requested report. Zone names are integers. in: query required: false schema: {type: string} - name: interval5 description: List of up to 12 date-time values as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00 specifying the 5 minute interval(s) for which the LMP report is requested. If not specified then return the latest approved 5 minute interval. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/MarketIntervalLabel'} style: form explode: false responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RealTimeZonalLMPResultsExPost'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/common/{day}/zonal-demand-curves: get: tags: [Reserves] description: Returns the zonal demand curves. operationId: getZonalDemandCurveDay parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - name: zone description: Optional element to specify the name of zone for the requested report. Zone names are integers. in: query required: false schema: {type: string} - name: demandCurveType description: Optional element to specify the type of zonal demand curve. in: query required: false schema: {$ref: '#/components/schemas/ZonalDemandCurveType'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/ZonalDemandCurves'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/common/{day}/demand-curves: get: tags: [Reserves] description: Returns market wide demand curves. operationId: getMkWideDemandCurveDay parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - name: demandCurveType description: Optional element to specify the type of market wide demand curve. in: query required: false schema: {$ref: '#/components/schemas/MarketWideDemandCurveType'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/MarketWideDemandCurves'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/common/{day}/zonal-demand-reqs: description: Returns Zonal Regulation and Contingency Reserve Requirements for the specified day. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reserves] description: Returns Zonal Regulation and Contingency Reserve Requirements for the specified day. operationId: getZonalDemandRequirements parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Hour'} - name: zone description: Optional element to specify the name of zone for the requested report. Zone names are specified as integers. in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/ZonalDemandReqsResults'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/day-ahead/{day}/ramp-reqs: description: Returns the hourly ramp capability requirements used in the Day-Ahead market. It will only return results after the Day-Ahead results for the operating day are published. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reserves] description: Returns the hourly ramp capability requirements used in the Day-Ahead market. It will only return results after the Day-Ahead results for the operating day are published. operationId: getDayAheadRampCapReq parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Hour'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RampCapabilityRequirementsHourly'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/real-time/{day}/ramp-reqs: description: Returns the 5-minute interval level ramp capability requirements used in the Real-Time market. It will only return results for intervals that already have been dispatched for the operating day. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Reserves] description: Returns the 5-minute interval level ramp capability requirements used in the Real-Time market. It will only return results for intervals that already have been dispatched for the operating day. operationId: getRealTimeRampCapReq parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - name: interval5 description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. Optional element to specify the 5 minute interval for the which the data is to be returned. If not specified then returns all the intervals that already have been dispatched for the operating day. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RampCapabilityRequirementsInterval5s'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/bilateral/participants/{participantName}/contracts: description: Returns the list of contracts for a specific participant. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Contracts] description: Returns the list of contracts for a specific participant. operationId: getBilateralContracts parameters: - {$ref: '#/components/parameters/Participant'} - name: contractName description: The name of the contract. in: query schema: {$ref: '#/components/schemas/ContractName'} - name: counterPartyName description: The counter party name involved. in: query schema: {type: string} - name: effectiveStart description: The start date of the contract. in: query schema: {$ref: '#/components/schemas/MarketOperatingDay'} - name: effectiveEnd description: The end date of the contract. in: query schema: {$ref: '#/components/schemas/MarketOperatingDay'} - name: approvalRequired description: Whether or not approval is required for the contract. Default is false, meaning that any contract, approved or not, satisfies the query in concert with other specified parameters. in: query schema: type: string enum: ['false', 'true'] - name: counterPartyType description: The type of participant the counterparty is. in: query schema: enum: [Buyer, Seller] type: string responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/Contracts'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Contracts] description: Submit multiple contracts at a time for a specific participant. operationId: postBilateralContracts parameters: - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/Contracts'} /markets/bilateral/participants/{participantName}/contract-schedules: description: Query schedules for a specific day, given the contract details. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Contracts] description: Query schedules for a specificed day and participant. operationId: getBilateralContractSchedules parameters: - {$ref: '#/components/parameters/Participant'} - name: contractName description: Name of contract the schedules should be filtered by. in: query required: false schema: {$ref: '#/components/schemas/ContractName'} - name: counterPartyName description: Name of other participant involved. in: query required: false schema: {type: string} - name: scheduleDay description: Day of the schedule in question. in: query required: false schema: {$ref: '#/components/schemas/MarketOperatingDay'} - name: scheduleState description: The state that the schedule is in. in: query required: false schema: enum: [Pending, Approved] type: string responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/ContractSchedules'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Contracts] description: Submit schedules for a multiple days for a given contract and participant. operationId: postBilateralContractSchedules parameters: - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/ContractSchedules'} /markets/bilateral/participants/{participantName}/contract-schedules/{scheduleDay}: description: Get or submit schedules for a specific day, given the contract details. parameters: - {$ref: '#/components/parameters/x-acting-participant'} post: tags: [Contracts] description: Submit schedules for a specificed day and participant. operationId: postSingleBilateralContractSchedules parameters: - {$ref: '#/components/parameters/Participant'} - name: scheduleDay description: The day of the schedule. in: path required: true schema: {$ref: '#/components/schemas/MarketOperatingDay'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/ContractSchedules'} /markets/bilateral/participants/{participantName}/contract-confirmation: description: Confirm both contracts and schedules. parameters: - {$ref: '#/components/parameters/x-acting-participant'} post: tags: [Contracts] description: Confirm both contracts and schedules. operationId: postBilateralContractsSchedulesApproval parameters: - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/BilateralConfirmation'} /markets/real-time/{day}/forecast/5-minute/participants/{participantName}: description: Returns the 5 minute forecast created by the Midwest ISO forecast tool by pnode or portfolio. Start time will be rounded up to the next 5-minute boundary if it is not already on one and the next 12 intervals will be returned assuming they exist. If forecast does not exist then no data is returned. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Forecast] description: Returns the collection of 5 minute forecast created by the Midwest ISO forecast tool for Wind and Solar resources by pnode location. Pnode or portfolio query parameters may be provided, otherwise all applicable resources for participant are returned. Start time will be rounded up to the next 5-minute boundary if it is not already on one and the next 12 intervals will be returned assuming they exist. If forecast does not exist then no data is returned. operationId: getRenewableForecastDay parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - name: startTime description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. Start time for 12 contiguous 5-minute intervals that are returned by query. The interval is rounded up to the closest 5-minute interval if not already on one. in: query required: true schema: {$ref: '#/components/schemas/MarketIntervalLabel'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/RenewablesForecast'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/real-time/{day}/forecast/rt-demand/participants/{participantName}: description: Submits and returns the hourly load forecast for one or more Load Zones, Intermittent and Dispatchable Intermittent Resources (DIR). Data can only be entered until the RSG Notification Deadline. That is data must be entered at least 4 hours prior to the market hour. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Forecast] description: Returns the collection of hourly load forecast for Load Zones, Intermittent and Dispatchable Intermittent Resources (DIR) by pnode location. Pnode or portfolio query parameters may be provided, otherwise all applicable resources for participant are returned. If forecast does not exist then no data is returned. operationId: getRealTimeDemandDay parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DemandForecast'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Forecast] description: Submit the hourly load forecast for one or more Load Zones, Intermittent and Dispatchable Intermittent Resources (DIR). Data can only be entered until the RSG Notification Deadline. That is data must be entered at least 4 hours prior to the market hour. operationId: postRealTimeDemandDay parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/DemandForecast'} /markets/real-time/{day}/forecast/dir/participants/{participantName}: description: Submit and return the 5 minute generation capability forecast for one or more Dispatchable Intermittent Resources (DIR). Data can be submitted at any time per the market rules. To be effective for a given hour and date, submittal must have completed prior to Real-Time market clearing (subject to the market rules). The message will accept a maximum of 12 contiguous intervals. Intervals for this message must fall on 5-minute boundaries and they are allowed to span the market day. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Forecast] description: Returns the collection of 5 minute generation capability forecast for Dispatchable Intermittent Resources (DIR) by pnode location. Pnode or portfolio query parameters may be provided, otherwise all applicable resources for participant are returned. If forecast does not exist then no data is returned. operationId: getDirForecast parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} - name: startTime description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. Start time for 12 contiguous 5-minute intervals that are returned by query. Interval is rounded up to the closest 5-minute interval if not already on one. in: query required: true schema: {$ref: '#/components/schemas/MarketIntervalLabel'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DIRForecast'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Forecast] description: Submit the 5 minute generation capability forecast for one or more Dispatchable Intermittent Resources (DIR). Data can be submitted at any time per the market rules. To be effective for a given hour and date, submittal must have completed prior to Real-Time market clearing (subject to the market rules). The message will accept a maximum of 12 contiguous intervals. Intervals for this message must fall on 5-minute boundaries and they are allowed to span the market day. operationId: postDirForecast parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/DIRForecast'} /markets/real-time/{day}/forecast/drr-load/participants/{participantName}: description: Manage the 5 minute contingency reserve deployment forecast for one or more DRR Type-I and Type-II resources. The earliest forecast interval that is submitted must fall within the next 10 minutes (from current time) and to be effective for a given hour and date, submittal must have completed prior to Real-Time market clearing (subject to the market rules). The block of forecast times that are submitted must be contiguous. Within the operating date, up to 288 intervals can be specified. If forecast does not exist then no data is returned. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Forecast] description: Returns the collection of 5 minute contingency reserve deployment forecast for DRR Type-I and Type-II resources by pnode location. Pnode or portfolio query parameters may be provided, otherwise all applicable resources for participant are returned. operationId: getDrrForecast parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - {$ref: '#/components/parameters/Pnode'} - {$ref: '#/components/parameters/Portfolio'} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DRRLoadForecast'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} post: tags: [Forecast] description: Submit the 5 minute contingency reserve deployment forecast for one or more DRR Type-I and Type-II resources. The earliest forecast interval that is submitted must fall within the next 10 minutes (from current time) and to be effective for a given hour and date, submittal must have completed prior to Real-Time market clearing (subject to the market rules). The block of forecast times that are submitted must be contiguous. Within the operating date, up to 288 intervals can be specified. operationId: postDrrForecast parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} responses: '200': {$ref: '#/components/responses/OkApiResponse'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} requestBody: required: true content: application/json: schema: {$ref: '#/components/schemas/DRRLoadForecast'} /markets/notifications/{day}/resource-start-stop/participants/{participantName}/messages: description: Returns a filtered list of the Resource Start/Stop notification messages sent to a participant. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Notifications] description: Returns a filtered list of the Resource Start/Stop notification messages sent to a participant since a certain time for a particular pnode. If since is not provided then return all filtered notifications since start of day requested. operationId: getResourceStartStopNotificationHistory parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - name: pnode description: Optional parameter to specify the name of a pricing node for the requested data. If not provided then all applicable data is returned. in: query required: false schema: {$ref: '#/components/schemas/PNodeName'} - name: since description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. This value does not need to be on a 5-minute boundary. If not provided then messages sent since start of day are returned. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: status description: Notification send status filter supporting multiple entries. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/NotifyStatus'} style: form explode: false - name: externalId description: External ID in: query required: false schema: {type: string} - name: page description: Page number, starts from zero. in: query required: false schema: {type: integer} - name: size description: Page size in: query required: false schema: {type: integer} - name: sort description: 'A comma separated list of sortable properties, each item must have format: property-name:order. Order can be asc or desc. Available property names: status, externalId, created. Default value is created:desc.' in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/ResourceStartStopNotificationLog'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/notifications/{day}/dispatch-instruction/participants/{participantName}/messages: description: Returns a filtered list of the Dispatch Instruction notifications messages sent to a participant. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Notifications] description: Returns a filtered list of the Dispatch Instruction notifications messages sent to a participant since a certain time for a particular pnode. If since is not provided then return all filtered notifications since start of day requested. operationId: getDispatchInstructionNotificationHistory parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - name: pnode description: Optional parameter to specify the name of a pricing node for the requested data. If not provided then all applicable data is returned. in: query required: false schema: {$ref: '#/components/schemas/PNodeName'} - name: since description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. This value does not need to be on a 5-minute boundary. If not provided then messages sent since start of day are returned. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: status description: Notification send status filter supporting multiple entries. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/NotifyStatus'} style: form explode: false - name: externalId description: External ID in: query required: false schema: {type: string} - name: page description: Page number, starts from zero. in: query required: false schema: {type: integer} - name: size description: Page size in: query required: false schema: {type: integer} - name: sort description: 'A comma separated list of sortable properties, each item must have format: property-name:order. Order can be asc or desc. Available property names: status, externalId, created. Default value is created:desc.' in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/DispatchNotificationLog'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/notifications/{day}/reserve-zone-study-status/participants/{participantName}/messages: description: Returns a filtered list of the Reserve Zone Study Status notification messages sent to a particpant. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Notifications] description: Returns a filtered list of the Reserve Zone Study Status notification messages sent to a particpant since a certain time. If since is not provided then return all filtered notifications since start of day requested. operationId: getReserveZoneStudyStatusNotificationHistory parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - name: since description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. This value does not need to be on a 5-minute boundary. If not provided then messages sent since start of day are returned. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: status description: Notification send status filter supporting multiple entries. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/NotifyStatus'} style: form explode: false - name: externalId description: External ID in: query required: false schema: {type: string} - name: page description: Page number, starts from zero. in: query required: false schema: {type: integer} - name: size description: Page size in: query required: false schema: {type: integer} - name: sort description: 'A comma separated list of sortable properties, each item must have format: property-name:order. Order can be asc or desc. Available property names: status, externalId, created. Default value is created:desc.' in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/ReserveZoneStudyStatusNotificationLog'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/notifications/{day}/emergency-notification/participants/{participantName}/messages: description: Returns the filtered list of public and private messages that have been issued by the market operator and sent to a particpant. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Notifications] description: Returns the filtered list of public and private messages that have been issued by the market operator and sent to a particpant since a certain time. A public message is a message that is available to all market participants. A private message is a message directed to a specific set (of one or more market participants). A message has an associated priority. A message's priority is specified as a integer number from 0 through 999. The only meaning applied to these priorities is that the priority 0 value represents an emergency notification message. If since is not provided then return all filtered notifications since start of day requested. operationId: getEmergencyNotificationHistory parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - name: since description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. This value does not need to be on a 5-minute boundary. If not provided then messages sent since start of day are returned. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: realm description: Value specifying the realm to query as public only, private, or both public and private. If not specified, the query is for public messages only. in: query required: false schema: type: string enum: [Private, Public, Both] - name: priority description: Element specifying the priority threshold. A value specified means that only those messages whose priority code is less than or equal to the threshold specified are returned. By default, all message priorities are returned. in: query required: false schema: {type: integer, minimum: 0, maximum: 999, example: 0} - name: status description: Notification send status filter supporting multiple entries. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/NotifyStatus'} style: form explode: false - name: externalId description: External ID in: query required: false schema: {type: string} - name: page description: Page number, starts from zero. in: query required: false schema: {type: integer} - name: size description: Page size in: query required: false schema: {type: integer} - name: sort description: 'A comma separated list of sortable properties, each item must have format: property-name:order. Order can be asc or desc. Available property names: status, externalId, created. Default value is created:desc.' in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/EmergencyNotificationLog'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/notifications/{day}/contingency-reserve/participants/{participantName}/messages: description: Returns a filtered list of the CR Deployment notifications messages successfully sent to a participant. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Notifications] description: Returns a filtered list of the CR Deployment notifications messages successfully sent to a participant since a certain time for a particular pnode. If since is not provided then return all filtered notifications since start of day requested. operationId: getCRDeploymentNotificationHistory parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - name: pnode description: Optional parameter to specify the name of a pricing node for the requested data. If not provided then all applicable data is returned. in: query required: false schema: {$ref: '#/components/schemas/PNodeName'} - name: since description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. This value does not need to be on a 5-minute boundary. If not provided then messages sent since start of day are returned. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: status description: Notification send status filter supporting multiple entries. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/NotifyStatus'} style: form explode: false - name: externalId description: External ID in: query required: false schema: {type: string} - name: page description: Page number, starts from zero. in: query required: false schema: {type: integer} - name: size description: Page size in: query required: false schema: {type: integer} - name: sort description: 'A comma separated list of sortable properties, each item must have format: property-name:order. Order can be asc or desc. Available property names: status, externalId, created. Default value is created:desc.' in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/CRDeploymentNotificationLog'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /markets/notifications/{day}/financial-contract-schedule-confirmation/participants/{participantName}/messages: description: Returns a filtered list of Financial Contract/Schedule Confirmation notifications messages sent to a participant. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Notifications] description: Returns a filtered list of Financial Contract/Schedule Confirmation notifications messages sent to a participant since a certain time. If since is not provided then return all filtered notifications since start of day requested. operationId: getFinancialContractScheduleConfirmationHistory parameters: - {$ref: '#/components/parameters/MarketOperatingDay'} - {$ref: '#/components/parameters/Participant'} - name: since description: Date-time as defined in RFC 3339 having format YYYY-MM-DDTHH:MM:SS-05:00. This value does not need to be on a 5-minute boundary. If not provided then messages sent since start of day are returned. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: status description: Notification send status filter supporting multiple entries. in: query required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/NotifyStatus'} style: form explode: false - name: externalId description: External ID in: query required: false schema: {type: string} - name: page description: Page number, starts from zero. in: query required: false schema: {type: integer} - name: size description: Page size in: query required: false schema: {type: integer} - name: sort description: 'A comma separated list of sortable properties, each item must have format: property-name:order. Order can be asc or desc. Available property names: status, externalId, created. Default value is created:desc.' in: query required: false schema: {type: string} responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/ContractScheduleNotificationLog'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} /example-listener/case-event: description: Example path for receiving given notification type. Notification subscription can use separate paths by notification event type, as shown in this sample specification, or subscribe multiple notification event types to the same URL, depending on Market Participant implementation. post: tags: [Notifications Format] summary: Posted case event notification message which is published to participant configured listener endpoint when Day-Ahead and Real-Time study results are available via the MUI. operationId: postCaseEventNotificationFormat requestBody: required: true content: application/json: schema: type: object properties: test: type: string enum: ['false', 'true'] notificationData: {$ref: '#/components/schemas/CaseEventNotification'} responses: '200': {description: OK. Notification received.} /example-listener/contingency-reserve: description: Example path for receiving given notification type. Notification subscription can use separate paths by notification event type, as shown in this sample specification, or subscribe multiple notification event types to the same URL, depending on Market Participant implementation. post: tags: [Notifications Format] summary: Posted contingency reserve notification message which is published to participant configured listener endpoint. operationId: postContingencyReserveNotificationFormat requestBody: required: true content: application/json: schema: type: object properties: test: type: string enum: ['false', 'true'] notificationData: {$ref: '#/components/schemas/ContingencyReserveDeploymentNotification'} responses: '200': {description: OK. Notification received.} /example-listener/emergency-notification: description: Example path for receiving given notification type. Notification subscription can use separate paths by notification event type, as shown in this sample specification, or subscribe multiple notification event types to the same URL, depending on Market Participant implementation. post: tags: [Notifications Format] summary: Posted emergency notification message which is published to participant configured listener endpoint. Message can be sourced from MISO or the IMM. operationId: postEmergencyNotificationFormat requestBody: required: true content: application/json: schema: type: object properties: test: type: string enum: ['false', 'true'] notificationData: {$ref: '#/components/schemas/EmergencyNotification'} responses: '200': {description: Submitted} /example-listener/dispatch-instruction: description: Example path for receiving given notification type. Notification subscription can use separate paths by notification event type, as shown in this sample specification, or subscribe multiple notification event types to the same URL, depending on Market Participant implementation. post: tags: [Notifications Format] summary: Posted dispatch instruction notification message which is published to participant configured listener endpoint. operationId: postDispatchInstructionNotificationFormat requestBody: required: true content: application/json: schema: type: object properties: test: type: string enum: ['false', 'true'] notificationData: {$ref: '#/components/schemas/DispatchInstructionNotification'} responses: '200': {description: OK. Notification received.} /example-listener/financial-contract-schedule-confirmation: description: Example path for receiving given notification type. Notification subscription can use separate paths by notification event type, as shown in this sample specification, or subscribe multiple notification event types to the same URL, depending on Market Participant implementation. post: tags: [Notifications Format] summary: Posted contract schedule confirmation notification message which is published to participant configured listener endpoint. operationId: postFinancialContractScheduleNotificationFormat requestBody: required: true content: application/json: schema: type: object properties: test: type: string enum: ['false', 'true'] notificationData: {$ref: '#/components/schemas/FinancialContractScheduleConfirmationNotification'} responses: '200': {description: OK. Notification received.} /example-listener/reserve-zone-study-status: description: Example path for receiving given notification type. Notification subscription can use separate paths by notification event type, as shown in this sample specification, or subscribe multiple notification event types to the same URL, depending on Market Participant implementation. post: tags: [Notifications Format] summary: Posted reserve zone study status notification message which is published to participant configured listener endpoint. operationId: postReserveZoneStudyStatusNotificationFormat requestBody: required: true content: application/json: schema: type: object properties: test: type: string enum: ['false', 'true'] notificationData: {$ref: '#/components/schemas/ReserveZoneStudyStatusNotification'} responses: '200': {description: OK. Notification received.} /example-listener/resource-start-stop: description: Example path for receiving given notification type. Notification subscription can use separate paths by notification event type, as shown in this sample specification, or subscribe multiple notification event types to the same URL, depending on Market Participant implementation. post: tags: [Notifications Format] summary: Posted resource start stop notification message which is published to participant configured listener endpoint. operationId: postResourceStartStopNotificationFormat requestBody: required: true content: application/json: schema: type: object properties: test: type: string enum: ['false', 'true'] notificationData: {$ref: '#/components/schemas/ResourceStartStopNotification'} responses: '200': {description: OK. Notification received.} /mgms/transactions/events: description: Returns a collection of transaction events for the specified start and end date-time and operation. parameters: - {$ref: '#/components/parameters/x-acting-participant'} get: tags: [Transactions] description: Returns a collection of transaction events for the specified start and end date-time and operation. operationId: getTransactionEvents responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/TransactionEvents'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} parameters: - name: page description: Page number. Optional parameter. in: query required: false schema: {type: integer} - name: pagesize description: Page size. It starts from zero. Optional parameter. in: query required: false schema: {type: integer} - name: sort description: 'A comma separated list of sortable properties, each item must have format: property-name:order. Order can be asc or desc. Available property names: eventTime, startDateTime, endDateTime, operationTypes, operationType, serviceName, submitterName, participantMrid, participantName, transactionId, requestSource' in: query required: false schema: {type: string} - name: startDateTime description: Date-time as defined in RFC 3339 having format 'YYYY-MM-DDTHH:MM:SS-05:00'. Optional parameter. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: endDateTime description: Date-time as defined in RFC 3339 having format 'YYYY-MM-DDTHH:MM:SS-05:00'. Optional parameter. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: operationTypes description: Operation service type. Optional parameter. in: query required: false schema: {$ref: '#/components/schemas/OperationType'} - name: serviceName description: Service name. Optional parameter. in: query required: false schema: {$ref: '#/components/schemas/ServiceName'} - name: participantName description: Participant name. Optional parameter. in: query required: false schema: {type: string} - name: submitterName description: User name. Optional parameter. in: query required: false schema: {type: string} - name: transactionId description: Transaction Id. Optional parameter. in: query required: false schema: {type: string, format: guid} /mgms/transactions/events/mrid/{mrid}: description: Returns the transaction event specified by the internal Transaction Event unique identifier(UUID). get: tags: [Transactions] description: Returns the transaction event specified by the internal Transaction Event unique identifier(UUID). operationId: getTransactionEvent responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/TransactionEvent'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} parameters: - name: mrid description: The Transaction GUID identifies a specific transaction event item. in: path required: true schema: {type: string} /mgms/transactions/events/participants/name/{participantName}: description: Returns a collection of transaction events submitted by the specified participant for the specified start and end date-time and operation. get: tags: [Transactions] description: Returns a collection of transaction events submitted by the specified participant for the specified start and end date-time and operation. operationId: getParticipantTransactionEvents responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/TransactionEvents'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} parameters: - name: page description: Page number. Optional parameter. in: query required: false schema: {type: integer} - name: pagesize description: Page size. It starts from zero. Optional parameter. in: query required: false schema: {type: integer} - name: sort description: 'A comma separated list of sortable properties, each item must have format: property-name:order. Order can be asc or desc. Available property names: eventTime, startDateTime, endDateTime, operationTypes, operationType, serviceName, submitterName, participantMrid, participantName, transactionId, requestSource' in: query required: false schema: {type: string} - name: startDateTime description: Date-time as defined in RFC 3339 having format 'YYYY-MM-DDTHH:MM:SS-05:00'. Optional parameter. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: endDateTime description: Date-time as defined in RFC 3339 having format 'YYYY-MM-DDTHH:MM:SS-05:00'. Optional parameter. in: query required: false schema: {$ref: '#/components/schemas/MarketIntervalLabel'} - name: operationTypes description: Operation service type. Optional parameter. in: query required: false schema: {$ref: '#/components/schemas/OperationType'} - name: serviceName description: Service name. Optional parameter. in: query required: false schema: {$ref: '#/components/schemas/ServiceName'} - name: participantName description: The participant name associated with the transaction. in: path required: true schema: {type: string} - name: submitterName description: User name. Optional parameter. in: query required: false schema: {type: string} - name: transactionId description: Transaction Id. Optional parameter. in: query required: false schema: {type: string, format: guid} /mgms/transactions/events/mrid/{mrid}/payloads: description: Returns one or more payload documents for transaction event specified by the internal Transaction Event unique identifier(UUID). get: tags: [Transactions] description: Returns one or more payload documents for transaction event specified by the internal Transaction Event unique identifier(UUID). operationId: getTransactionEventPayloads responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/TransactionEventPayloads'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} parameters: - name: mrid description: The internal Transaction UUID identifies a specific transaction event item. in: path required: true schema: {type: string} /mgms/transactions/events/mrid/{mrid}/payloads/payload-type/{payloadType}: description: Returns payload documents for transaction event specified by the internal Transaction Event unique identifier(UUID) and specified payload type. get: tags: [Transactions] description: Returns payload documents for transaction event specified by the internal Transaction Event unique identifier(UUID) and specified payload type. operationId: getTransactionEventPayload responses: '200': description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/TransactionEventPayload'} headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} '400': {$ref: '#/components/responses/BadRequestApiResponse'} '403': {$ref: '#/components/responses/UnauthorizedApiResponse'} '404': {$ref: '#/components/responses/NotFoundApiResponse'} '500': {$ref: '#/components/responses/InternalErrorApiResponse'} parameters: - name: mrid description: The internal Transaction UUID identifies a specific transaction event item. in: path required: true schema: {type: string} - name: payloadType description: specific payload document type. in: path required: true schema: {$ref: '#/components/schemas/PayloadDocumentType'} components: schemas: APIResponse: description: General container for API response. type: object properties: action: description: A general action code summary of the result. HTTP status codes will be applied that match. These indicate the type of operation that was done (or not). Note, some APIs use REST verbiage like created/updated/deleted while others use submit/query. enum: [CREATED, UPDATED, DELETED, CREATE_FAILED, UPDATE_FAILED, DELETE_FAILED, GET_FAILED, SUBMITTED, SUBMIT_FAILED, QUERY, QUERY_FAILED] responses: description: List of responses in case multiple resources are modified, or general errors that are not resource specific. type: array minItems: 0 items: description: A single response which may contain multiple messages, both error and warning, per response. type: object properties: messages: description: List of warnings and errors resulting from the command. type: array minItems: 0 items: description: An individual warning or error message. Designed to be either localized or categorized as an event. type: object properties: level: description: An indication of severity of the message. type: string enum: [ERROR, WARNING, INFO] msgId: {description: 'A categorized ID for this message, identifying it as a particular type of event. Useful for checking for specific errors, or localization.', type: string} params: description: Ordered list of parameter values for the message. type: array items: {type: string} userMsg: {description: 'The message, fully rendered in the default locale on the service side.', type: string} transactionId: {description: Unique identifier for the transaction which can be queried at a later date. Identifier is a GUID represented without hyphens. Only returned for submissions and errors though all calls generate a transaction ID that is returned in the http-x-request-id response header., type: string, format: guid} transactionTime: {description: The time at which the transaction was received by the system., type: string, format: date-time} HourLabel: {description: Hour ending label. Represents an hour segment of time., type: integer, minimum: 1, maximum: 24, example: 1} CheckHourLabel: {description: Hour ending label that can be provided to enable a validation on the current hour during submission. If specified then current hour must equal this value otherwise a validation error is raised., type: integer, minimum: 1, maximum: 24, example: 1} MarketOperatingDay: {description: Effective Market operating day of data. RFC 3339. 'YYYY-MM-DD'., type: string, format: date, example: '2019-03-14'} MarketOperatingDayNullable: {description: Effective Market operating day of data. RFC 3339. 'YYYY-MM-DD'., type: string, nullable: true, format: date, example: '2019-03-14'} MarketIntervalLabel: {description: 'Date-time as defined in RFC 3339. ''YYYY-MM-DDTHH:MM:SS-05:00''. Effective Market interval of data.', type: string, format: date-time, example: '2019-03-14T14:50:00-05:00'} MarketIntervalLabelNullable: {description: 'Date-time as defined in RFC 3339. ''YYYY-MM-DDTHH:MM:SS-05:00''. Effective Market interval of data with null indicating unset.', type: string, nullable: true, format: date-time, example: '2019-03-14T14:50:00-05:00'} RealEnergy: {description: Used to represent real energy values submitted to the market., type: number, format: realenergy, multipleOf: 0.1, minimum: -9.99999999E7, maximum: 9.99999999E7, example: 1200.7} RealEnergyNullable: {description: Used to represent real energy values submitted to the market. Nullable added to allow for data driven delete behaviour., type: number, nullable: true, format: realenergy, multipleOf: 0.1, minimum: -9.99999999E7, maximum: 9.99999999E7, example: 1200.7} RealEnergySigned: {description: Used to represent real energy values submitted to the market., type: number, format: realenergy, multipleOf: 0.1, minimum: 0, maximum: 9.99999999E7, example: 1200.7} RealEnergySignedNullable: {description: Used to represent real energy values submitted to the market. Nullable added to allow for data driven delete behaviour., type: number, nullable: true, format: realenergy, multipleOf: 0.1, minimum: 0, maximum: 9.99999999E7, example: 1200.7} RealEnergyNegative: {description: Used to represent real energy values submitted to the market that must be less than or equal to zero., type: number, format: realenergy, multipleOf: 0.1, minimum: -9.99999999E7, maximum: 0, example: -1200.7} RealEnergyNegativeNullable: {description: Used to represent real energy values submitted to the market that must be less than or equal to zero. Nullable added to allow for data driven delete behaviour., type: number, nullable: true, format: realenergy, multipleOf: 0.1, minimum: -9.99999999E7, maximum: 0, example: -1200.7} RealEnergyResults: {description: Used to represent real energy values in market outcomes. Historically simliar to 'MWType'., type: number, format: realenergy, multipleOf: 0.1, minimum: -9.99999999E7, maximum: 9.99999999E7, example: 120001.7} RealEnergyResultsNullable: {description: Used to represent real energy values in market outcomes. Historically simliar to 'MWType'., type: number, nullable: true, format: realenergy, multipleOf: 0.1, minimum: -9.99999999E7, maximum: 9.99999999E7, example: 120001.7} RealEnergyResultsSigned: {description: Used to represent real energy values in market outcomes. Historically simliar to 'MWType'., type: number, format: realenergy, multipleOf: 0.1, minimum: 0.0, maximum: 9.99999999E7, example: 120001.7} RealEnergyResultsSignedNullable: {description: Used to represent real energy values in market outcomes. Historically simliar to 'MWType'., type: number, nullable: true, format: realenergy, multipleOf: 0.1, minimum: 0.0, maximum: 9.99999999E7, example: 120001.7} RealEnergyDemandCurve: {description: Specifies the MW value on the curve as a decimal value of up to 11 digits with four decimal precision. Can contain a MW (fixed) or Percentage (variable) breakpoint., type: number, format: realenergy, multipleOf: 1.0E-4, minimum: -9999999.9999, maximum: 9999999.9999, example: 120001.1234} Percentage: {description: Used to represent a percentage in the range of 0-100., type: number, format: percentage, multipleOf: 0.1, minimum: 0.0, maximum: 100.0, example: 42.0} PercentageNullable: {description: Used to represent a percentage in the range of 0-100., type: number, nullable: true, format: percentage, multipleOf: 0.1, minimum: 0.0, maximum: 100.0, example: 42.0} Percentage4DP: {description: Used to represent a percentage in the range of 0.0001-1.0000., type: number, multipleOf: 1.0E-4, minimum: 1.0E-4, maximum: 1.0, example: 0.4211} Percentage4DPNullable: {description: Used to represent a percentage in the range of 0.0001-1.0000., type: number, nullable: true, multipleOf: 1.0E-4, minimum: 1.0E-4, maximum: 1.0, example: 0.4211} OpCost: {description: 'Operational cost for resource such as startup, noload, or shutdown costs.', type: number, format: money, multipleOf: 0.01, minimum: 0.0, maximum: 9.999999999E7, example: 120001.7} OpCostNullable: {description: 'Operational cost for resource such as startup, noload, or shutdown costs.', type: number, nullable: true, format: money, multipleOf: 0.01, minimum: 0.0, maximum: 9.999999999E7, example: 120001.7} MarketPrice: {description: General type for all market prices., format: money, type: number, multipleOf: 0.01, minimum: -9999.99, maximum: 9999.99, example: 34.91} MarketPriceNullable: {description: General type for all market prices., format: money, type: number, nullable: true, multipleOf: 0.01, minimum: -9999.99, maximum: 9999.99, example: 34.91} MarketPriceSigned: {description: General type for all market prices., format: money, type: number, multipleOf: 0.01, minimum: 0.0, maximum: 9999.99, example: 34.91} MarketPriceSignedNullable: {description: General type for all market prices., format: money, type: number, nullable: true, multipleOf: 0.01, minimum: 0.0, maximum: 9999.99, example: 34.91} MarketPriceResults: {description: General type for all market price results., format: money, type: number, multipleOf: 0.01, minimum: -9.999999999E7, maximum: 9.999999999E7, example: 34.91} MarketPriceResultsNullable: {description: General type for all market price results., format: money, type: number, nullable: true, multipleOf: 0.01, minimum: -9.999999999E7, maximum: 9.999999999E7, example: 34.91} PriceTypeExAnte: description: Market pricing type - Ex-Ante. type: string enum: [ExAnte] example: ExAnte PriceTypeExPost: description: Market pricing type - Ex-Post. type: string enum: [ExPost] example: ExPost PriceTypes: description: Range of market pricing types. type: string enum: [ExAnte, ExPost] example: ExPost ContractName: {description: Bilateral contract name., type: string, minLength: 1, maxLength: 50, example: Test Contract} ParticipantName: {description: Market participant name., type: string, minLength: 1, maxLength: 40, example: MP} LocationType: description: Unit type of a Commercial Pricing Node (PNode). type: string enum: [GEN, DIR, DRR1, DRR2, EAR, SER, ESR] PNodeName: {description: Commercial Pricing Node (PNode) name., type: string, minLength: 1, maxLength: 30, example: PNODE1} PortfolioName: {description: Portfolio name which is unique to a participant company and may be shared among users registered with the same company., type: string, minLength: 1, maxLength: 40, example: Sample Portfolio} CCStatus: description: Combined Cycle status. type: string enum: [Aggregate, Individual] example: Aggregate RegulationOverrideReasons: description: Regulation Override Reasons. type: array items: type: string enum: [PriceCap, DAtoRTOfferConflict] MarketType: description: Energy Market types. type: string enum: [day-ahead, real-time] MarketTypeIncBoth: description: Energy Market types, includes support for both markets. type: string enum: [day-ahead, real-time, both] ScheduleType: description: Participant offer schedule types. type: string enum: [Price, Cost] MetadatGroups: description: Mui Meta-data groups. type: string enum: [ReserveZones, Participants, CommitStatus, DispatchStatus, RealTimeOfferOverrideReasons, MarketOptions, CostScheduleTypes] StartupTime: {description: Type used to represent time required for Cold Startup/Intermediate Startup/Hot Startup for the resource., type: string, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '001:50'} StartupTimeNullable: {description: Type used to represent time required for Cold Startup/Intermediate Startup/Hot Startup for the resource., type: string, nullable: true, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '001:50'} NotificationTime: {description: Type used to represent time required for Cold Notification/Intermediate Notification/Hot Notification for the resource., type: string, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '001:59'} NotificationTimeNullable: {description: Type used to represent time required for Cold Notification/Intermediate Notification/Hot Notification for the resource., type: string, nullable: true, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '001:59'} RunTime: {description: Type used to represent run time for the resource., type: string, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '999:00'} RunTimeNullable: {description: Type used to represent run time for the resource., type: string, nullable: true, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '999:00'} MaxRunTime: {description: Type used to represent run time for the resource., type: string, pattern: '^[0-9]{1,5}[:][0-5][0-9]$', example: '999:00'} MaxRunTimeNullable: {description: Type used to represent run time for the resource., type: string, nullable: true, pattern: '^[0-9]{1,5}[:][0-5][0-9]$', example: '999:00'} DownTime: {description: Type used to represent down time for the resource., type: string, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '002:00'} DownTimeNullable: {description: Type used to represent down time for the resource., type: string, nullable: true, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '002:00'} TransitionTime: {description: Type used to represent time required for transitioning from Hot To Cold state/Hot to Intermediate state for the resource., type: string, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '008:00'} TransitionTimeNullable: {description: Type used to represent time required for transitioning from Hot To Cold state/Hot to Intermediate state for the resource., type: string, nullable: true, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '008:00'} Duration: {description: Type used to represent time duration., type: string, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '001:00'} DurationNullable: {description: Type used to represent time duration., type: string, nullable: true, pattern: '^[0-9]{1,3}[:][0-5][0-9]$', example: '001:00'} GenCommitStatus: type: string enum: [NotParticipating, Economic, Emergency, MustRun, Outage] GenCommitStatusNullable: type: string nullable: true enum: [NotParticipating, Economic, Emergency, MustRun, Outage, null] DRR2CommitStatus: type: string enum: [NotParticipating, Economic, Emergency, MustRun, Outage] DRR2CommitStatusNullable: type: string nullable: true enum: [NotParticipating, Economic, Emergency, MustRun, Outage, null] DRR1CommitStatus: type: string enum: [NotParticipating, Economic, Emergency] DRR1CommitStatusNullable: type: string nullable: true enum: [NotParticipating, Economic, Emergency, null] EARCommitStatus: type: string enum: [Available, Unavailable] EARCommitStatusNullable: type: string nullable: true enum: [Available, Unavailable, null] SERCommitStatus: type: string enum: [Available, Unavailable] SERCommitStatusNullable: type: string nullable: true enum: [Available, Unavailable, null] ESRCommitStatus: type: string enum: [Discharge, Charge, Continuous, EmergencyDischarge, EmergencyCharge, Available, NotParticipating, Outage] ESRCommitStatusNullable: type: string nullable: true enum: [Discharge, Charge, Continuous, EmergencyDischarge, EmergencyCharge, Available, NotParticipating, Outage, null] OnlineSTRDispatchStatus: type: string nullable: false enum: [Economic, NotParticipating] OnlineSTRDispatchStatusNullable: type: string nullable: true enum: [Economic, NotParticipating, null] OfflineSTRDispatchStatus: type: string nullable: false enum: [Economic, NotParticipating] OfflineSTRDispatchStatusNullable: type: string nullable: true enum: [Economic, NotParticipating, null] GenEnergyDispatchStatus: type: string enum: [Economic, SelfSchedule] GenEnergyDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, null] DRR2EnergyDispatchStatus: type: string enum: [Economic, SelfSchedule] DRR2EnergyDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, null] EAREnergyDispatchStatus: type: string enum: [Economic, SelfSchedule] EAREnergyDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, null] ESREnergyDispatchStatus: type: string enum: [Economic, SelfSchedule, NotParticipating] ESREnergyDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotParticipating, null] GenRegDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified, NotParticipating] GenRegDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, NotParticipating, null] DRR2RegDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified, NotParticipating] DRR2RegDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, NotParticipating, null] EARRegDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified, NotParticipating] EARRegDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, NotParticipating, null] SERRegDispatchStatus: type: string enum: [Economic, SelfSchedule] SERRegDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, null] ESRRegDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified, NotParticipating] ESRRegDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, NotParticipating, null] GenSpinDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified] GenSpinDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, null] DRR2SpinDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified] DRR2SpinDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, null] DRR1SpinDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified, Emergency, NotParticipating] DRR1SpinDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, Emergency, NotParticipating, null] EARSpinDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified] EARSpinDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, null] ESRSpinDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified] ESRSpinDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, null] GenOnSuppDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified] GenOnSuppDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, null] DRR2OnSuppDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified] DRR2OnSuppDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, null] DRR1OnSuppDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified, NotParticipating, Emergency] DRR1OnSuppDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, NotParticipating, Emergency, null] EAROnSuppDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified] EAROnSuppDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, null] ESROnSuppDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified] ESROnSuppDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, null] GenOffSuppDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified, NotParticipating, Emergency] GenOffSuppDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, NotParticipating, Emergency, null] DRR2OffSuppDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified, NotParticipating, Emergency] DRR2OffSuppDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, NotParticipating, Emergency, null] ESROffSuppDispatchStatus: type: string enum: [Economic, SelfSchedule, NotQualified, NotParticipating, Emergency] ESROffSuppDispatchStatusNullable: type: string nullable: true enum: [Economic, SelfSchedule, NotQualified, NotParticipating, Emergency, null] GenRampDispatchStatus: type: string enum: [Economic, NotParticipating] GenRampDispatchStatusNullable: type: string nullable: true enum: [Economic, NotParticipating, null] DRR2RampDispatchStatus: type: string enum: [Economic, NotParticipating] DRR2RampDispatchStatusNullable: type: string nullable: true enum: [Economic, NotParticipating, null] EARRampDispatchStatus: type: string enum: [Economic, NotParticipating] EARRampDispatchStatusNullable: type: string nullable: true enum: [Economic, NotParticipating, null] ESRRampDispatchStatus: type: string enum: [Economic, NotParticipating] ESRRampDispatchStatusNullable: type: string nullable: true enum: [Economic, NotParticipating, null] IMMScheduleType: type: string enum: [CostSchedule, ReferencePrice, RSG] PayloadDocumentType: description: Enumeration defining the valid payload document types enum: [INCOMING, OUTGOING] type: string SourceInterfaceType: description: Enumeration specifying the set of valid transaction sources; one of 'MUI' when originating from the MUI-UX, otherwise 'API' for API only service interface requests. enum: [MUI, API] type: string Interval5Forecast: type: array minItems: 1 maxItems: 12 items: type: object properties: interval5: {$ref: '#/components/schemas/MarketIntervalLabel'} mw: {$ref: '#/components/schemas/RealEnergyResults'} required: [mw] MWRampRate: {description: Used to represent a ramp rate which is measured in MW/Min and may only be >= 0., type: number, format: realenergy, multipleOf: 0.1, minimum: 0, maximum: 9.99999999E7, example: 121.7} MWRampRateNullable: {description: Used to represent a ramp rate which is measured in MW/Min., type: number, nullable: true, format: realenergy, multipleOf: 0.1, minimum: 0, maximum: 9.99999999E7, example: 121.7} ESRMWRampRate: {description: Used to represent a ramp rate which is measured in MW/Min and may only be > 0., type: number, format: realenergy, multipleOf: 0.1, minimum: 0, exclusiveMinimum: true, maximum: 9.99999999E7, example: 121.7} ReserveZone: {description: Used to represent a reserve zone., type: number, minimum: 1, maximum: 999, example: 1} SortByFilter: description: SortBy filter for the report. type: string enum: [Name, Type] example: Name ContextFilter: description: Context filter for the report. type: string enum: [System, Portfolio, FinSched, Supply, DemandBid, VirtualBid, VirtualOffer, Lmp] example: System ZonalDemandCurveType: description: Type of zonal demand curve. type: string enum: [Operating, Regulation, Regulation-Spinning] example: Operating MarketWideDemandCurveType: description: Type of market wide demand curve. type: string enum: [Operating, Regulation, Regulation-Spinning, RampCapability-Up, RampCapability-Down, ShortTermReserve] example: Operating ContractType: description: The type of contract established between two participants. type: string enum: [PureFinancial, GrandFathered, PseudoTie] ScheduleApprovalType: description: The type of approval required for the contract. type: string enum: [SellerAutoApproval, BuyerAutoApproval, CounterpartyApproval] CongestionLossesType: description: The type of loss for the contract. type: string nullable: true enum: [SellerPays, BuyerPays, null] SettlementMarketType: description: The type of settlement the market will use to handle the contract. type: string enum: [day-ahead, real-time] NotifyStatus: description: Notification send status. type: string enum: [SENT, GENERATED, GENERATION_FAILED, RETRYING, SEND_FAILED, EXPIRED, REQUEST_TIMEOUT] StudyStatus: description: The status of the reserve zone study for a given market day. type: string enum: [Complete, Incomplete] DemandCurveSegments: description: Demand curve segments. type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyDemandCurve'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] CaseEvent: description: An event to publish to kafka. properties: caseId: {type: string, pattern: '^\d+(.\d{1})?$'} iteration: {type: integer, minimum: 0} day: {$ref: '#/components/schemas/MarketOperatingDay'} interval: {$ref: '#/components/schemas/MarketIntervalLabelNullable'} approvedTime: {$ref: '#/components/schemas/MarketIntervalLabelNullable'} studyModeId: {type: integer, minimum: 0} eventType: type: string enum: [CaseSolved, CaseApproved] solvedTime: {$ref: '#/components/schemas/MarketIntervalLabelNullable'} required: [caseId, iteration, day, studyModeId, eventType] CaseMitigationStatus: description: IMM mitigation status. properties: caseId: {type: string} day: {type: string} mitigationStatus: {$ref: '#/components/schemas/MitigationStatus'} required: [mitigationStatus, caseId, day] MitigationStatus: description: Specifies whether analysis is complete with no mitigation or whether mitigation schedule(s) were activated. Null will be returned for queries before it is first populated, but is not valid for submission. type: string nullable: true enum: [Mitigated, Completed, null] example: Mitigated MitigationSupply: description: Mitigation Supply type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array nullable: true items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} dayAheadSourceSchedules: type: array nullable: true items: type: object properties: scheduleId: {type: integer} mitigatedSets: type: array items: type: string enum: [EnergyOffer, RegulationOffer, SpinningOffer, OnlineSupplementalOffer, OfflineSupplementalOffer, OfflineShortTermReserveOffer, OfferStartupCosts, OfferNoLoadCosts, CommitStatusOffer, UnitLimitsOffer, RampRatesOffer] realTimeSourceSchedules: type: array nullable: true items: type: object properties: scheduleId: {type: integer} start: {type: string} end: {type: string} mitigatedSets: type: array items: type: string enum: [EnergyOffer, RegulationOffer, SpinningOffer, OnlineSupplementalOffer, OfflineSupplementalOffer, OfflineShortTermReserveOffer, OfferStartupCosts, OfferNoLoadCosts, CommitStatusOffer, UnitLimitsOffer, RampRatesOffer] required: [day, resources] VerificationStatus: description: Specifies whether a schedule verification has been completed or that it requires verification for the Day-Ahead or Real-Time markets type: string nullable: true enum: [Verified, Completed, null] example: Verified DayVerificationStatus: description: Verification status properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} market: {$ref: '#/components/schemas/MarketType'} verificationStatus: {$ref: '#/components/schemas/VerificationStatus'} verificationStatusHourly: type: array description: Verification status hourly objects are only valid for Real-Time market submissions nullable: true items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} verificationStatus: {$ref: '#/components/schemas/VerificationStatus'} required: [hour] required: [day, market] IMMVirtualRestrictions: description: IMM Virtual Restrictions. type: object properties: virtualRestrictions: type: array nullable: false items: type: object properties: id: {type: integer, example: 101} type: type: string enum: [Bid, Offer] example: Bid participantName: {type: string, example: MP1} startDay: {$ref: '#/components/schemas/MarketOperatingDay'} endDay: {$ref: '#/components/schemas/MarketOperatingDay'} restrictedLocations: type: array nullable: true minItems: 1 items: {type: string, example: PNODE1} virtualLimitsHourly: type: array nullable: true minItems: 1 maxItems: 24 items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} mw: {$ref: '#/components/schemas/RealEnergyResults'} required: [restrictedLocations, virtualLimitsHourly] required: [virtualRestrictions] DayAheadLmpExAnte: description: A LMP Ex-Ante report from the Day-Ahead market. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} priceType: {$ref: '#/components/schemas/PriceTypeExAnte'} pnodes: description: Pricing nodes in the report. type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} hours: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} lmp: {$ref: '#/components/schemas/MarketPriceResults'} mcc: {$ref: '#/components/schemas/MarketPriceResults'} mlc: {$ref: '#/components/schemas/MarketPriceResults'} regMcp: {$ref: '#/components/schemas/MarketPriceResults'} spinMcp: {$ref: '#/components/schemas/MarketPriceResults'} suppMcp: {$ref: '#/components/schemas/MarketPriceResults'} strMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcUpMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcDownMcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [day, priceType] DayAheadLmpExPost: description: A LMP Ex-Post report from the Day-Ahead market. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} priceType: {$ref: '#/components/schemas/PriceTypeExPost'} pnodes: description: Pricing nodes in the report. type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} hours: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} lmp: {$ref: '#/components/schemas/MarketPriceResults'} mcc: {$ref: '#/components/schemas/MarketPriceResults'} mlc: {$ref: '#/components/schemas/MarketPriceResults'} regMcp: {$ref: '#/components/schemas/MarketPriceResults'} spinMcp: {$ref: '#/components/schemas/MarketPriceResults'} suppMcp: {$ref: '#/components/schemas/MarketPriceResults'} strMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcUpMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcDownMcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [day, priceType] DemandBids: description: Collection of Demand Bids for the market. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} pnodes: description: Collection of pnodes. type: array minItems: 0 items: description: A resource can have both fixedBids and/or pricesenstivieBids. Submitting null fixedBids or priceSensitiveBids properties will delete the existing object. type: object additionalProperties: false minProperties: 2 maxProperties: 3 properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} fixedBids: description: Hourly fixed price demand bid. Submitted null MW values effectively deletes the bid for the hour. type: array nullable: true minItems: 0 maxItems: 24 items: type: object additionalProperties: false properties: hour: {$ref: '#/components/schemas/HourLabel'} fixedMw: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour, fixedMw] priceSensitiveBids: description: Price sensitive demand bid curves. type: array nullable: true minItems: 0 maxItems: 24 items: description: Hourly price sensitive demand bid curve. type: object additionalProperties: false properties: hour: {$ref: '#/components/schemas/HourLabel'} demandBidSegments: description: Bid segements making up the demand bid curve. MW's and price cap. Sumbitted null array effectively deletes the bid for the hour. type: array nullable: true items: type: object properties: price: {$ref: '#/components/schemas/MarketPrice'} mw: {$ref: '#/components/schemas/RealEnergyNullable'} required: [price, mw] minItems: 0 maxItems: 9 required: [hour, demandBidSegments] required: [pnodeName] required: [day, pnodes] VirtualBidsAndOffers: description: Collection of virtual generation offers and virtual demand bids for the market. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} pnodes: description: Collection of pnodes. type: array minItems: 0 items: description: A resource can have virtual bids and/or virtual offers. Submitted null virtualBids or virtualOffers properties will delete the existing object. type: object additionalProperties: false minProperties: 2 maxProperties: 3 properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} virtualBids: {$ref: '#/components/schemas/VirtualBidOrOfferHourly'} virtualOffers: {$ref: '#/components/schemas/VirtualBidOrOfferHourly'} required: [pnodeName] required: [day, pnodes] VirtualBidOrOfferHourly: description: This object is used both virtual demand bids and virtual generation offers since the structure is the same. type: array nullable: true items: description: Hourly bid or offer curve. type: object additionalProperties: false properties: hour: {$ref: '#/components/schemas/HourLabel'} virtualBidSegments: description: Segements making up the bid or offer curve. MW/price pairs. Sumbitted null array effectively deletes the curve for the hour. type: array nullable: true items: type: object additionalProperties: false properties: price: {$ref: '#/components/schemas/MarketPrice'} mw: {$ref: '#/components/schemas/RealEnergy'} required: [price, mw] minItems: 0 maxItems: 9 required: [hour, virtualBidSegments] minItems: 0 maxItems: 24 LFHourly: description: Load Forecast report for the Day-Ahead market. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} controlAreas: description: Collection of Control Areas. type: array items: description: Control Area. type: object properties: areaName: {description: Name of the local balancing authority or label for MISO total., type: string, example: Area1} hours: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} mw: {$ref: '#/components/schemas/RealEnergyResults'} minItems: 1 maxItems: 24 required: [areaName, hours] required: [day] MultiVariantRampRateCurves: description: Multi-variant Ramp Rate Curves. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: description: Collection of resources refernced via pnodeName. type: array minItems: 1 items: description: Resource which has offered in a ramp rate curve. type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} offers: type: array minItems: 1 items: oneOf: - {$ref: '#/components/schemas/RampRateCurveItem'} - {$ref: '#/components/schemas/ESRRampRateCurveItem'} required: [pnodeName, offers] additionalProperties: false required: [day, resources] RampRateCurveItem: type: object properties: offerType: type: string enum: [rampCurve] example: rampCurve rampRateCurves: description: Hourly ramp rate curves. Including a null collection will act as a data driven delete. type: array minItems: 0 maxItems: 24 nullable: true items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRateCurve: description: Ramp Rate Curve segments. Including a null collection will act as a data driven delete. type: array minItems: 0 maxItems: 10 nullable: true items: type: object description: Set of ramp rates for a given MW level. properties: mw: {$ref: '#/components/schemas/RealEnergy'} rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} required: [mw, rampRateUp, rampRateDown, rampRateBidirectional] required: [hour, rampRateCurve] additionalProperties: false required: [offerType, rampRateCurves] ESRRampRateCurveItem: type: object properties: offerType: type: string enum: [esrRampCurve] example: esrRampCurve rampRateCurves: description: Hourly ramp rate curves. Including a null collection will act as a data driven delete. type: array minItems: 0 maxItems: 24 nullable: true items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRateCurve: description: Ramp Rate Curve segments. Including a null collection will act as a data driven delete. type: array minItems: 0 maxItems: 10 nullable: true items: type: object description: Set of ramp rates for a given MW level. All of the ramp rates must be included. properties: mw: {$ref: '#/components/schemas/RealEnergy'} chargeRampRate: {$ref: '#/components/schemas/MWRampRate'} dischargeRampRate: {$ref: '#/components/schemas/MWRampRate'} required: [mw, chargeRampRate, dischargeRampRate] required: [hour, rampRateCurve] additionalProperties: false required: [offerType, rampRateCurves] RealTimeIntvlLmp: description: RT LMP data for an interval type: object properties: interval5: {$ref: '#/components/schemas/MarketIntervalLabel'} lmp: {$ref: '#/components/schemas/MarketPriceResults'} mcc: {$ref: '#/components/schemas/MarketPriceResults'} mlc: {$ref: '#/components/schemas/MarketPriceResults'} regMcp: {$ref: '#/components/schemas/MarketPriceResults'} regMileageMcp: {$ref: '#/components/schemas/MarketPriceResults'} spinMcp: {$ref: '#/components/schemas/MarketPriceResults'} suppMcp: {$ref: '#/components/schemas/MarketPriceResults'} strMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcUpMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcDownMcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [interval5, lmp, mcc, mlc] RealTimeLmpExAnte: description: A LMP Ex-Ante report from the Real-Time market. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} priceType: {$ref: '#/components/schemas/PriceTypeExAnte'} pnodes: description: Pricing nodes in the report. type: array minItems: 0 items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} interval5s: type: array minItems: 0 maxItems: 288 items: {$ref: '#/components/schemas/RealTimeIntvlLmp'} required: [pnodeName, interval5s] required: [day, priceType, pnodes] RealTimeLmpExPost: description: A LMP Ex-Post report from the Real-Time market. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} priceType: {$ref: '#/components/schemas/PriceTypeExPost'} pnodes: description: Pricing nodes in the report. type: array minItems: 0 items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} interval5s: type: array minItems: 0 maxItems: 288 items: {$ref: '#/components/schemas/RealTimeIntvlLmp'} required: [pnodeName, interval5s] required: [day, priceType, pnodes] RealTimeIntegratedLmpExPost: description: A hourly LMP integrated prices report from the Real-Time market. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} priceType: {$ref: '#/components/schemas/PriceTypeExPost'} pnodes: description: Pricing nodes in the report. type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} hours: type: array description: Integrated market prices at the pnode, for the period. items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} lmp: {$ref: '#/components/schemas/MarketPriceResults'} mcc: {$ref: '#/components/schemas/MarketPriceResults'} mlc: {$ref: '#/components/schemas/MarketPriceResults'} required: [day, priceType, pnodes] PNodeList: description: List of active pnodes. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDayNullable'} pnodes: description: Pricing nodes in the report. type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} pnodeType: {type: string, example: A} required: [day, pnodes] ParticipantMetadata: description: MUI and participant metadata. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} participantControlAreas: description: Control Areas administered by a particular participant. type: array items: type: object properties: areaShortName: {type: string, example: Area1} internalArea: {type: boolean, example: true} required: [day, participantControlAreas] RetrievedPortfolios: description: A list of portfolios. type: array items: description: A single retrieved portfolio. Each portfolio is a named association of resource pricing node (pnode) locations. A portfolio can contain resource pnode locations for generator units, demand response resources, and other pnodes. Can include additional metadata about the pnode depending on query parameters provided. type: object properties: name: {$ref: '#/components/schemas/PortfolioName'} portfolioLocations: description: Participant pnodes. type: array items: type: object additionalProperties: false properties: name: {$ref: '#/components/schemas/PNodeName'} pnodeType: type: string enum: [Aggregate, Bus, Hub, Interface, Zone, 500 KV] virtualIncBidsAllowed: {type: boolean, example: true} virtualDecBidsAllowed: {type: boolean, example: true} unitOfferType: type: string enum: [GEN, DIR, DRR1, DRR2, EAR, ESR, SER, NA] intermittentStatus: type: string enum: [Dispatchable, Intermittent, Non-Intermittent, NA] required: [name, portfolioLocations] Portfolio: description: A single submitted portfolio. Each portfolio is a named association of resource pricing node (pnode) locations. A portfolio can contain resource pnode locations for generator units, demand response resources, and other pnodes. type: object properties: name: {$ref: '#/components/schemas/PortfolioName'} portfolioLocations: description: A list of pnodes identified by name. type: array nullable: true items: type: object additionalProperties: false properties: name: {$ref: '#/components/schemas/PNodeName'} required: [name, portfolioLocations] DayAheadLocationalResults: description: Day-ahead locational results. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} pnodes: description: Pricing nodes in the report. type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} hours: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} clearedEnergy: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} virtualMw: {$ref: '#/components/schemas/RealEnergyResults'} price: {$ref: '#/components/schemas/MarketPriceResults'} capped: {type: boolean, example: false} clearedRegulation: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} price: {$ref: '#/components/schemas/MarketPriceResults'} capped: {type: boolean, example: false} clearedSpin: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} price: {$ref: '#/components/schemas/MarketPriceResults'} capped: {type: boolean, example: false} clearedSupplemental: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} price: {$ref: '#/components/schemas/MarketPriceResults'} capped: {type: boolean, example: false} clearedShortTerm: type: object nullable: true properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} price: {$ref: '#/components/schemas/MarketPriceResults'} capped: {type: boolean, example: false} clearedRampCapabilityUp: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} price: {$ref: '#/components/schemas/MarketPriceResults'} clearedRampCapabilityDown: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} price: {$ref: '#/components/schemas/MarketPriceResults'} required: [day, pnodes] DistributionFactors: description: All distribution factors, filtered by query params. type: object properties: day: {type: string, example: '2019-03-14'} aggregatePnodes: description: A pnode at which load from other pnodes is aggregated to for repsentation in the market. type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} busPnodes: description: Bus pnode for a particular pnode. type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} factor: {type: number, example: 0.17468} required: [pnodeName, factor] required: [day, aggregatePnodes] DayAheadMarketWideResults: description: Hourly Day-Ahead summary of market wide results. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} hours: type: array minItems: 0 maxItems: 24 nullable: true items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} forecastMw: {$ref: '#/components/schemas/RealEnergyResults'} energyMw: {$ref: '#/components/schemas/RealEnergyResults'} regulationMw: {$ref: '#/components/schemas/RealEnergyResults'} spinningReserveMw: {$ref: '#/components/schemas/RealEnergyResults'} supplementalReserveMw: {$ref: '#/components/schemas/RealEnergyResults'} shortTermReserveMw: {$ref: '#/components/schemas/RealEnergyResults'} rampCapabilityUpMw: {$ref: '#/components/schemas/RealEnergyResults'} rampCapabilityDownMw: {$ref: '#/components/schemas/RealEnergyResults'} required: [day, hours] DayAheadZonalLMPResultsExAnte: description: Day-ahead zonal LMP results. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} priceType: {$ref: '#/components/schemas/PriceTypeExAnte'} hours: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} zones: type: array items: type: object properties: zone: {$ref: '#/components/schemas/ReserveZone'} genRegMcp: {$ref: '#/components/schemas/MarketPriceResults'} genSpinMcp: {$ref: '#/components/schemas/MarketPriceResults'} genSuppMcp: {$ref: '#/components/schemas/MarketPriceResults'} strMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandRegMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandSpinMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandSuppMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcpUpMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcpDownMcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [day, priceType, hours] DayAheadZonalLMPResultsExPost: description: Day-ahead zonal LMP results. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} priceType: {$ref: '#/components/schemas/PriceTypeExPost'} hours: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} zones: type: array items: type: object properties: zone: {$ref: '#/components/schemas/ReserveZone'} genRegMcp: {$ref: '#/components/schemas/MarketPriceResults'} genSpinMcp: {$ref: '#/components/schemas/MarketPriceResults'} genSuppMcp: {$ref: '#/components/schemas/MarketPriceResults'} strMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandRegMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandSpinMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandSuppMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcpUpMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcpDownMcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [day, priceType, hours] DayAheadBindingLimitsResults: description: Day-ahead binding limits results. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} bindingConstraints: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} constraints: type: array items: type: object properties: constraintName: {type: string, example: Constraint1} contingencyName: {type: string, example: ContingencyA} required: [day, bindingConstraints] MarketWideDemandReqsResults: description: market wide demand requirements results. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} demandRequirementsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regReserveRequirement: {$ref: '#/components/schemas/RealEnergyResults'} spinReserveRequirement: {$ref: '#/components/schemas/RealEnergyResults'} suppReserveRequirement: {$ref: '#/components/schemas/RealEnergyResults'} shortTermReserveRequirement: {$ref: '#/components/schemas/RealEnergyResults'} required: [day, demandRequirementsHourly] RealTimeZonalLMPResultsExAnte: description: Real-Time zonal LMP results. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} priceType: {$ref: '#/components/schemas/PriceTypeExAnte'} interval5s: type: array items: type: object properties: interval5: {$ref: '#/components/schemas/MarketIntervalLabel'} zones: type: array items: type: object properties: zone: {$ref: '#/components/schemas/ReserveZone'} genRegMcp: {$ref: '#/components/schemas/MarketPriceResults'} genSpinMcp: {$ref: '#/components/schemas/MarketPriceResults'} genSuppMcp: {$ref: '#/components/schemas/MarketPriceResults'} strMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandRegMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandSpinMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandSuppMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcpUpMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcpDownMcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [day, priceType, interval5s] RealTimeZonalLMPResultsExPost: description: Real-Time zonal LMP results. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} priceType: {$ref: '#/components/schemas/PriceTypeExPost'} interval5s: type: array items: type: object properties: interval5: {$ref: '#/components/schemas/MarketIntervalLabel'} zones: type: array items: type: object properties: zone: {$ref: '#/components/schemas/ReserveZone'} genRegMcp: {$ref: '#/components/schemas/MarketPriceResults'} genSpinMcp: {$ref: '#/components/schemas/MarketPriceResults'} genSuppMcp: {$ref: '#/components/schemas/MarketPriceResults'} strMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandRegMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandSpinMcp: {$ref: '#/components/schemas/MarketPriceResults'} demandSuppMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcpUpMcp: {$ref: '#/components/schemas/MarketPriceResults'} rcpDownMcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [day, priceType, interval5s] ZonalDemandCurves: description: Zonal Demand Curves. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} zonalDemandCurves: type: array items: type: object additionalProperties: false properties: zone: {$ref: '#/components/schemas/ReserveZone'} demandCurveType: {$ref: '#/components/schemas/ZonalDemandCurveType'} demandCurveSegments: {$ref: '#/components/schemas/DemandCurveSegments'} required: [zone, demandCurveType, demandCurveSegments] required: [day, zonalDemandCurves] MarketWideDemandCurves: description: Market Wide Demand Curves. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} marketDemandCurves: type: array items: type: object additionalProperties: false properties: demandCurveType: {$ref: '#/components/schemas/MarketWideDemandCurveType'} demandCurveSegments: {$ref: '#/components/schemas/DemandCurveSegments'} required: [demandCurveType, demandCurveSegments] required: [day, marketDemandCurves] ZonalDemandReqsResults: description: Zonal Regulation and Contingency Reserve Requirements. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} zonalDemandRequirements: type: array items: type: object properties: zone: {$ref: '#/components/schemas/ReserveZone'} zonalDemandRequirementsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regReserveRequirement: {$ref: '#/components/schemas/RealEnergyResults'} spinReserveRequirement: {$ref: '#/components/schemas/RealEnergyResults'} suppReserveRequirement: {$ref: '#/components/schemas/RealEnergyResults'} required: [day, zonalDemandRequirements] MuiMetadata: description: General MUI Meta Data, that is not participant specific. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} reserveZones: type: array items: type: object properties: zone: {$ref: '#/components/schemas/ReserveZone'} zoneName: {type: string, example: NonZone} participants: type: array items: {$ref: '#/components/schemas/ParticipantName'} commitStatus: type: array items: type: object properties: commitStatus: {type: string, example: EC} commitStatusCode: {type: string, example: '1'} commitStatusDesc: {type: string, example: Economic} unitType: {type: string, example: DRR1} dispatchStatus: type: array items: type: object properties: dispatchStatus: {type: string, example: EC} dispatchStatusCode: {type: string, example: '1'} dispatchStatusDesc: {type: string, example: Economic} dispatchStatusType: {type: string, example: SPIN} unitType: {type: string, example: DRR1} rtOfferOverrideReason: type: array items: type: object properties: unitType: {type: string, example: DRR1} reasonCode: {type: string, example: BoilerTubeLeak} reasonDesc: {type: string, example: Boiler Tube Leak} marketOptions: type: array items: type: object properties: name: {type: string, example: NotificationKeepDays} value: {type: string, example: '4'} costScheduleTypes: type: array items: type: object properties: unitScheduleTypeId: {type: integer, example: 31} unitScheduleTypeDesc: {type: string, example: DayAhead Mitigated Cost 31} marketType: {$ref: '#/components/schemas/MarketType'} required: [day] RampCapabilityRequirementsHourly: description: Hourly Ramp Capability Requirements. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} rampCapabilityRequirementsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampCapabilityUpRequirement: {$ref: '#/components/schemas/RealEnergyNullable'} rampCapabilityDownRequirement: {$ref: '#/components/schemas/RealEnergyNullable'} required: [day, rampCapabilityRequirementsHourly] RampCapabilityRequirementsInterval5s: description: Ramp Capability Requirements for 5 minute intervals. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} rampCapabilityRequirementsInterval5s: type: array items: type: object properties: interval5: {$ref: '#/components/schemas/MarketIntervalLabel'} rampCapabilityUpRequirement: {$ref: '#/components/schemas/RealEnergyNullable'} rampCapabilityDownRequirement: {$ref: '#/components/schemas/RealEnergyNullable'} required: [day, rampCapabilityRequirementsInterval5s] Contracts: description: An object containing multiple contracts. type: object properties: contracts: description: An individual contract. type: array minItems: 0 items: type: object properties: contractName: {$ref: '#/components/schemas/ContractName'} contractType: {$ref: '#/components/schemas/ContractType'} buyerName: {$ref: '#/components/schemas/ParticipantName'} sellerName: {$ref: '#/components/schemas/ParticipantName'} effectiveStart: {$ref: '#/components/schemas/MarketOperatingDay'} effectiveEnd: {$ref: '#/components/schemas/MarketOperatingDay'} sourceLocation: {$ref: '#/components/schemas/PNodeName'} sinkLocation: {$ref: '#/components/schemas/PNodeName'} deliveryPoint: {description: Commercial Pricing Node (PNode) name., type: string, minLength: 1, maxLength: 30, nullable: true} scheduleApproval: {$ref: '#/components/schemas/ScheduleApprovalType'} settlementMarket: {$ref: '#/components/schemas/SettlementMarketType'} congestionLosses: {$ref: '#/components/schemas/CongestionLossesType'} buyerComments: {type: string, example: Sample comment} sellerComments: {type: string, example: Sample comment} contractApproval: {$ref: '#/components/schemas/MarketIntervalLabelNullable'} rsgContract: {type: boolean} required: [contractName, contractType, buyerName, sellerName, effectiveStart, effectiveEnd, sourceLocation, sinkLocation, scheduleApproval, settlementMarket] required: [contracts] ContractSchedules: description: A filtered collection of individual schedules for a specific contract or participant. type: object properties: schedules: description: Individual schedule for a specific contract or participant. type: array minItems: 0 items: type: object properties: contractName: {$ref: '#/components/schemas/ContractName'} contractType: {$ref: '#/components/schemas/ContractType'} buyerName: {$ref: '#/components/schemas/ParticipantName'} sellerName: {$ref: '#/components/schemas/ParticipantName'} scheduleDay: {$ref: '#/components/schemas/MarketOperatingDay'} scheduleApproval: {$ref: '#/components/schemas/MarketIntervalLabelNullable'} scheduleState: type: string enum: [Approved, Pending] hours: description: Collection of schedule on an hourly basis. type: array minItems: 24 maxItems: 24 items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} mw: {$ref: '#/components/schemas/RealEnergyResults'} required: [hour, mw] required: [contractName, contractType, buyerName, sellerName, scheduleDay, hours] required: [schedules] BilateralConfirmation: description: An object for describing payloads that contain more than one schedule confirmations and/or contract confirmations. type: object properties: confirmContracts: type: array minItems: 1 items: type: object description: A confirmation that can be made for a contract to put it into effect. additionalProperties: false required: [contractName, contractType, buyerName, sellerName, confirmation] properties: contractName: {$ref: '#/components/schemas/ContractName'} contractType: {$ref: '#/components/schemas/ContractType'} buyerName: {$ref: '#/components/schemas/ParticipantName'} sellerName: {$ref: '#/components/schemas/ParticipantName'} confirmation: type: string enum: [Confirm] confirmSchedules: type: array minItems: 1 items: type: object description: A confirmation that can be made for a contract schedule to put it into effect. additionalProperties: false required: [contractName, contractType, buyerName, sellerName, scheduleDay, confirmation] properties: contractName: {$ref: '#/components/schemas/ContractName'} contractType: {$ref: '#/components/schemas/ContractType'} buyerName: {$ref: '#/components/schemas/ParticipantName'} sellerName: {$ref: '#/components/schemas/ParticipantName'} scheduleDay: {$ref: '#/components/schemas/MarketOperatingDay'} confirmation: type: string enum: [Confirm] additionalProperties: false ZonalOperatingRequirements: description: An object for the zonal operating Reserve Requirements. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} zonalOperatingRequirements: type: array items: type: object description: List of zonal operating reserve requirements used in the Day-Ahead and Real-Time market for a given market day. additionalProperties: false properties: zone: {$ref: '#/components/schemas/ReserveZone'} zonalOperatingRequirementsHourly: type: array minItems: 0 maxItems: 24 nullable: true items: type: object description: Hourly operating reserve requirement for a particular zone. additionalProperties: false properties: hour: {$ref: '#/components/schemas/HourLabel'} operatingReserveRequirement: {$ref: '#/components/schemas/RealEnergy'} required: [hour, operatingReserveRequirement] required: [zone, zonalOperatingRequirementsHourly] required: [day, zonalOperatingRequirements] RenewablesForecast: description: 5-min MISO Renewables Forecast. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} interval5Forecast: {$ref: '#/components/schemas/Interval5Forecast'} required: [day, resources] DIRForecast: description: 5-min DIR Forecast. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array minItems: 0 items: type: object additionalProperties: false properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} dirForecast: {$ref: '#/components/schemas/Interval5Forecast'} required: [pnodeName, dirForecast] required: [day, resources] DRRLoadForecast: description: 5-min DRR Deployment Forecast. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array minItems: 0 items: type: object additionalProperties: false properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} drrLoadForecast: type: array minItems: 1 maxItems: 288 items: type: object properties: interval5: {$ref: '#/components/schemas/MarketIntervalLabel'} mw: {$ref: '#/components/schemas/RealEnergyResults'} required: [interval5, mw] required: [pnodeName, drrLoadForecast] required: [day, resources] DemandForecast: description: Hourly Demand Forecast. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array items: type: object additionalProperties: false properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} realTimeDemandForecastHourly: type: array minItems: 1 maxItems: 24 items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} mw: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour, mw] required: [pnodeName, realTimeDemandForecastHourly] required: [day, resources] ZoneDefinitions: description: Zonal Definitions. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} hour: {$ref: '#/components/schemas/HourLabel'} zoneDefinitions: type: array items: type: object additionalProperties: false properties: zone: {$ref: '#/components/schemas/ReserveZone'} zoneEpnodes: type: array items: type: object additionalProperties: false properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} required: [day, hour, zoneDefinitions] ZoneConstraints: description: Zonal Contraints. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} zoneConstraints: type: array items: type: object additionalProperties: false properties: zone: {$ref: '#/components/schemas/ReserveZone'} zoneConstraintsHourly: type: array minItems: 0 maxItems: 24 items: type: object additionalProperties: false properties: hour: {$ref: '#/components/schemas/HourLabel'} transmissionConstraints: type: array items: properties: constraintName: {type: string, example: Constraint-1} required: [day, zoneConstraints] CombinedCycleStatus: description: Combined Cycle status. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array nullable: false items: type: object additionalProperties: false properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} offers: type: array items: type: object additionalProperties: false properties: offerType: type: string enum: [combinedCycleOffer] example: combinedCycleOffer combinedCycleStatus: {$ref: '#/components/schemas/CCStatus'} required: [offerType, combinedCycleStatus] required: [pnodeName, offers] required: [day, resources] RegulationOfferOverrides: description: Regulation Offer Overrides. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} regulationOfferOverridesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} offerPrice: {$ref: '#/components/schemas/MarketPrice'} offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} mileageOfferPrice: {$ref: '#/components/schemas/MarketPrice'} offerPriceOverride: {$ref: '#/components/schemas/MarketPrice'} offerPriceCurveOverride: type: object description: The override price curve for a given hour ending. properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} mileageOfferPriceOverride: {$ref: '#/components/schemas/RealEnergyNullable'} regulationOverrideReasons: {$ref: '#/components/schemas/RegulationOverrideReasons'} required: [pnodeName, regulationOfferOverridesHourly] required: [day, resources] QualificationStatus: description: Qualification status. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} offers: type: array items: type: object properties: offerType: {type: string} market: {$ref: '#/components/schemas/MarketType'} regulationQualified: {type: boolean} spinQualified: {type: boolean} onlineSupplementalQualified: {type: boolean} offlineSupplementalQualified: {type: boolean} offlineShortTermQualified: {type: boolean} rampCapabilityQualified: {type: boolean} required: [pnodeName, offers] required: [day, resources] MultiVariantScheduleOffer: description: Multi-variant Schedule Offer. type: object required: [resources, day] properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} offers: type: array minItems: 1 items: oneOf: - {$ref: '#/components/schemas/GenScheduleOfferItem'} - {$ref: '#/components/schemas/DRR2ScheduleOfferItem'} - {$ref: '#/components/schemas/DRR1ScheduleOfferItem'} - {$ref: '#/components/schemas/EARScheduleOfferItem'} - {$ref: '#/components/schemas/SERScheduleOfferItem'} - {$ref: '#/components/schemas/DIRScheduleOfferItem'} - {$ref: '#/components/schemas/ESRScheduleOfferItem'} GenScheduleOfferItem: type: object properties: offerType: type: string enum: [genOffer] example: genOffer scheduleType: {$ref: '#/components/schemas/ScheduleType'} market: {$ref: '#/components/schemas/MarketType'} startupCostsDaily: type: object properties: coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/GenCommitStatusNullable'} required: [hour] runtimesDaily: type: object properties: minimumRuntime: {$ref: '#/components/schemas/RunTimeNullable'} maximumRuntime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDowntime: {$ref: '#/components/schemas/DownTimeNullable'} hotToColdTime: {$ref: '#/components/schemas/TransitionTimeNullable'} hotToIntermediateTime: {$ref: '#/components/schemas/TransitionTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} required: [hour] unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: emergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} economicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} regulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergyNullable'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} rampRate: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} required: [hour] energyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 10 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/GenEnergyDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/GenRampDispatchStatusNullable'} required: [hour] regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/GenRegDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] spinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/GenSpinDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] onlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/GenOnSuppDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] offlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/GenOffSuppDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] onlineShortTermReserveDispatchStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/OnlineSTRDispatchStatusNullable'} offlineShortTermReserveOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} shortTermReserveOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatusNullable'} required: [hour] fastRampResourceHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} fastRampResourceHourlyDetail: type: object nullable: true properties: fastRampResource: {type: boolean, nullable: true, example: true} required: [hour] required: [offerType, scheduleType, market] DRR2ScheduleOfferItem: type: object properties: offerType: type: string enum: [drr2Offer] example: drr2Offer scheduleType: {$ref: '#/components/schemas/ScheduleType'} market: {$ref: '#/components/schemas/MarketType'} startupCostsDaily: type: object properties: coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/DRR2CommitStatusNullable'} required: [hour] runtimesDaily: type: object properties: minimumRuntime: {$ref: '#/components/schemas/RunTimeNullable'} maximumRuntime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDowntime: {$ref: '#/components/schemas/DownTimeNullable'} hotToColdTime: {$ref: '#/components/schemas/TransitionTimeNullable'} hotToIntermediateTime: {$ref: '#/components/schemas/TransitionTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumDailyCRDeployment: {$ref: '#/components/schemas/RealEnergyResultsNullable'} maximumDailyRegUpDeployment: {$ref: '#/components/schemas/RealEnergyResultsNullable'} maximumDailyRegDownDeployment: {$ref: '#/components/schemas/RealEnergyResultsNullable'} runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} required: [hour] unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: emergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} economicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} regulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergyNullable'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} rampRate: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} required: [hour] energyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 10 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/DRR2EnergyDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/DRR2RampDispatchStatusNullable'} required: [hour] regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/DRR2RegDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] spinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/DRR2SpinDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] onlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/DRR2OnSuppDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] offlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/DRR2OffSuppDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] onlineShortTermReserveDispatchStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/OnlineSTRDispatchStatusNullable'} offlineShortTermReserveOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} shortTermReserveOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatusNullable'} required: [hour] fastRampResourceHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} fastRampResourceHourlyDetail: type: object nullable: true properties: fastRampResource: {type: boolean, nullable: true, example: true} required: [hour] required: [offerType, scheduleType, market] DRR1ScheduleOfferItem: type: object properties: offerType: type: string enum: [drr1Offer] example: drr1Offer scheduleType: {$ref: '#/components/schemas/ScheduleType'} market: {$ref: '#/components/schemas/MarketType'} shutdownCost: {$ref: '#/components/schemas/OpCostNullable'} deployStatus: description: Deploy Status of the resource. type: string nullable: true enum: [DeployAsOnline, DeployAsOffLine, null] drr1CommitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/DRR1CommitStatusNullable'} required: [hour] drr1RuntimesDaily: type: object properties: minInterruptionDuration: {$ref: '#/components/schemas/DurationNullable'} maxInterruptionDuration: {$ref: '#/components/schemas/DurationNullable'} minNonInterruptionInterval: {$ref: '#/components/schemas/DurationNullable'} maxDailyEnergyCurtailment: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maxDailyStops: {type: integer, nullable: true} maxDailyCRDeployment: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} drr1RuntimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} drr1RuntimesHourlyDetail: type: object nullable: true properties: shutdownTime: {$ref: '#/components/schemas/DownTimeNullable'} shutdownNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} required: [hour] drr1EnergyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} drr1EnergyOfferHourlyDetail: type: object nullable: true properties: curtailmentOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} targetDemandReductionMW: {$ref: '#/components/schemas/RealEnergyNullable'} energyOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} required: [hour] drr1SpinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/DRR1SpinDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] drr1SuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/DRR1OnSuppDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] drr1ShortTermReserveOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} shortTermReserveOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatusNullable'} required: [hour] required: [offerType, scheduleType, market] EARScheduleOfferItem: type: object properties: offerType: type: string enum: [earOffer] example: earOffer scheduleType: {$ref: '#/components/schemas/ScheduleType'} market: {$ref: '#/components/schemas/MarketType'} startupCostsDaily: type: object properties: coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/EARCommitStatusNullable'} required: [hour] runtimesDaily: type: object properties: minimumRuntime: {$ref: '#/components/schemas/RunTimeNullable'} maximumRuntime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDowntime: {$ref: '#/components/schemas/DownTimeNullable'} hotToColdTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotToIntermediateTime: {$ref: '#/components/schemas/NotificationTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} required: [hour] unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: emergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} economicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} regulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} rampRate: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} required: [hour] energyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 10 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/EAREnergyDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/EARRampDispatchStatusNullable'} required: [hour] regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/EARRegDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] spinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/EARSpinDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] onlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/EAROnSuppDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] onlineShortTermReserveDispatchStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/OnlineSTRDispatchStatusNullable'} fastRampResourceHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} fastRampResourceHourlyDetail: type: object nullable: true properties: fastRampResource: {type: boolean, nullable: true, example: true} required: [hour] required: [offerType, scheduleType, market] SERScheduleOfferItem: type: object properties: offerType: type: string enum: [serOffer] example: serOffer scheduleType: {$ref: '#/components/schemas/ScheduleType'} market: {$ref: '#/components/schemas/MarketType'} commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/SERCommitStatusNullable'} required: [hour] serOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} serOfferHourlyDetail: type: object nullable: true properties: maxEnergyStorageLevel: {type: number, nullable: true, format: float} maxEnergyChargeRate: {type: number, nullable: true, format: float, minimum: 0} maxEnergyDischargeRate: {type: number, nullable: true, format: float} energyStorageLossRate: {type: number, nullable: true, format: float} maxFullChargeEnergyWithdrawRate: {type: number, nullable: true, format: float} required: [hour] unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: regulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} required: [hour] regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/SERRegDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} required: [hour] fastRampResourceHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} fastRampResourceHourlyDetail: type: object nullable: true properties: fastRampResource: {type: boolean, nullable: true, example: true} fastRampNeutralZoneLowerLimit: {$ref: '#/components/schemas/PercentageNullable'} fastRampNeutralZoneUpperLimit: {$ref: '#/components/schemas/PercentageNullable'} required: [hour] required: [offerType, scheduleType, market] DIRScheduleOfferItem: type: object properties: offerType: type: string enum: [dirOffer] example: dirOffer scheduleType: {$ref: '#/components/schemas/ScheduleType'} market: {$ref: '#/components/schemas/MarketType'} startupCostsDaily: type: object properties: coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/GenCommitStatusNullable'} required: [hour] runtimesDaily: type: object properties: minimumRuntime: {$ref: '#/components/schemas/RunTimeNullable'} maximumRuntime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDowntime: {$ref: '#/components/schemas/DownTimeNullable'} hotToColdTime: {$ref: '#/components/schemas/TransitionTimeNullable'} hotToIntermediateTime: {$ref: '#/components/schemas/TransitionTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} required: [hour] unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: emergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} economicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} rampRate: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} required: [hour] energyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 10 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/GenEnergyDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/GenRampDispatchStatusNullable'} required: [hour] required: [offerType, scheduleType, market] ESRScheduleOfferItem: type: object properties: offerType: type: string enum: [esrOffer] example: esrOffer scheduleType: {$ref: '#/components/schemas/ScheduleType'} market: {$ref: '#/components/schemas/MarketType'} startupCostsDaily: type: object properties: startupCost: {$ref: '#/components/schemas/OpCostNullable'} noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/ESRCommitStatusNullable'} required: [hour] runtimesDaily: type: object properties: minimumChargeTime: {$ref: '#/components/schemas/RunTimeNullable'} maximumChargeTime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDischargeTime: {$ref: '#/components/schemas/RunTimeNullable'} maximumDischargeTime: {$ref: '#/components/schemas/MaxRunTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartupTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} required: [hour] unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: chargeEmergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} chargeEconomicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} chargeRegulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} dischargeEmergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} maxMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} dischargeEconomicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} maxMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} dischargeRegulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} maxMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergyNullable'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} chargeRampRate: {$ref: '#/components/schemas/MWRampRateNullable'} dischargeRampRate: {$ref: '#/components/schemas/MWRampRateNullable'} required: [hour] energyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 10 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/ESREnergyDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/ESRRampDispatchStatusNullable'} required: [hour] regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} dispatchStatus: {$ref: '#/components/schemas/ESRRegDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] spinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/ESRSpinDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] onlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/ESROnSuppDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] offlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/ESROffSuppDispatchStatusNullable'} selfScheduleMW: {$ref: '#/components/schemas/RealEnergyNullable'} required: [hour] onlineShortTermReserveDispatchStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/OnlineSTRDispatchStatusNullable'} offlineShortTermReserveOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} shortTermReserveOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] maxItems: 3 required: [slope, priceCurveSegments] dispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatusNullable'} required: [hour] fastRampResourceHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} fastRampResourceHourlyDetail: type: object nullable: true properties: fastRampResource: {type: boolean, nullable: true, example: true} fastRampNeutralZoneLowerLimit: {$ref: '#/components/schemas/PercentageNullable'} fastRampNeutralZoneUpperLimit: {$ref: '#/components/schemas/PercentageNullable'} required: [hour] energyStorageLevelsDaily: type: object properties: initialEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySignedNullable'} energyStorageLevelsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} energyStorageLevelsHourlyDetail: type: object nullable: true properties: minimumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySignedNullable'} maximumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySignedNullable'} emergencyMinimumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySignedNullable'} emergencyMaximumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySignedNullable'} energyStorageEfficiencyFactor: {$ref: '#/components/schemas/Percentage4DPNullable'} additionalProperties: false required: [hour] required: [offerType, scheduleType, market] MultiVariantScheduleDefault: description: Schedule Offer Defaults. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} offers: type: array minItems: 1 items: oneOf: - {$ref: '#/components/schemas/GenScheduleDefaultItem'} - {$ref: '#/components/schemas/DRR2ScheduleDefaultItem'} - {$ref: '#/components/schemas/DRR1ScheduleDefaultItem'} - {$ref: '#/components/schemas/EARScheduleDefaultItem'} - {$ref: '#/components/schemas/SERScheduleDefaultItem'} - {$ref: '#/components/schemas/DIRScheduleDefaultItem'} - {$ref: '#/components/schemas/ESRScheduleDefaultItem'} required: [pnodeName, offers] additionalProperties: false required: [day, resources] additionalProperties: false GenScheduleDefaultItem: type: object properties: offerType: type: string enum: [genDefaultOffer] example: genDefaultOffer market: {$ref: '#/components/schemas/MarketType'} defaultRampRates: type: object properties: rampRate: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} additionalProperties: false defaultStartupCosts: type: object properties: noLoadCost: {$ref: '#/components/schemas/OpCostNullable'} coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false defaultStatus: type: object properties: commitStatus: {$ref: '#/components/schemas/GenCommitStatus'} energyDispatchStatus: {$ref: '#/components/schemas/GenEnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/GenRegDispatchStatus'} spinningDispatchStatus: {$ref: '#/components/schemas/GenSpinDispatchStatus'} onlineSuppDispatchStatus: {$ref: '#/components/schemas/GenOnSuppDispatchStatus'} offlineSuppDispatchStatus: {$ref: '#/components/schemas/GenOffSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/GenRampDispatchStatus'} additionalProperties: false defaultLimits: type: object properties: economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergy'} additionalProperties: false required: [offerType, market] additionalProperties: false DRR2ScheduleDefaultItem: type: object properties: offerType: type: string enum: [drr2DefaultOffer] example: drr2DefaultOffer market: {$ref: '#/components/schemas/MarketType'} defaultRampRates: type: object properties: rampRate: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} additionalProperties: false defaultRunTimes: type: object properties: maximumDailyCRDeployment: {$ref: '#/components/schemas/RealEnergyResultsNullable'} maximumDailyRegUpDeployment: {$ref: '#/components/schemas/RealEnergyResultsNullable'} maximumDailyRegDownDeployment: {$ref: '#/components/schemas/RealEnergyResultsNullable'} additionalProperties: false defaultStartupCosts: type: object properties: noLoadCost: {$ref: '#/components/schemas/OpCostNullable'} coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false defaultStatus: type: object properties: commitStatus: {$ref: '#/components/schemas/DRR2CommitStatus'} energyDispatchStatus: {$ref: '#/components/schemas/DRR2EnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/DRR2RegDispatchStatus'} spinningDispatchStatus: {$ref: '#/components/schemas/DRR2SpinDispatchStatus'} onlineSuppDispatchStatus: {$ref: '#/components/schemas/DRR2OnSuppDispatchStatus'} offlineSuppDispatchStatus: {$ref: '#/components/schemas/DRR2OffSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/DRR2RampDispatchStatus'} additionalProperties: false defaultLimits: type: object properties: economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergy'} additionalProperties: false required: [offerType, market] additionalProperties: false DRR1ScheduleDefaultItem: type: object properties: offerType: type: string enum: [drr1DefaultOffer] example: drr1DefaultOffer market: {$ref: '#/components/schemas/MarketType'} defaultRunTimes: type: object properties: maximumDailyCRDeployment: {$ref: '#/components/schemas/RealEnergyResultsNullable'} additionalProperties: false defaultStatus: type: object properties: commitStatus: {$ref: '#/components/schemas/DRR1CommitStatus'} spinningDispatchStatus: {$ref: '#/components/schemas/DRR1SpinDispatchStatus'} onlineSuppDispatchStatus: {$ref: '#/components/schemas/DRR1OnSuppDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} additionalProperties: false defaultLimits: type: object properties: economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} additionalProperties: false required: [offerType, market] additionalProperties: false EARScheduleDefaultItem: type: object properties: offerType: type: string enum: [earDefaultOffer] example: earDefaultOffer market: {$ref: '#/components/schemas/MarketType'} defaultRampRates: type: object properties: rampRate: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} additionalProperties: false defaultStartupCosts: type: object properties: noLoadCost: {$ref: '#/components/schemas/OpCostNullable'} coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false defaultStatus: type: object properties: commitStatus: {$ref: '#/components/schemas/EARCommitStatus'} energyDispatchStatus: {$ref: '#/components/schemas/EAREnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/EARRegDispatchStatus'} spinningDispatchStatus: {$ref: '#/components/schemas/EARSpinDispatchStatus'} onlineSuppDispatchStatus: {$ref: '#/components/schemas/EAROnSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/EARRampDispatchStatus'} additionalProperties: false defaultLimits: type: object properties: economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} additionalProperties: false required: [offerType, market] additionalProperties: false SERScheduleDefaultItem: type: object properties: offerType: type: string enum: [serDefaultOffer] example: serDefaultOffer market: {$ref: '#/components/schemas/MarketType'} defaultRampRates: type: object properties: rampRate: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} additionalProperties: false defaultStatus: type: object properties: commitStatus: {$ref: '#/components/schemas/SERCommitStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/SERRegDispatchStatus'} additionalProperties: false defaultLimits: type: object properties: regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} additionalProperties: false required: [offerType, market] additionalProperties: false DIRScheduleDefaultItem: type: object properties: offerType: type: string enum: [dirDefaultOffer] example: dirDefaultOffer market: {$ref: '#/components/schemas/MarketType'} defaultRampRates: type: object properties: rampRate: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} additionalProperties: false defaultStartupCosts: type: object properties: noLoadCost: {$ref: '#/components/schemas/OpCostNullable'} coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false defaultStatus: type: object properties: commitStatus: {$ref: '#/components/schemas/GenCommitStatus'} energyDispatchStatus: {$ref: '#/components/schemas/GenEnergyDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/GenRampDispatchStatus'} additionalProperties: false defaultLimits: type: object properties: economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} additionalProperties: false required: [offerType, market] additionalProperties: false ESRScheduleDefaultItem: type: object properties: offerType: type: string enum: [esrDefaultOffer] example: esrDefaultOffer market: {$ref: '#/components/schemas/MarketType'} defaultRampRates: type: object properties: chargeRampRate: {$ref: '#/components/schemas/ESRMWRampRate'} dischargeRampRate: {$ref: '#/components/schemas/ESRMWRampRate'} additionalProperties: false defaultStartupCosts: type: object properties: noLoadCost: {$ref: '#/components/schemas/OpCostNullable'} startupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false defaultStatus: type: object properties: commitStatus: {$ref: '#/components/schemas/ESRCommitStatus'} energyDispatchStatus: {$ref: '#/components/schemas/ESREnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/ESRRegDispatchStatus'} spinningDispatchStatus: {$ref: '#/components/schemas/ESRSpinDispatchStatus'} onlineSuppDispatchStatus: {$ref: '#/components/schemas/ESROnSuppDispatchStatus'} offlineSuppDispatchStatus: {$ref: '#/components/schemas/ESROffSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/ESRRampDispatchStatus'} additionalProperties: false defaultLimits: type: object properties: chargeEconomicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergyNegative'} maxMW: {$ref: '#/components/schemas/RealEnergyNegative'} chargeEmergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergyNegative'} maxMW: {$ref: '#/components/schemas/RealEnergyNegative'} chargeRegulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergyNegative'} maxMW: {$ref: '#/components/schemas/RealEnergyNegative'} dischargeEconomicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergySigned'} maxMW: {$ref: '#/components/schemas/RealEnergySigned'} dischargeEmergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergySigned'} maxMW: {$ref: '#/components/schemas/RealEnergySigned'} dischargeRegulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergySigned'} maxMW: {$ref: '#/components/schemas/RealEnergySigned'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergy'} additionalProperties: false defaultEnergyStorageLevels: type: object properties: minimumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} maximumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} emergencyMinimumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} emergencyMaximumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} energyStorageEfficiencyFactor: {$ref: '#/components/schemas/Percentage4DP'} additionalProperties: false required: [offerType, market] additionalProperties: false RTOverrideReason: description: Real Time Offer Overrides reason. RGDOverride is a query-only value. type: string nullable: false enum: [EquipmentFailure, OperatorAction, Weather, AirOrGasSystems, BoilerTubeLeak, CondenserTubeLeak, Pulveriser, Pump, EPARegulation, FuelOrSupplyIssues, FuelQuality, TranmissionSysLimits, StatusChange, UnitTrip, Other, RGDOverride] RTOverrideText: {type: string, nullable: true, example: Optional override comments} RetrievedMultiVariantRTOfferOverrides: description: Real Time Offer Overrides response. Offer format will vary based on offerType variant. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} offers: type: array items: oneOf: - {$ref: '#/components/schemas/RetrievedGenRTOfferOverridesItem'} - {$ref: '#/components/schemas/RetrievedDRR2RTOfferOverridesItem'} - {$ref: '#/components/schemas/RetrievedDRR1RTOfferOverridesItem'} - {$ref: '#/components/schemas/RetrievedEARRTOfferOverridesItem'} - {$ref: '#/components/schemas/RetrievedSERRTOfferOverridesItem'} - {$ref: '#/components/schemas/RetrievedDIRRTOfferOverridesItem'} - {$ref: '#/components/schemas/RetrievedESRRTOfferOverridesItem'} required: [pnodeName, offers] required: [day, resources] MultiVariantRTOfferOverrides: description: Real Time Offer Override submission. Offer format will vary based on offerType variant. type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} offers: type: array maxItems: 1 items: oneOf: - {$ref: '#/components/schemas/GenRTOfferOverridesItem'} - {$ref: '#/components/schemas/DRR2RTOfferOverridesItem'} - {$ref: '#/components/schemas/DRR1RTOfferOverridesItem'} - {$ref: '#/components/schemas/EARRTOfferOverridesItem'} - {$ref: '#/components/schemas/SERRTOfferOverridesItem'} - {$ref: '#/components/schemas/DIRRTOfferOverridesItem'} - {$ref: '#/components/schemas/ESRRTOfferOverridesItem'} required: [pnodeName, offers] required: [day, resources] RetrievedGenRTOfferOverridesItem: type: object properties: offerType: type: string enum: [genScheduleOfferOverrides] example: genScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 0 items: type: object properties: effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} runtimeOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, notificationTime, runtimeOverrideReason, runtimeOverrideText] unitLimitOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, economicLimits, emergencyLimits, regulationLimits, unitLimitOverrideReason, unitLimitOverrideText] offlineRespOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergy'} offlineRespOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offlineRespOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offlineResourceLimit, offlineRespOverrideReason, offlineRespOverrideText] rampRateOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, rampRateUp, rampRateDown, rampRateBidirectional, rampRateOverrideReason, rampRateOverrideText] selfScheduleOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} onlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} offlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energySelfScheduleMW, regulationSelfScheduleMW, spinningSelfScheduleMW, onlineSuppSelfScheduleMW, offlineSuppSelfScheduleMW, selfScheduleOverrideReason, selfScheduleOverrideText] dispatchStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energyDispatchStatus: {$ref: '#/components/schemas/GenEnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/GenRegDispatchStatus'} spinningReserveDispatchStatus: {$ref: '#/components/schemas/GenSpinDispatchStatus'} onlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/GenOnSuppDispatchStatus'} offlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/GenOffSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/GenRampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energyDispatchStatus, regulationDispatchStatus, spinningReserveDispatchStatus, onlineSuppReserveDispatchStatus, offlineSuppReserveDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason, dispatchStatusOverrideText] commitStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} commitStatus: {$ref: '#/components/schemas/GenCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, commitStatus, commitStatusOverrideReason, commitStatusOverrideText] offControlOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true. When reason is RGDOverride then may not be present in output., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offControlFlag, offControlOverrideReason, offControlOverrideText] fastRampResourceOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} fastRampResource: {type: boolean, example: true} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, fastRampResource, fastRampOverrideReason, fastRampOverrideText] required: [offerType, effectiveOfferOverrides] GenRTOfferOverridesItem: type: object properties: offerType: type: string enum: [genScheduleOfferOverrides] example: genScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 1 maxItems: 1 items: type: object properties: checkHour: {$ref: '#/components/schemas/CheckHourLabel'} runtimeOverrides: type: object nullable: true properties: notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [notificationTime, runtimeOverrideReason] unitLimitOverrides: type: object nullable: true properties: economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [economicLimits, emergencyLimits, regulationLimits, unitLimitOverrideReason] offlineRespOverrides: type: object nullable: true properties: offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergy'} offlineRespOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offlineRespOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offlineResourceLimit, offlineRespOverrideReason, offlineShortTermReserveLimit] rampRateOverrides: type: object nullable: true properties: rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [rampRateUp, rampRateDown, rampRateBidirectional, rampRateOverrideReason] selfScheduleOverrides: type: object nullable: true properties: energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} onlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} offlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energySelfScheduleMW, regulationSelfScheduleMW, spinningSelfScheduleMW, onlineSuppSelfScheduleMW, offlineSuppSelfScheduleMW, selfScheduleOverrideReason] dispatchStatusOverrides: type: object nullable: true properties: energyDispatchStatus: {$ref: '#/components/schemas/GenEnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/GenRegDispatchStatus'} spinningReserveDispatchStatus: {$ref: '#/components/schemas/GenSpinDispatchStatus'} onlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/GenOnSuppDispatchStatus'} offlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/GenOffSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/GenRampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energyDispatchStatus, regulationDispatchStatus, spinningReserveDispatchStatus, onlineSuppReserveDispatchStatus, offlineSuppReserveDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason, onlineShortTermReserveDispatchStatus, offlineShortTermReserveDispatchStatus] commitStatusOverrides: type: object nullable: true properties: commitStatus: {$ref: '#/components/schemas/GenCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [commitStatus, commitStatusOverrideReason] offControlOverrides: type: object nullable: true properties: offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offControlFlag, eeeFlag, offControlOverrideReason] fastRampResourceOverrides: type: object nullable: true properties: fastRampResource: {type: boolean, example: true} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [fastRampResource, fastRampOverrideReason] required: [offerType, effectiveOfferOverrides] RetrievedDRR2RTOfferOverridesItem: type: object properties: offerType: type: string enum: [drr2ScheduleOfferOverrides] example: drr2ScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 0 items: type: object properties: effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} runtimeOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, notificationTime, runtimeOverrideReason, runtimeOverrideText] unitLimitOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, economicLimits, emergencyLimits, regulationLimits, unitLimitOverrideReason, unitLimitOverrideText] offlineRespOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergy'} offlineRespOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offlineRespOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offlineResourceLimit, offlineRespOverrideReason, offlineRespOverrideText] rampRateOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, rampRateUp, rampRateDown, rampRateBidirectional, rampRateOverrideReason, rampRateOverrideText] selfScheduleOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} onlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} offlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energySelfScheduleMW, regulationSelfScheduleMW, spinningSelfScheduleMW, onlineSuppSelfScheduleMW, offlineSuppSelfScheduleMW, selfScheduleOverrideReason, selfScheduleOverrideText] dispatchStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energyDispatchStatus: {$ref: '#/components/schemas/DRR2EnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/DRR2RegDispatchStatus'} spinningReserveDispatchStatus: {$ref: '#/components/schemas/DRR2SpinDispatchStatus'} onlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/DRR2OnSuppDispatchStatus'} offlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/DRR2OffSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/DRR2RampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energyDispatchStatus, regulationDispatchStatus, spinningReserveDispatchStatus, onlineSuppReserveDispatchStatus, offlineSuppReserveDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason, dispatchStatusOverrideText] commitStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} commitStatus: {$ref: '#/components/schemas/DRR2CommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, commitStatus, commitStatusOverrideReason, commitStatusOverrideText] offControlOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true. When reason is RGDOverride then may not be present in output., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offControlFlag, offControlOverrideReason, offControlOverrideText] fastRampResourceOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} fastRampResource: {type: boolean, example: true} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, fastRampResource, fastRampOverrideReason, fastRampOverrideText] required: [offerType, effectiveOfferOverrides] DRR2RTOfferOverridesItem: type: object properties: offerType: type: string enum: [drr2ScheduleOfferOverrides] example: drr2ScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 1 maxItems: 1 items: type: object properties: checkHour: {$ref: '#/components/schemas/CheckHourLabel'} runtimeOverrides: type: object nullable: true properties: notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [notificationTime, runtimeOverrideReason] unitLimitOverrides: type: object nullable: true properties: economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [economicLimits, emergencyLimits, regulationLimits, unitLimitOverrideReason] offlineRespOverrides: type: object nullable: true properties: offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergy'} offlineRespOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offlineRespOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offlineResourceLimit, offlineRespOverrideReason, offlineShortTermReserveLimit] rampRateOverrides: type: object nullable: true properties: rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [rampRateUp, rampRateDown, rampRateBidirectional, rampRateOverrideReason] selfScheduleOverrides: type: object nullable: true properties: energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} onlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} offlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energySelfScheduleMW, regulationSelfScheduleMW, spinningSelfScheduleMW, onlineSuppSelfScheduleMW, offlineSuppSelfScheduleMW, selfScheduleOverrideReason] dispatchStatusOverrides: type: object nullable: true properties: energyDispatchStatus: {$ref: '#/components/schemas/DRR2EnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/DRR2RegDispatchStatus'} spinningReserveDispatchStatus: {$ref: '#/components/schemas/DRR2SpinDispatchStatus'} onlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/DRR2OnSuppDispatchStatus'} offlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/DRR2OffSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/DRR2RampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energyDispatchStatus, regulationDispatchStatus, spinningReserveDispatchStatus, onlineSuppReserveDispatchStatus, offlineSuppReserveDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason, onlineShortTermReserveDispatchStatus, offlineShortTermReserveDispatchStatus] commitStatusOverrides: type: object nullable: true properties: commitStatus: {$ref: '#/components/schemas/DRR2CommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [commitStatus, commitStatusOverrideReason] offControlOverrides: type: object nullable: true properties: offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offControlFlag, eeeFlag, offControlOverrideReason] fastRampResourceOverrides: type: object nullable: true properties: fastRampResource: {type: boolean, example: true} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [fastRampResource, fastRampOverrideReason] required: [offerType, effectiveOfferOverrides] RetrievedDRR1RTOfferOverridesItem: type: object properties: offerType: type: string enum: [drr1ScheduleOfferOverrides] example: drr1ScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 0 items: type: object properties: effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} runtimeOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, notificationTime, runtimeOverrideReason, runtimeOverrideText] drr1OfferOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} targetDemandReductionMW: {$ref: '#/components/schemas/RealEnergy'} drr1OfferOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} drr1OfferOverrideReasonText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, targetDemandReductionMW, drr1OfferOverrideReason, drr1OfferOverrideReasonText] selfScheduleOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} supplementalSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, spinningSelfScheduleMW, supplementalSelfScheduleMW, selfScheduleOverrideReason, selfScheduleOverrideText] dispatchStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} spinningReserveDispatchStatus: {$ref: '#/components/schemas/DRR1SpinDispatchStatus'} supplementalReserveDispatchStatus: {$ref: '#/components/schemas/DRR1OnSuppDispatchStatus'} shortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, spinningReserveDispatchStatus, supplementalReserveDispatchStatus, dispatchStatusOverrideReason, dispatchStatusOverrideText] commitStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} commitStatus: {$ref: '#/components/schemas/DRR1CommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, commitStatus, commitStatusOverrideReason, commitStatusOverrideText] offControlOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true. When reason is RGDOverride then may not be present in output., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offControlFlag, offControlOverrideReason, offControlOverrideText] required: [offerType, effectiveOfferOverrides] DRR1RTOfferOverridesItem: type: object properties: offerType: type: string enum: [drr1ScheduleOfferOverrides] example: drr1ScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 1 maxItems: 1 items: type: object properties: checkHour: {$ref: '#/components/schemas/CheckHourLabel'} runtimeOverrides: type: object nullable: true properties: notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [notificationTime, runtimeOverrideReason] drr1OfferOverrides: type: object nullable: true properties: targetDemandReductionMW: {$ref: '#/components/schemas/RealEnergy'} drr1OfferOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} drr1OfferOverrideReasonText: {$ref: '#/components/schemas/RTOverrideText'} required: [targetDemandReductionMW, drr1OfferOverrideReason] selfScheduleOverrides: type: object nullable: true properties: spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} supplementalSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [spinningSelfScheduleMW, supplementalSelfScheduleMW, selfScheduleOverrideReason] dispatchStatusOverrides: type: object nullable: true properties: spinningReserveDispatchStatus: {$ref: '#/components/schemas/DRR1SpinDispatchStatus'} supplementalReserveDispatchStatus: {$ref: '#/components/schemas/DRR1OnSuppDispatchStatus'} shortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [spinningReserveDispatchStatus, supplementalReserveDispatchStatus, dispatchStatusOverrideReason, shortTermReserveDispatchStatus] commitStatusOverrides: type: object nullable: true properties: commitStatus: {$ref: '#/components/schemas/DRR1CommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [commitStatus, commitStatusOverrideReason] offControlOverrides: type: object nullable: true properties: offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offControlFlag, eeeFlag, offControlOverrideReason] required: [offerType, effectiveOfferOverrides] RetrievedEARRTOfferOverridesItem: type: object properties: offerType: type: string enum: [earScheduleOfferOverrides] example: earScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 0 items: type: object properties: effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} runtimeOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, notificationTime, runtimeOverrideReason, runtimeOverrideText] unitLimitOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, economicLimits, emergencyLimits, regulationLimits, unitLimitOverrideReason, unitLimitOverrideText] rampRateOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, rampRateUp, rampRateDown, rampRateBidirectional, rampRateOverrideReason, rampRateOverrideText] selfScheduleOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} onlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energySelfScheduleMW, regulationSelfScheduleMW, spinningSelfScheduleMW, onlineSuppSelfScheduleMW, selfScheduleOverrideReason, selfScheduleOverrideText] dispatchStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energyDispatchStatus: {$ref: '#/components/schemas/EAREnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/EARRegDispatchStatus'} spinningReserveDispatchStatus: {$ref: '#/components/schemas/EARSpinDispatchStatus'} onlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/EAROnSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/EARRampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energyDispatchStatus, regulationDispatchStatus, spinningReserveDispatchStatus, onlineSuppReserveDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason, dispatchStatusOverrideText] commitStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} commitStatus: {$ref: '#/components/schemas/EARCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, commitStatus, commitStatusOverrideReason, commitStatusOverrideText] offControlOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true. When reason is RGDOverride then may not be present in output., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offControlFlag, offControlOverrideReason, offControlOverrideText] fastRampResourceOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} fastRampResource: {type: boolean, example: true} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, fastRampResource, fastRampOverrideReason, fastRampOverrideText] required: [offerType, effectiveOfferOverrides] EARRTOfferOverridesItem: type: object properties: offerType: type: string enum: [earScheduleOfferOverrides] example: earScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 1 maxItems: 1 items: type: object properties: checkHour: {$ref: '#/components/schemas/CheckHourLabel'} runtimeOverrides: type: object nullable: true properties: notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [notificationTime, runtimeOverrideReason] unitLimitOverrides: type: object nullable: true properties: economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [economicLimits, emergencyLimits, regulationLimits, unitLimitOverrideReason] rampRateOverrides: type: object nullable: true properties: rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [rampRateUp, rampRateDown, rampRateBidirectional, rampRateOverrideReason] selfScheduleOverrides: type: object nullable: true properties: energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} onlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energySelfScheduleMW, regulationSelfScheduleMW, spinningSelfScheduleMW, onlineSuppSelfScheduleMW, selfScheduleOverrideReason] dispatchStatusOverrides: type: object nullable: true properties: energyDispatchStatus: {$ref: '#/components/schemas/EAREnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/EARRegDispatchStatus'} spinningReserveDispatchStatus: {$ref: '#/components/schemas/EARSpinDispatchStatus'} onlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/EAROnSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/EARRampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energyDispatchStatus, regulationDispatchStatus, spinningReserveDispatchStatus, onlineSuppReserveDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason, onlineShortTermReserveDispatchStatus] commitStatusOverrides: type: object nullable: true properties: commitStatus: {$ref: '#/components/schemas/EARCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [commitStatus, commitStatusOverrideReason] offControlOverrides: type: object nullable: true properties: offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offControlFlag, eeeFlag, offControlOverrideReason] fastRampResourceOverrides: type: object nullable: true properties: fastRampResource: {type: boolean, example: true} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [fastRampResource, fastRampOverrideReason] required: [offerType, effectiveOfferOverrides] RetrievedSERRTOfferOverridesItem: type: object properties: offerType: type: string enum: [serScheduleOfferOverrides] example: serScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 0 items: type: object properties: effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} unitLimitOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, regulationLimits, unitLimitOverrideReason, unitLimitOverrideText] rampRateOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, rampRateBidirectional, rampRateOverrideReason, rampRateOverrideText] selfScheduleOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, regulationSelfScheduleMW, selfScheduleOverrideReason, selfScheduleOverrideText] dispatchStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} regulationDispatchStatus: {$ref: '#/components/schemas/SERRegDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, regulationDispatchStatus, dispatchStatusOverrideReason, dispatchStatusOverrideText] commitStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} commitStatus: {$ref: '#/components/schemas/SERCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, commitStatus, commitStatusOverrideReason, commitStatusOverrideText] offControlOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true. When reason is RGDOverride then may not be present in output., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offControlFlag, offControlOverrideReason, offControlOverrideText] fastRampResourceOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} fastRampNeutralZoneLowerLimit: {$ref: '#/components/schemas/Percentage'} fastRampNeutralZoneUpperLimit: {$ref: '#/components/schemas/Percentage'} fastRampResource: {type: boolean, example: true} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, fastRampNeutralZoneLowerLimit, fastRampNeutralZoneUpperLimit, fastRampResource, fastRampOverrideReason, fastRampOverrideText] required: [offerType, effectiveOfferOverrides] SERRTOfferOverridesItem: type: object properties: offerType: type: string enum: [serScheduleOfferOverrides] example: serScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 1 maxItems: 1 items: type: object properties: checkHour: {$ref: '#/components/schemas/CheckHourLabel'} unitLimitOverrides: type: object nullable: true properties: regulationLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} maxMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW, maxMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [regulationLimits, unitLimitOverrideReason] rampRateOverrides: type: object nullable: true properties: rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [rampRateBidirectional, rampRateOverrideReason] selfScheduleOverrides: type: object nullable: true properties: regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [regulationSelfScheduleMW, selfScheduleOverrideReason] dispatchStatusOverrides: type: object nullable: true properties: regulationDispatchStatus: {$ref: '#/components/schemas/SERRegDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [regulationDispatchStatus, dispatchStatusOverrideReason] commitStatusOverrides: type: object nullable: true properties: commitStatus: {$ref: '#/components/schemas/SERCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [commitStatus, commitStatusOverrideReason] offControlOverrides: type: object nullable: true properties: offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offControlFlag, eeeFlag, offControlOverrideReason] fastRampResourceOverrides: type: object nullable: true properties: fastRampNeutralZoneLowerLimit: {$ref: '#/components/schemas/Percentage'} fastRampNeutralZoneUpperLimit: {$ref: '#/components/schemas/Percentage'} fastRampResource: {type: boolean, example: true} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [fastRampNeutralZoneLowerLimit, fastRampNeutralZoneUpperLimit, fastRampResource, fastRampOverrideReason] required: [offerType, effectiveOfferOverrides] RetrievedDIRRTOfferOverridesItem: type: object properties: offerType: type: string enum: [dirScheduleOfferOverrides] example: dirScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 0 items: type: object properties: effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} runtimeOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, notificationTime, runtimeOverrideReason, runtimeOverrideText] unitLimitOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW] emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, economicLimits, emergencyLimits, unitLimitOverrideReason, unitLimitOverrideText] rampRateOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, rampRateUp, rampRateDown, rampRateBidirectional, rampRateOverrideReason, rampRateOverrideText] selfScheduleOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energySelfScheduleMW, selfScheduleOverrideReason, selfScheduleOverrideText] dispatchStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energyDispatchStatus: {$ref: '#/components/schemas/GenEnergyDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/GenRampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energyDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason, dispatchStatusOverrideText] commitStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} commitStatus: {$ref: '#/components/schemas/GenCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, commitStatus, commitStatusOverrideReason, commitStatusOverrideText] offControlOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offControlFlag: {type: boolean, nullable: true, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true. When reason is RGDOverride then may not be present in output., type: boolean, nullable: true, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offControlFlag, offControlOverrideReason, offControlOverrideText] required: [offerType, effectiveOfferOverrides] DIRRTOfferOverridesItem: type: object properties: offerType: type: string enum: [dirScheduleOfferOverrides] example: dirScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 1 maxItems: 1 items: type: object properties: checkHour: {$ref: '#/components/schemas/CheckHourLabel'} runtimeOverrides: type: object nullable: true properties: notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [notificationTime, runtimeOverrideReason] unitLimitOverrides: type: object nullable: true properties: economicLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW] emergencyLimits: type: object properties: minMW: {$ref: '#/components/schemas/RealEnergy'} required: [minMW] unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [economicLimits, emergencyLimits, unitLimitOverrideReason] rampRateOverrides: type: object nullable: true properties: rampRateUp: {$ref: '#/components/schemas/MWRampRate'} rampRateDown: {$ref: '#/components/schemas/MWRampRate'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [rampRateUp, rampRateDown, rampRateBidirectional, rampRateOverrideReason] selfScheduleOverrides: type: object nullable: true properties: energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energySelfScheduleMW, selfScheduleOverrideReason] dispatchStatusOverrides: type: object nullable: true properties: energyDispatchStatus: {$ref: '#/components/schemas/GenEnergyDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/GenRampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energyDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason] commitStatusOverrides: type: object nullable: true properties: commitStatus: {$ref: '#/components/schemas/GenCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [commitStatus, commitStatusOverrideReason] offControlOverrides: type: object nullable: true properties: offControlFlag: {type: boolean, example: true} eeeFlag: {type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offControlFlag, eeeFlag, offControlOverrideReason] required: [offerType, effectiveOfferOverrides] RetrievedESRRTOfferOverridesItem: type: object properties: offerType: type: string enum: [esrScheduleOfferOverrides] example: esrScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 0 items: type: object properties: effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} runtimeOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, notificationTime, runtimeOverrideReason, runtimeOverrideText] unitLimitOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} chargeEmergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNegative'} maxMW: {$ref: '#/components/schemas/RealEnergyNegative'} chargeEconomicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNegative'} maxMW: {$ref: '#/components/schemas/RealEnergyNegative'} chargeRegulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNegative'} maxMW: {$ref: '#/components/schemas/RealEnergyNegative'} dischargeEmergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergySigned'} maxMW: {$ref: '#/components/schemas/RealEnergySigned'} dischargeEconomicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergySigned'} maxMW: {$ref: '#/components/schemas/RealEnergySigned'} dischargeRegulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergySigned'} maxMW: {$ref: '#/components/schemas/RealEnergySigned'} unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, chargeEmergencyLimits, chargeEconomicLimits, chargeRegulationLimits, dischargeEmergencyLimits, dischargeEconomicLimits, dischargeRegulationLimits, unitLimitOverrideReason, unitLimitOverrideText] offlineRespOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergy'} offlineRespOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offlineRespOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offlineResourceLimit, offlineRespOverrideReason, offlineRespOverrideText] rampRateOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} chargeRampRate: {$ref: '#/components/schemas/MWRampRate'} dischargeRampRate: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, chargeRampRate, dischargeRampRate, rampRateOverrideReason, rampRateOverrideText] selfScheduleOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} onlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} offlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energySelfScheduleMW, regulationSelfScheduleMW, spinningSelfScheduleMW, onlineSuppSelfScheduleMW, offlineSuppSelfScheduleMW, selfScheduleOverrideReason, selfScheduleOverrideText] dispatchStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} energyDispatchStatus: {$ref: '#/components/schemas/ESREnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/ESRRegDispatchStatus'} spinningReserveDispatchStatus: {$ref: '#/components/schemas/ESRSpinDispatchStatus'} onlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/ESROnSuppDispatchStatus'} offlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/ESROffSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/ESRRampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, energyDispatchStatus, regulationDispatchStatus, spinningReserveDispatchStatus, onlineSuppReserveDispatchStatus, offlineSuppReserveDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason, dispatchStatusOverrideText] commitStatusOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} commitStatus: {$ref: '#/components/schemas/ESRCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, commitStatus, commitStatusOverrideReason, commitStatusOverrideText] offControlOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true. When reason is RGDOverride then may not be present in output., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, offControlFlag, offControlOverrideReason, offControlOverrideText] fastRampResourceOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} fastRampResource: {type: boolean, example: true} fastRampNeutralZoneLowerLimit: {$ref: '#/components/schemas/PercentageNullable'} fastRampNeutralZoneUpperLimit: {$ref: '#/components/schemas/PercentageNullable'} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, fastRampResource, fastRampNeutralZoneLowerLimit, fastRampNeutralZoneUpperLimit, fastRampOverrideReason, fastRampOverrideText] energyStorageLevelOverrides: type: object properties: start: {$ref: '#/components/schemas/MarketIntervalLabel'} end: {$ref: '#/components/schemas/MarketIntervalLabel'} minimumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} maximumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} emergencyMinimumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} emergencyMaximumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} energyStorageLevelOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} energyStorageLevelOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [start, end, minimumEnergyStorageLevel, maximumEnergyStorageLevel, emergencyMinimumEnergyStorageLevel, emergencyMaximumEnergyStorageLevel, energyStorageLevelOverrideReason, energyStorageLevelOverrideText] required: [offerType, effectiveOfferOverrides] ESRRTOfferOverridesItem: type: object properties: offerType: type: string enum: [esrScheduleOfferOverrides] example: esrScheduleOfferOverrides effectiveOfferOverrides: type: array minItems: 1 maxItems: 1 items: type: object properties: checkHour: {$ref: '#/components/schemas/CheckHourLabel'} runtimeOverrides: type: object nullable: true properties: notificationTime: {$ref: '#/components/schemas/NotificationTime'} runtimeOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} runtimeOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [notificationTime, runtimeOverrideReason] unitLimitOverrides: type: object nullable: true properties: chargeEmergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNegative'} maxMW: {$ref: '#/components/schemas/RealEnergyNegative'} chargeEconomicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNegative'} maxMW: {$ref: '#/components/schemas/RealEnergyNegative'} chargeRegulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergyNegative'} maxMW: {$ref: '#/components/schemas/RealEnergyNegative'} dischargeEmergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergySigned'} maxMW: {$ref: '#/components/schemas/RealEnergySigned'} dischargeEconomicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergySigned'} maxMW: {$ref: '#/components/schemas/RealEnergySigned'} dischargeRegulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. properties: minMW: {$ref: '#/components/schemas/RealEnergySigned'} maxMW: {$ref: '#/components/schemas/RealEnergySigned'} unitLimitOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} unitLimitOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [chargeEmergencyLimits, chargeEconomicLimits, chargeRegulationLimits, dischargeEmergencyLimits, dischargeEconomicLimits, dischargeRegulationLimits, unitLimitOverrideReason, unitLimitOverrideText] offlineRespOverrides: type: object nullable: true properties: offlineResourceLimit: {$ref: '#/components/schemas/RealEnergy'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergy'} offlineRespOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offlineRespOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offlineResourceLimit, offlineRespOverrideReason, offlineShortTermReserveLimit] rampRateOverrides: type: object nullable: true properties: chargeRampRate: {$ref: '#/components/schemas/MWRampRate'} dischargeRampRate: {$ref: '#/components/schemas/MWRampRate'} rampRateOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} rampRateOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [chargeRampRate, dischargeRampRate, rampRateOverrideReason, rampRateOverrideText] selfScheduleOverrides: type: object nullable: true properties: energySelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} regulationSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} spinningSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} onlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} offlineSuppSelfScheduleMW: {$ref: '#/components/schemas/RealEnergy'} selfScheduleOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} selfScheduleOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energySelfScheduleMW, regulationSelfScheduleMW, spinningSelfScheduleMW, onlineSuppSelfScheduleMW, offlineSuppSelfScheduleMW, selfScheduleOverrideReason] dispatchStatusOverrides: type: object nullable: true properties: energyDispatchStatus: {$ref: '#/components/schemas/ESREnergyDispatchStatus'} regulationDispatchStatus: {$ref: '#/components/schemas/ESRRegDispatchStatus'} spinningReserveDispatchStatus: {$ref: '#/components/schemas/ESRSpinDispatchStatus'} onlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/ESROnSuppDispatchStatus'} offlineSuppReserveDispatchStatus: {$ref: '#/components/schemas/ESROffSuppDispatchStatus'} onlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OnlineSTRDispatchStatus'} offlineShortTermReserveDispatchStatus: {$ref: '#/components/schemas/OfflineSTRDispatchStatus'} rampCapabilityDispatchStatus: {$ref: '#/components/schemas/ESRRampDispatchStatus'} dispatchStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} dispatchStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [energyDispatchStatus, regulationDispatchStatus, spinningReserveDispatchStatus, onlineSuppReserveDispatchStatus, offlineSuppReserveDispatchStatus, rampCapabilityDispatchStatus, dispatchStatusOverrideReason, onlineShortTermReserveDispatchStatus, offlineShortTermReserveDispatchStatus] commitStatusOverrides: type: object nullable: true properties: commitStatus: {$ref: '#/components/schemas/ESRCommitStatus'} commitStatusOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} commitStatusOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [commitStatus, commitStatusOverrideReason] offControlOverrides: type: object nullable: true properties: offControlFlag: {type: boolean, example: true} eeeFlag: {description: Specifies the Energy Deployment Charge Exemption (EEE) override. May be set true only when OffControlFlag = true., type: boolean, example: true} offControlOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} offControlOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [offControlFlag, eeeFlag, offControlOverrideReason] fastRampResourceOverrides: type: object nullable: true properties: fastRampResource: {type: boolean, example: true} fastRampNeutralZoneLowerLimit: {$ref: '#/components/schemas/PercentageNullable'} fastRampNeutralZoneUpperLimit: {$ref: '#/components/schemas/PercentageNullable'} fastRampOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} fastRampOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [fastRampResource, fastRampNeutralZoneLowerLimit, fastRampNeutralZoneUpperLimit, fastRampOverrideReason, fastRampOverrideText] energyStorageLevelOverrides: type: object nullable: true properties: minimumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} maximumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} emergencyMinimumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} emergencyMaximumEnergyStorageLevel: {$ref: '#/components/schemas/RealEnergySigned'} energyStorageLevelOverrideReason: {$ref: '#/components/schemas/RTOverrideReason'} energyStorageLevelOverrideText: {$ref: '#/components/schemas/RTOverrideText'} required: [minimumEnergyStorageLevel, maximumEnergyStorageLevel, emergencyMinimumEnergyStorageLevel, emergencyMaximumEnergyStorageLevel, energyStorageLevelOverrideReason, energyStorageLevelOverrideText] required: [offerType, effectiveOfferOverrides] NotificationResponses: type: array items: type: object required: [responseCode, created, retryCount] properties: responseCode: {type: integer, example: 200} responsePayload: {type: string, nullable: true, example: '{\"response\": \"ok\"}'} created: {$ref: '#/components/schemas/MarketIntervalLabel'} retryCount: {type: integer, example: 1} ResourceStartStopNotificationLog: description: Resource Start Stop Notification log messages. type: array items: type: object required: [eventType, status, effectiveTime, terminationTime, version, participantName, created, requestPayload, responses] properties: eventType: type: string enum: [Resource Start/Stop] example: Resource Start/Stop status: {$ref: '#/components/schemas/NotifyStatus'} effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} terminationTime: {$ref: '#/components/schemas/MarketIntervalLabel'} version: {type: string, example: 1.0.0} externalId: {type: string, example: ext-id-3} url: {type: string, example: 'http://mcs-notifications-listener-svc/event'} participantMrid: {type: string, example: be553f66-8af1-0436-ffb7-f53ca339d84f} participantName: {$ref: '#/components/schemas/ParticipantName'} created: {$ref: '#/components/schemas/MarketIntervalLabel'} lastmodified: {$ref: '#/components/schemas/MarketIntervalLabel'} requestPayload: type: object required: [test, notificationData] properties: test: {type: boolean, example: false} notificationData: type: object properties: resourceStartInstructions: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} interval: {$ref: '#/components/schemas/MarketIntervalLabel'} timestamp: {$ref: '#/components/schemas/MarketIntervalLabel'} deployStatus: type: string enum: [online] deployReason: type: string enum: [CRD] required: [pnodeName, interval, timestamp] resourceStopInstructions: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} interval: {$ref: '#/components/schemas/MarketIntervalLabel'} timestamp: {$ref: '#/components/schemas/MarketIntervalLabel'} required: [pnodeName, interval, timestamp] required: [resourceStartInstructions, resourceStopInstructions] responses: {$ref: '#/components/schemas/NotificationResponses'} DispatchNotificationLog: description: Dispatch Instruction Notification log messages. type: array items: type: object required: [eventType, status, effectiveTime, terminationTime, version, participantName, created, requestPayload, responses] properties: eventType: type: string enum: [Dispatch Instruction, Dispatch Instruction Bundle] example: Dispatch Instruction status: {$ref: '#/components/schemas/NotifyStatus'} effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} terminationTime: {$ref: '#/components/schemas/MarketIntervalLabel'} version: {type: string, example: 1.0.0} externalId: {type: string, example: ext-id-3} url: {type: string, example: 'http://mcs-notifications-listener-svc/event'} participantMrid: {type: string, example: be553f66-8af1-0436-ffb7-f53ca339d84f} participantName: {$ref: '#/components/schemas/ParticipantName'} created: {$ref: '#/components/schemas/MarketIntervalLabel'} lastmodified: {$ref: '#/components/schemas/MarketIntervalLabel'} requestPayload: type: object required: [test, notificationData] properties: test: {type: boolean, example: false} notificationData: type: object properties: dispatchInstructions: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} interval: {$ref: '#/components/schemas/MarketIntervalLabel'} energyDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} lmp: {$ref: '#/components/schemas/MarketPriceResults'} udeFlag: {type: boolean} udeReasonCode: {type: integer, multipleOf: 1, minimum: 1, maximum: 999} required: [mw, lmp] regulationDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} mileageMCP: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp, mileageMCP] spinningReserveDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] supplementalReserveDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] shortTermReserveDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] rampCapabilityUpDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] rampCapabilityDownDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] required: [pnodeName, interval, energyDispatch, regulationDispatch, spinningReserveDispatch, supplementalReserveDispatch, rampCapabilityUpDispatch, rampCapabilityDownDispatch] required: [dispatchInstructions] responses: {$ref: '#/components/schemas/NotificationResponses'} ReserveZoneStudyStatusNotificationLog: description: Reserve Zone Study Status Notification log messages. type: array items: type: object required: [eventType, status, effectiveTime, terminationTime, version, participantName, created, requestPayload, responses] properties: eventType: type: string enum: [Reserve Zone Study Status] example: Reserve Zone Study Status status: {$ref: '#/components/schemas/NotifyStatus'} effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} terminationTime: {$ref: '#/components/schemas/MarketIntervalLabel'} version: {type: string, example: 1.0.0} externalId: {type: string, example: ext-id-3} url: {type: string, example: 'http://mcs-notifications-listener-svc/event'} participantMrid: {type: string, example: be553f66-8af1-0436-ffb7-f53ca339d84f} participantName: {$ref: '#/components/schemas/ParticipantName'} created: {$ref: '#/components/schemas/MarketIntervalLabel'} lastmodified: {$ref: '#/components/schemas/MarketIntervalLabel'} requestPayload: type: object required: [test, notificationData] properties: test: {type: boolean, example: false} notificationData: type: object properties: reserveZoneStudyStatus: type: array items: type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} status: {$ref: '#/components/schemas/StudyStatus'} required: [day, status] required: [reserveZoneStudyStatus] responses: {$ref: '#/components/schemas/NotificationResponses'} EmergencyNotificationLog: description: Emergency Notification log messages. type: array items: type: object required: [eventType, status, effectiveTime, terminationTime, version, participantName, created, requestPayload, responses] properties: eventType: type: string enum: [Emergency Notification] example: Emergency Notification status: {$ref: '#/components/schemas/NotifyStatus'} effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} terminationTime: {$ref: '#/components/schemas/MarketIntervalLabel'} version: {type: string, example: 1.0.0} externalId: {type: string, example: ext-id-3} url: {type: string, example: 'http://mcs-notifications-listener-svc/event'} participantMrid: {type: string, example: be553f66-8af1-0436-ffb7-f53ca339d84f} participantName: {$ref: '#/components/schemas/ParticipantName'} created: {$ref: '#/components/schemas/MarketIntervalLabel'} lastmodified: {$ref: '#/components/schemas/MarketIntervalLabel'} requestPayload: type: object required: [test, notificationData] properties: test: {type: boolean, example: false} notificationData: type: object properties: messages: type: array items: type: object properties: realm: type: string enum: [Public, Private] source: {$ref: '#/components/schemas/ParticipantName'} destination: {$ref: '#/components/schemas/ParticipantName'} priority: {type: integer, minimum: 0, maximum: 999} text: {type: string, maxLength: 1027} effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} terminationTime: {$ref: '#/components/schemas/MarketIntervalLabel'} required: [realm, source, destination, priority, text, effectiveTime, terminationTime] required: [messages] responses: {$ref: '#/components/schemas/NotificationResponses'} CRDeploymentNotificationLog: description: CRD Deployment Notification log messages. type: array items: type: object required: [eventType, status, effectiveTime, terminationTime, version, participantName, created, requestPayload, responses] properties: eventType: type: string enum: [Contingency Reserve] example: Contingency Reserve status: {$ref: '#/components/schemas/NotifyStatus'} effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} terminationTime: {$ref: '#/components/schemas/MarketIntervalLabel'} version: {type: string, example: 1.0.0} externalId: {type: string, example: ext-id-3} url: {type: string, example: 'http://mcs-notifications-listener-svc/event'} participantMrid: {type: string, example: be553f66-8af1-0436-ffb7-f53ca339d84f} participantName: {$ref: '#/components/schemas/ParticipantName'} created: {$ref: '#/components/schemas/MarketIntervalLabel'} lastmodified: {$ref: '#/components/schemas/MarketIntervalLabel'} requestPayload: type: object required: [test, notificationData] properties: test: {type: boolean, example: false} notificationData: type: object required: [crDeployments] properties: crDeployments: type: array items: type: object required: [pnodeName, timestamp, mw] properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} timestamp: {$ref: '#/components/schemas/MarketIntervalLabel'} mw: {$ref: '#/components/schemas/RealEnergyResults'} responses: {$ref: '#/components/schemas/NotificationResponses'} ContractScheduleNotificationLog: description: Financial Contract/Schedule Confirmation notification log messages. type: array items: type: object required: [eventType, status, effectiveTime, terminationTime, version, participantName, created, requestPayload, responses] properties: eventType: type: string enum: [Financial Contract/Schedule Confirmation] example: Financial Contract/Schedule Confirmation status: {$ref: '#/components/schemas/NotifyStatus'} effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} terminationTime: {$ref: '#/components/schemas/MarketIntervalLabel'} version: {type: string, example: 1.0.0} externalId: {type: string, example: ext-id-3} url: {type: string, example: 'http://mcs-notifications-listener-svc/event'} participantMrid: {type: string, example: be553f66-8af1-0436-ffb7-f53ca339d84f} participantName: {$ref: '#/components/schemas/ParticipantName'} created: {$ref: '#/components/schemas/MarketIntervalLabel'} lastmodified: {$ref: '#/components/schemas/MarketIntervalLabel'} requestPayload: type: object required: [test, notificationData] properties: test: {type: boolean, example: false} notificationData: type: object properties: unconfirmedContracts: type: array items: type: object properties: contractName: {$ref: '#/components/schemas/ContractName'} buyerName: {$ref: '#/components/schemas/ParticipantName'} sellerName: {$ref: '#/components/schemas/ParticipantName'} contractType: {$ref: '#/components/schemas/ContractType'} required: [contractName, buyerName, sellerName, contractType] unconfirmedSchedules: type: array items: type: object properties: contractName: {$ref: '#/components/schemas/ContractName'} buyerName: {$ref: '#/components/schemas/ParticipantName'} sellerName: {$ref: '#/components/schemas/ParticipantName'} contractType: {$ref: '#/components/schemas/ContractType'} scheduleDay: {$ref: '#/components/schemas/MarketOperatingDay'} required: [contractName, buyerName, sellerName, contractType, scheduleDay] required: [unconfirmedContracts, unconfirmedSchedules] responses: {$ref: '#/components/schemas/NotificationResponses'} IMMNotificationMessage: description: IMM Notification Message type: object properties: messages: type: array minItems: 1 items: type: object properties: realm: type: string enum: [Public, Private] source: {$ref: '#/components/schemas/ParticipantName'} destination: {$ref: '#/components/schemas/ParticipantName'} priority: {type: integer, example: 0, minimum: 0, maximum: 999} text: {type: string, maxLength: 1027} effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} terminationTime: {$ref: '#/components/schemas/MarketIntervalLabel'} required: [realm, source, destination, priority, text, effectiveTime, terminationTime] required: [messages] RetrievedReserveZoneStudyStatus: description: Reserve Zone Study Status query type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} status: {$ref: '#/components/schemas/StudyStatus'} ReserveZoneStudyStatus: description: Reserve Zone Study Status query type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} status: {$ref: '#/components/schemas/StudyStatus'} sendNotifications: {type: boolean} MultiVariantImmResourceAssignment: description: IMM ResourceAssignment type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} resources: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} offers: type: array minItems: 1 items: oneOf: - {$ref: '#/components/schemas/GenImmResourceAssignmentItem'} - {$ref: '#/components/schemas/DRR2ImmResourceAssignmentItem'} - {$ref: '#/components/schemas/DRR1ImmResourceAssignmentItem'} - {$ref: '#/components/schemas/EARImmResourceAssignmentItem'} - {$ref: '#/components/schemas/SERImmResourceAssignmentItem'} - {$ref: '#/components/schemas/DIRImmResourceAssignmentItem'} - {$ref: '#/components/schemas/ESRImmResourceAssignmentItem'} required: [pnodeName, offers] required: [day, resources] GenImmResourceAssignmentItem: type: object properties: offerType: type: string enum: [genImmOffer] example: genImmOffer market: {$ref: '#/components/schemas/MarketType'} assignmentType: {$ref: '#/components/schemas/IMMScheduleType'} costScheduleId: {type: integer} startupCostsDaily: type: object nullable: true properties: coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] additionalProperties: false commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/GenCommitStatusNullable'} required: [hour] additionalProperties: false runtimesDaily: type: object nullable: true properties: minimumRuntime: {$ref: '#/components/schemas/RunTimeNullable'} maximumRuntime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDowntime: {$ref: '#/components/schemas/DownTimeNullable'} hotToColdTime: {$ref: '#/components/schemas/TransitionTimeNullable'} hotToIntermediateTime: {$ref: '#/components/schemas/TransitionTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} additionalProperties: false runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} additionalProperties: false required: [hour] additionalProperties: false unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: emergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false economicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false regulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false offlineResourceLimit: {$ref: '#/components/schemas/RealEnergyNullable'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} rampRate: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRateCurves: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRateCurve: type: array nullable: true items: type: object properties: mw: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} required: [mw] additionalProperties: false maxItems: 10 required: [hour] additionalProperties: false energyOfferHourly: type: array items: type: object nullable: true properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 10 required: [slope, priceCurveSegments] additionalProperties: false additionalProperties: false required: [hour] additionalProperties: false regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} totalRegCost: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false spinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false onlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false offlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false offlineShortTermReserveOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} shortTermReserveOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false required: [offerType, market, assignmentType] additionalProperties: false DRR2ImmResourceAssignmentItem: type: object properties: offerType: type: string enum: [drr2ImmOffer] example: drr2ImmOffer market: {$ref: '#/components/schemas/MarketType'} assignmentType: {$ref: '#/components/schemas/IMMScheduleType'} costScheduleId: {type: integer} startupCostsDaily: type: object nullable: true properties: coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] additionalProperties: false commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/DRR2CommitStatusNullable'} required: [hour] additionalProperties: false runtimesDaily: type: object nullable: true properties: minimumRuntime: {$ref: '#/components/schemas/RunTimeNullable'} maximumRuntime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDowntime: {$ref: '#/components/schemas/DownTimeNullable'} hotToColdTime: {$ref: '#/components/schemas/TransitionTimeNullable'} hotToIntermediateTime: {$ref: '#/components/schemas/TransitionTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} additionalProperties: false runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} additionalProperties: false required: [hour] additionalProperties: false unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: emergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false economicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false regulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false offlineResourceLimit: {$ref: '#/components/schemas/RealEnergyNullable'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} rampRate: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRateCurves: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRateCurve: type: array nullable: true items: type: object properties: mw: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} required: [mw] additionalProperties: false maxItems: 10 required: [hour] additionalProperties: false energyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 10 required: [slope, priceCurveSegments] additionalProperties: false required: [hour] additionalProperties: false regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} totalRegCost: {$ref: '#/components/schemas/MarketPriceNullable'} mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false spinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false required: [hour] additionalProperties: false onlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false required: [hour] additionalProperties: false offlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false required: [hour] additionalProperties: false offlineShortTermReserveOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} shortTermReserveOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false additionalProperties: false required: [hour] additionalProperties: false required: [offerType, market, assignmentType] additionalProperties: false DRR1ImmResourceAssignmentItem: type: object properties: offerType: type: string enum: [drr1ImmOffer] example: drr1ImmOffer market: {$ref: '#/components/schemas/MarketType'} assignmentType: {$ref: '#/components/schemas/IMMScheduleType'} costScheduleId: {type: integer} shutdownCost: {$ref: '#/components/schemas/OpCostNullable'} drr1CommitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/DRR1CommitStatusNullable'} required: [hour] additionalProperties: false drr1RuntimesDaily: type: object nullable: true properties: minInterruptDuration: {$ref: '#/components/schemas/DurationNullable'} maxInterruptDuration: {$ref: '#/components/schemas/DurationNullable'} minNonInterruptInterval: {$ref: '#/components/schemas/DurationNullable'} additionalProperties: false drr1RuntimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} drr1RuntimesHourlyDetail: type: object nullable: true properties: shutdownTime: {$ref: '#/components/schemas/DownTimeNullable'} shutdownNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} additionalProperties: false required: [hour] additionalProperties: false drr1EnergyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} drr1EnergyOfferHourlyDetail: type: object nullable: true properties: curtailmentOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} energyOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false drr1SpinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false offerPrice: {$ref: '#/components/schemas/MarketPrice'} additionalProperties: false required: [hour] additionalProperties: false drr1SuppOfferHourly: type: array items: type: object nullable: true properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false additionalProperties: false required: [hour] additionalProperties: false drr1ShortTermReserveOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} shortTermReserveOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false additionalProperties: false required: [hour] additionalProperties: false required: [offerType, market, assignmentType] additionalProperties: false EARImmResourceAssignmentItem: type: object properties: offerType: type: string enum: [earImmOffer] example: earImmOffer market: {$ref: '#/components/schemas/MarketType'} assignmentType: {$ref: '#/components/schemas/IMMScheduleType'} costScheduleId: {type: integer} startupCostsDaily: type: object nullable: true properties: coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] additionalProperties: false commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/EARCommitStatusNullable'} required: [hour] additionalProperties: false runtimesDaily: type: object nullable: true properties: minimumRuntime: {$ref: '#/components/schemas/RunTimeNullable'} maximumRuntime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDowntime: {$ref: '#/components/schemas/DownTimeNullable'} hotToColdTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotToIntermediateTime: {$ref: '#/components/schemas/NotificationTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} additionalProperties: false runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} additionalProperties: false required: [hour] additionalProperties: false unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: emergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false economicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false regulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false additionalProperties: false required: [hour] additionalProperties: false rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} rampRate: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRateCurves: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRateCurve: type: array nullable: true items: type: object properties: mw: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} required: [mw] additionalProperties: false maxItems: 10 required: [hour] additionalProperties: false energyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 10 required: [slope, priceCurveSegments] additionalProperties: false additionalProperties: false required: [hour] additionalProperties: false regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} totalRegCost: {$ref: '#/components/schemas/MarketPriceNullable'} mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false spinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false onlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false required: [offerType, market, assignmentType] additionalProperties: false SERImmResourceAssignmentItem: type: object properties: offerType: type: string enum: [serImmOffer] example: serImmOffer market: {$ref: '#/components/schemas/MarketType'} assignmentType: {$ref: '#/components/schemas/IMMScheduleType'} costScheduleId: {type: integer} commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/SERCommitStatusNullable'} required: [hour] additionalProperties: false unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: regulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false offlineResourceLimit: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false required: [hour] additionalProperties: false regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} totalRegCost: {$ref: '#/components/schemas/MarketPriceNullable'} mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} rampRate: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRateCurves: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRateCurve: type: array nullable: true items: type: object properties: mw: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} required: [mw] additionalProperties: false maxItems: 10 required: [hour] additionalProperties: false required: [offerType, market, assignmentType] additionalProperties: false DIRImmResourceAssignmentItem: type: object properties: offerType: type: string enum: [dirImmOffer] example: dirImmOffer market: {$ref: '#/components/schemas/MarketType'} assignmentType: {$ref: '#/components/schemas/IMMScheduleType'} costScheduleId: {type: integer} startupCostsDaily: type: object nullable: true properties: coldStartupCost: {$ref: '#/components/schemas/OpCostNullable'} intermediateStartupCost: {$ref: '#/components/schemas/OpCostNullable'} hotStartupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] additionalProperties: false commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/GenCommitStatusNullable'} required: [hour] additionalProperties: false runtimesDaily: type: object nullable: true properties: minimumRuntime: {$ref: '#/components/schemas/RunTimeNullable'} maximumRuntime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDowntime: {$ref: '#/components/schemas/DownTimeNullable'} hotToColdTime: {$ref: '#/components/schemas/TransitionTimeNullable'} hotToIntermediateTime: {$ref: '#/components/schemas/TransitionTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} additionalProperties: false runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} additionalProperties: false required: [hour] additionalProperties: false unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: emergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false economicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false additionalProperties: false required: [hour] additionalProperties: false rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} rampRate: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRateCurves: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRateCurve: type: array nullable: true items: type: object properties: mw: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateUp: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateDown: {$ref: '#/components/schemas/MWRampRateNullable'} rampRateBidirectional: {$ref: '#/components/schemas/MWRampRateNullable'} required: [mw] additionalProperties: false maxItems: 10 required: [hour] additionalProperties: false energyOfferHourly: type: array items: type: object nullable: true properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 10 required: [slope, priceCurveSegments] additionalProperties: false additionalProperties: false required: [hour] additionalProperties: false required: [offerType, market, assignmentType] additionalProperties: false ESRImmResourceAssignmentItem: type: object properties: offerType: type: string enum: [esrImmOffer] example: esrImmOffer market: {$ref: '#/components/schemas/MarketType'} assignmentType: {$ref: '#/components/schemas/IMMScheduleType'} costScheduleId: {type: integer} startupCostsDaily: type: object nullable: true properties: startupCost: {$ref: '#/components/schemas/OpCostNullable'} additionalProperties: false noLoadCostsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} cost: {$ref: '#/components/schemas/OpCostNullable'} required: [hour] additionalProperties: false commitStatusHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} status: {$ref: '#/components/schemas/ESRCommitStatusNullable'} required: [hour] additionalProperties: false runtimesDaily: type: object nullable: true properties: minimumChargeTime: {$ref: '#/components/schemas/RunTimeNullable'} maximumChargeTime: {$ref: '#/components/schemas/MaxRunTimeNullable'} minimumDischargeTime: {$ref: '#/components/schemas/RunTimeNullable'} maximumDischargeTime: {$ref: '#/components/schemas/MaxRunTimeNullable'} maximumDailyStarts: {type: integer, nullable: true} maximumDailyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} maximumWeeklyStarts: {type: integer, nullable: true} maximumWeeklyEnergy: {$ref: '#/components/schemas/RealEnergyResultsSignedNullable'} additionalProperties: false runtimesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} runtimesHourlyDetail: type: object nullable: true properties: coldStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} intermediateStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} hotStartTime: {$ref: '#/components/schemas/StartupTimeNullable'} coldNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} intermediateNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} hotNotificationTime: {$ref: '#/components/schemas/NotificationTimeNullable'} additionalProperties: false required: [hour] additionalProperties: false unitLimitsHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} unitLimitsHourlyDetail: type: object nullable: true properties: chargeEmergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} additionalProperties: false chargeEconomicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} additionalProperties: false chargeRegulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} maxMW: {$ref: '#/components/schemas/RealEnergyNegativeNullable'} additionalProperties: false dischargeEmergencyLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} maxMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} additionalProperties: false dischargeEconomicLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} maxMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} additionalProperties: false dischargeRegulationLimits: type: object description: Either one or both the MW limit properties can be submitted to update the unit limit pair with a MW value or with a null. Submitting mixed null and MW values when both are submitted is not allowed. nullable: true properties: minMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} maxMW: {$ref: '#/components/schemas/RealEnergySignedNullable'} additionalProperties: false offlineResourceLimit: {$ref: '#/components/schemas/RealEnergyNullable'} offlineShortTermReserveLimit: {$ref: '#/components/schemas/RealEnergyNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRatesHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRatesHourlyDetail: type: object nullable: true properties: enableRampRateCurvesHourly: {type: boolean, example: true} chargeRampRate: {$ref: '#/components/schemas/MWRampRateNullable'} dischargeRampRate: {$ref: '#/components/schemas/MWRampRateNullable'} additionalProperties: false required: [hour] additionalProperties: false rampRateCurves: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} rampRateCurve: type: array nullable: true items: type: object properties: mw: {$ref: '#/components/schemas/MWRampRateNullable'} chargeRampRate: {$ref: '#/components/schemas/MWRampRateNullable'} dischargeRampRate: {$ref: '#/components/schemas/MWRampRateNullable'} required: [mw] additionalProperties: false maxItems: 10 required: [hour] additionalProperties: false energyOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} energyOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 10 required: [slope, priceCurveSegments] additionalProperties: false required: [hour] additionalProperties: false regulationOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} regulationOfferHourlyDetail: type: object nullable: true properties: offerPrice: {$ref: '#/components/schemas/MarketPriceNullable'} totalRegCost: {$ref: '#/components/schemas/MarketPriceNullable'} mileageOfferPrice: {$ref: '#/components/schemas/MarketPriceNullable'} additionalProperties: false required: [hour] additionalProperties: false spinningOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} spinningOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false required: [hour] additionalProperties: false onlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false required: [hour] additionalProperties: false offlineSuppOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} suppOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false required: [hour] additionalProperties: false offlineShortTermReserveOfferHourly: type: array items: type: object properties: hour: {$ref: '#/components/schemas/HourLabel'} shortTermReserveOfferHourlyDetail: type: object nullable: true properties: offerPriceCurve: type: object description: The scheduled price curve for a given hour ending. nullable: true properties: slope: {type: boolean, description: If slope is true then curve is interpreted as a piece-wise linear curve otherwise it is treated as a block curve. A curve with no segments is given the default slope value of false.} priceCurveSegments: type: array items: type: object properties: mw: {$ref: '#/components/schemas/RealEnergy'} price: {$ref: '#/components/schemas/MarketPrice'} required: [mw, price] additionalProperties: false maxItems: 3 required: [slope, priceCurveSegments] additionalProperties: false additionalProperties: false required: [hour] additionalProperties: false required: [offerType, market, assignmentType] additionalProperties: false CurrentOperatingResourceStartStop: type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} pnodes: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} intervals: type: array items: type: object properties: type: type: string enum: [START, STOP] interval: {$ref: '#/components/schemas/MarketIntervalLabel'} deployStatus: type: string enum: [online, offline] deployReason: type: string enum: [CRD] required: [type, interval] additionalProperties: false required: [pnodeName, intervals] additionalProperties: false required: [day] additionalProperties: false CaseEventNotification: type: object properties: caseEvents: type: array minItems: 1 items: type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} interval: {$ref: '#/components/schemas/MarketIntervalLabel'} eventType: type: string enum: [CaseApproved, CaseSolved] eventTime: {$ref: '#/components/schemas/MarketIntervalLabel'} studyModeShortName: type: string enum: [DayAhead, DALMP, RTUDS, RTLMP] market: {$ref: '#/components/schemas/MarketType'} priceType: {$ref: '#/components/schemas/PriceTypes'} required: [day, interval, eventType, eventTime, studyModeShortName, market, priceType] required: [caseEvents] EmergencyNotification: type: object properties: messages: type: array items: type: object properties: realm: type: string enum: [Public, Private] source: {$ref: '#/components/schemas/ParticipantName'} destination: {$ref: '#/components/schemas/ParticipantName'} priority: {type: integer, minimum: 0, maximum: 999} text: {type: string, maxLength: 1027} effectiveTime: {$ref: '#/components/schemas/MarketIntervalLabel'} terminationTime: {$ref: '#/components/schemas/MarketIntervalLabel'} required: [realm, source, destination, priority, text, effectiveTime, terminationTime] required: [messages] DispatchInstructionNotification: type: object properties: dispatchInstructions: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} interval: {$ref: '#/components/schemas/MarketIntervalLabel'} energyDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} lmp: {$ref: '#/components/schemas/MarketPriceResults'} udeFlag: {type: boolean} udeReasonCode: {type: integer, multipleOf: 1, minimum: 1, maximum: 999} required: [mw, lmp] regulationDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} mileageMCP: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp, mileageMCP] spinningReserveDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] supplementalReserveDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] shortTermReserveDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] rampCapabilityUpDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] rampCapabilityDownDispatch: type: object properties: mw: {$ref: '#/components/schemas/RealEnergyResults'} mcp: {$ref: '#/components/schemas/MarketPriceResults'} required: [mw, mcp] required: [pnodeName, interval, energyDispatch, regulationDispatch, spinningReserveDispatch, supplementalReserveDispatch, rampCapabilityUpDispatch, rampCapabilityDownDispatch] required: [dispatchInstructions] ResourceStartStopNotification: type: object properties: resourceStartInstructions: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} interval: {$ref: '#/components/schemas/MarketIntervalLabel'} timestamp: {$ref: '#/components/schemas/MarketIntervalLabel'} deployStatus: type: string enum: [online] deployReason: type: string enum: [CRD] required: [pnodeName, interval, timestamp] resourceStopInstructions: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} interval: {$ref: '#/components/schemas/MarketIntervalLabel'} timestamp: {$ref: '#/components/schemas/MarketIntervalLabel'} required: [pnodeName, interval, timestamp] required: [resourceStartInstructions, resourceStopInstructions] ReserveZoneStudyStatusNotification: type: object properties: reserveZoneStudyStatus: type: array items: type: object properties: day: {$ref: '#/components/schemas/MarketOperatingDay'} status: {$ref: '#/components/schemas/StudyStatus'} required: [day, status] required: [reserveZoneStudyStatus] FinancialContractScheduleConfirmationNotification: type: object properties: unconfirmedContracts: type: array items: type: object properties: contractName: {$ref: '#/components/schemas/ContractName'} buyerName: {$ref: '#/components/schemas/ParticipantName'} sellerName: {$ref: '#/components/schemas/ParticipantName'} contractType: {$ref: '#/components/schemas/ContractType'} required: [contractName, buyerName, sellerName, contractType] unconfirmedSchedules: type: array items: type: object properties: contractName: {$ref: '#/components/schemas/ContractName'} buyerName: {$ref: '#/components/schemas/ParticipantName'} sellerName: {$ref: '#/components/schemas/ParticipantName'} contractType: {$ref: '#/components/schemas/ContractType'} scheduleDay: {$ref: '#/components/schemas/MarketOperatingDay'} required: [contractName, buyerName, sellerName, contractType, scheduleDay] required: [unconfirmedContracts, unconfirmedSchedules] ContingencyReserveDeploymentNotification: type: object properties: crDeployments: type: array items: type: object properties: pnodeName: {$ref: '#/components/schemas/PNodeName'} timestamp: {$ref: '#/components/schemas/MarketIntervalLabel'} mw: {$ref: '#/components/schemas/RealEnergyResults'} required: [pnodeName, timestamp, mw] required: [crDeployments] TransactionStateType: description: Enumeration defining the set of valid Transaction Event States. type: string enum: [FAILED, PENDING, SUCCESS] OperationType: description: Enumeration defining the set of valid operation service types corresponding to HTTP operations. type: string enum: [GET, POST, PUT, DELETE] ServiceName: description: Enumeration defining the set of valid service names. type: string enum: [portal-governor, mgms, notification, mps] TransactionEvent: description: Transaction event. type: object properties: mrid: {type: string, format: uuid} transactionId: {type: string, format: guid} eventTime: {type: string} operationType: {$ref: '#/components/schemas/OperationType'} transactionState: {$ref: '#/components/schemas/TransactionStateType'} processingTime: {type: number} serviceName: {$ref: '#/components/schemas/ServiceName'} hostName: {type: string} urlPath: {type: string} participantName: {type: string} submitterName: {type: string} httpResponseCode: {type: string} marketParticipant: type: object properties: mrid: {type: string, format: uuid} name: {type: string} TransactionEvents: description: Collection of transaction events. type: array items: {$ref: '#/components/schemas/TransactionEvent'} TransactionEventPayload: description: Transaction event payload. type: object properties: mrid: {type: string, format: uuid} payloadType: {$ref: '#/components/schemas/PayloadDocumentType'} payloadDocument: {type: string} transactionEvent: {$ref: '#/components/schemas/TransactionEvent'} TransactionEventPayloads: description: Collection of transaction event payloads. type: array items: {$ref: '#/components/schemas/TransactionEventPayload'} parameters: x-acting-participant: in: header name: x-acting-participant description: Header to override default acting participant of NERC ID. Will be validated against participant collection resource when specified in path. schema: {type: string} example: MP MarketType: in: path name: market description: Energy Market (day-ahead, real-time). required: true schema: {$ref: '#/components/schemas/MarketType'} MarketTypeIncBoth: in: path name: market description: Energy Market or both (day-ahead, real-time, or both). required: true schema: {$ref: '#/components/schemas/MarketTypeIncBoth'} MarketOperatingDay: in: path name: day description: The operating day of the data. required: true schema: {$ref: '#/components/schemas/MarketOperatingDay'} Participant: in: path name: participantName description: The NERC ID of asset owner specified in the path for a collection resource. required: true schema: {$ref: '#/components/schemas/ParticipantName'} Pnode: in: query name: pnode description: Optional parameter to specify the name of a pricing node for the requested data. If neither pnode or portfolio is provided then all applicable data is returned. required: false schema: {$ref: '#/components/schemas/PNodeName'} PnodeRequired: in: query name: pnode description: Required parameter to specify the name of a pricing node for the requested data. required: true schema: {$ref: '#/components/schemas/PNodeName'} Portfolio: in: query name: portfolio description: Optional parameter to specify the name of the Portfolio of pricing nodes for the requested data. If neither pnode or portfolio is provided then all applicable data is returned. required: false schema: {$ref: '#/components/schemas/PortfolioName'} LocationType: in: query name: locationType required: false schema: type: array minItems: 1 items: {$ref: '#/components/schemas/LocationType'} style: form explode: false Hour: in: query name: hour description: Optional parameter to specifiy the particular hour to be returned, otherwise all hours are returned. required: false schema: {$ref: '#/components/schemas/HourLabel'} responses: OkApiResponse: description: Successful operation. content: application/json: schema: {$ref: '#/components/schemas/APIResponse'} example: action: responses: [] transactionId: 34571c664e48ca0b1e30d7ffb9b3b287 transactionTime: '2020-07-02T17:45:00-05:00' headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} BadRequestApiResponse: description: User error. Request was invalid for some reason. See response for details. content: application/json: schema: {$ref: '#/components/schemas/APIResponse'} example: action: responses: - messages: - level: ERROR msgId: MESSAGE_ID params: [] userMsg: Bad request message for MESSAGE_ID. transactionId: 34571c664e48ca0b1e30d7ffb9b3b287 transactionTime: '2020-07-02T17:45:00-05:00' headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} UnauthorizedApiResponse: description: Rejected due to insufficient permissions. content: application/json: schema: {$ref: '#/components/schemas/APIResponse'} example: action: responses: - messages: - level: ERROR msgId: MESSAGE_ID params: [] userMsg: Unauthorized message for MESSAGE_ID. transactionId: 34571c664e48ca0b1e30d7ffb9b3b287 transactionTime: '2020-07-02T17:45:00-05:00' headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} NotFoundApiResponse: description: Resource not found. The path provided does not point to an entity in the system. content: application/json: schema: {$ref: '#/components/schemas/APIResponse'} example: action: responses: - messages: - level: ERROR msgId: MESSAGE_ID params: [] userMsg: Not found message for MESSAGE_ID. transactionId: 34571c664e48ca0b1e30d7ffb9b3b287 transactionTime: '2020-07-02T17:45:00-05:00' headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} InternalErrorApiResponse: description: Internal error occurred, details in server-side logs. content: application/json: schema: {$ref: '#/components/schemas/APIResponse'} example: action: responses: - messages: - level: ERROR msgId: MESSAGE_ID params: [] userMsg: Internal error message for MESSAGE_ID. transactionId: 34571c664e48ca0b1e30d7ffb9b3b287 transactionTime: '2020-07-02T17:45:00-05:00' headers: http-x-request-id: {$ref: '#/components/headers/http-x-request-id'} headers: http-x-request-id: description: Response header contains a unique transaction identifier assigned by MUI. Identifier is a GUID represented without hyphens. schema: {type: string, format: guid} example: 34571c664e48ca0b1e30d7ffb9b3b287