MISO Notifications Format API

The Notifications Format API from MISO — 7 operation(s) for notifications format.

OpenAPI Specification

miso-notifications-format-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 Notifications Format 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: Notifications Format
paths:
  /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.
components:
  schemas:
    MarketOperatingDay:
      description: Effective Market operating day of data. RFC 3339. 'YYYY-MM-DD'.
      type: string
      format: date
      example: '2019-03-14'
    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
    ContractName:
      description: Bilateral contract name.
      type: string
      minLength: 1
      maxLength: 50
      example: Test Contract
    PNodeName:
      description: Commercial Pricing Node (PNode) name.
      type: string
      minLength: 1
      maxLength: 30
      example: PNODE1
    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
    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
    ParticipantName:
      description: Market participant name.
      type: string
      minLength: 1
      maxLength: 40
      example: MP
    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
    PriceTypes:
      description: Range of market pricing types.
      type: string
      enum:
      - ExAnte
      - ExPost
      example: ExPost
    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
    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
    StudyStatus:
      description: The status of the reserve zone study for a given market day.
      type: string
      enum:
      - Complete
      - Incomplete
    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
    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
    ContractType:
      description: The type of contract established between two participants.
      type: string
      enum:
      - PureFinancial
      - GrandFathered
      - PseudoTie
    MarketType:
      description: Energy Market types.
      type: string
      enum:
      - day-ahead
      - real-time
    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'