MISO Reports API

The Reports API from MISO — 14 operation(s) for reports.

Operations 14

GET /markets/day-ahead/{day}/reports/lmp-exante #
GET /markets/day-ahead/{day}/reports/lmp-expost #
GET /markets/day-ahead/{day}/reports/lf-hourly #
GET /markets/real-time/{day}/reports/lmp-exante #
GET /markets/real-time/{day}/reports/lmp-expost #
GET /markets/real-time/{day}/reports/hourly-lmp-expost #
GET /markets/day-ahead/{day}/reports/locational-results/participants/{participantName} #
GET /markets/common/{day}/reports/dist-factors #
GET /markets/day-ahead/{day}/reports/market-wide-results #
GET /markets/day-ahead/{day}/reports/zonal-lmp-exante #
GET /markets/day-ahead/{day}/reports/zonal-lmp-expost #
GET /markets/day-ahead/{day}/reports/binding-limits #
GET /markets/real-time/{day}/reports/zonal-lmp-exante #
GET /markets/real-time/{day}/reports/zonal-lmp-expost #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/miso-reports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

miso-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: MISO Public Specification to support Market System Enhancement (MSE) new Market User Interface (MUI 2.0).
  title: MUI - Public Specification Reports API
  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/
tags:
- name: Reports
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/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/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/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'
components:
  responses:
    InternalErrorApiResponse:
      description: Internal error occurred, details in server-side logs.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/APIResponse'
          example:
            action: <action enum>
            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'
    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: <action enum>
            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'
    BadRequestApiResponse:
      description: User error. Request was invalid for some reason. See response for details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/APIResponse'
          example:
            action: <action enum>
            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: <action enum>
            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'
  schemas:
    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
    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
    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
    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
    DayAheadMarketWideResults:
      description: Hourly Day-Ahead summary of market wide results.
      type: object
      properties:
        day:
          $ref: '#/components/schemas/MarketOperatingDay'
        hours:
          type:
          - array
          - 'null'
          minItems: 0
          maxItems: 24
          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/RealEnergyResult

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/miso/refs/heads/main/openapi/miso-reports-api-openapi.yml