AEMO Outage Management API

Outage Management

Operations 8

POST /outageData/generatorOutages Create a new Generator Outage in Outage Management System #
POST /outageData/networkOutages Create a new Network Outage in Outage Management System #
GET /outageData/{outageNumber} Get particular Outage #
GET /outageData/status Retrieve Latest Outage Status for Network Operator #
GET /outageData Retrieve Outage from Outage Management #
PUT /outageData/networkOutages/{outageNumber} Update existing Network Outage in Outage Management System #
PUT /outageData/networkOutages/{outageNumber}/withdraw Withdraw existing Network Outage in Outage Management System #
PUT /outageData/networkOutages/bulkWithdraw Withdraw existing Network Outages in Outage Management System #

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/aemo-outage-management-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 email required.

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

OpenAPI Specification

aemo-outage-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Outage Management API
  version: '3.0'
  x-origin:
  - format: openapi
    source: AEMO API Management developer portal
    url: https://dev.aemo.com.au/developer/apis/outage-management-external-v1/operations?api-version=2022-04-01-preview
  description: Outage Management
servers:
- url: https://api-prd.aemo.local/WEM/v1/outageManagement
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Outage Management
  description: Outage Management
paths:
  /outageData/generatorOutages:
    post:
      operationId: createANewGeneratorOutageInOutageManagementSystem
      summary: Create a new Generator Outage in Outage Management System
      tags:
      - Outage Management
      description: Submit one Generator Outage synchronously
      parameters:
      - name: x-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
        description: The id of the Initiating Participant
      - name: x-market
        in: header
        required: true
        schema:
          type: string
        description: The id of the market
      requestBody:
        content:
          application/json-patch+json:
            example:
              details:
                outageType: Forced
                outageDescription: string
                forcedOutageNotificationDate: string
              duration:
                commencementInterval: string
                endInterval: string
              contingencyPlanInformation:
                riskOfExtension: High
                estimatedRecoveryHours: 0
                estimatedRecoveryMinutes: 0
                contingencyPlan: string
              availabilityDeclaration:
                exemptionAppliesFlag: 'False'
                exemptionReasons: string
              associatedOutageDetails:
                relatedOutages:
                - outageNumber: 0
                  relationshipDetails: string
                switchingRequired: true
              serviceReduction:
                facilityCode: string
                facilityRAC: 0
                energy:
                - technologyTypeCode: string
                  technologyTypeRAC: 0
                essentialSystemServices:
                - serviceType: string
                  serviceAvailability: In Service
                  serviceRAC: 0
          application/json:
            example:
              details:
                outageType: Forced
                outageDescription: string
                forcedOutageNotificationDate: string
              duration:
                commencementInterval: string
                endInterval: string
              contingencyPlanInformation:
                riskOfExtension: High
                estimatedRecoveryHours: 0
                estimatedRecoveryMinutes: 0
                contingencyPlan: string
              availabilityDeclaration:
                exemptionAppliesFlag: 'False'
                exemptionReasons: string
              associatedOutageDetails:
                relatedOutages:
                - outageNumber: 0
                  relationshipDetails: string
                switchingRequired: true
              serviceReduction:
                facilityCode: string
                facilityRAC: 0
                energy:
                - technologyTypeCode: string
                  technologyTypeRAC: 0
                essentialSystemServices:
                - serviceType: string
                  serviceAvailability: In Service
                  serviceRAC: 0
          text/json:
            example:
              details:
                outageType: Forced
                outageDescription: string
                forcedOutageNotificationDate: string
              duration:
                commencementInterval: string
                endInterval: string
              contingencyPlanInformation:
                riskOfExtension: High
                estimatedRecoveryHours: 0
                estimatedRecoveryMinutes: 0
                contingencyPlan: string
              availabilityDeclaration:
                exemptionAppliesFlag: 'False'
                exemptionReasons: string
              associatedOutageDetails:
                relatedOutages:
                - outageNumber: 0
                  relationshipDetails: string
                switchingRequired: true
              serviceReduction:
                facilityCode: string
                facilityRAC: 0
                energy:
                - technologyTypeCode: string
                  technologyTypeRAC: 0
                essentialSystemServices:
                - serviceType: string
                  serviceAvailability: In Service
                  serviceRAC: 0
          application/*+json:
            example:
              details:
                outageType: Forced
                outageDescription: string
                forcedOutageNotificationDate: string
              duration:
                commencementInterval: string
                endInterval: string
              contingencyPlanInformation:
                riskOfExtension: High
                estimatedRecoveryHours: 0
                estimatedRecoveryMinutes: 0
                contingencyPlan: string
              availabilityDeclaration:
                exemptionAppliesFlag: 'False'
                exemptionReasons: string
              associatedOutageDetails:
                relatedOutages:
                - outageNumber: 0
                  relationshipDetails: string
                switchingRequired: true
              serviceReduction:
                facilityCode: string
                facilityRAC: 0
                energy:
                - technologyTypeCode: string
                  technologyTypeRAC: 0
                essentialSystemServices:
                - serviceType: string
                  serviceAvailability: In Service
                  serviceRAC: 0
      responses:
        '200':
          description: 'null'
          content:
            application/json:
              example:
                data:
                  outage:
                    details:
                      outageNumber: 0
                      outageVersionNumber: 0
                      outageType: Forced
                      outageStatus: Accepted
                      outageSource: Network
                      outageDescription: string
                      firstSubmissionDateTime: string
                      lastModifiedDateTime: string
                      lastModifiedUser: string
                      forcedOutageNotificationDate: string
                      originator: string
                    duration:
                      commencementInterval: string
                      endInterval: string
                    equipments:
                      secondaryEquipmentFlag: true
                      equipmentListFlag: EL
                      equipmentList:
                      - equipmentId: string
                    serviceReduction:
                      facilityCode: string
                      facilityRAC: 0
                      energy:
                      - technologyTypeCode: string
                        technologyTypeRAC: 0
                      essentialSystemServices:
                      - serviceType: string
                        serviceAvailability: In Service
                        serviceRAC: 0
                    assessmentInformation:
                      atRiskFlag: true
                      responseToParticipant: string
                    contingencyPlanInformation:
                      riskOfExtension: High
                      estimatedRecoveryHours: 0
                      estimatedRecoveryMinutes: 0
                      contingencyPlan: string
                    availabilityDeclaration:
                      exemptionAppliesFlag: 'False'
                      exemptionReasons: string
                    associatedOutageDetails:
                      relatedOutages:
                      - outageNumber: 0
                        relationshipDetails: string
                      switchingRequired: true
                    contactInformation:
                      notifications:
                      - notificationEmailAddress: string
                      additionalDetails: string
                    permissionFlags:
                      ptpAndPtrRequired: true
                    temporaryRestoration:
                      temporaryRestoredFlag: true
                      restorationPeriods:
                      - pauseInterval: string
                        recommenceInterval: string
                    pointOfIsolation:
                      points:
                      - pointOfIsolation: string
                    impacts:
                      operationalImpact: string
                      impactsThirdParty: true
                      facilitiesImpacted: string
                      thirdPartyNotified: true
                      scadaChangeFlag: true
                      systemAlterationFlag: true
                    permits:
                      permitType: string
                    limitAdvice:
                      limitAdviceRequired: 'No'
                      limitAdviceDescription: string
                    associatedConstraintSets:
                    - constraintSetId: string
                    aemoUpdates:
                      dateTimeOfNotification: string
        '400':
          description: Bad request
          content:
            application/json:
              examples:
                missingHeader:
                  summary: Missing mandatory HTTP header parameter
                  value:
                    transactionId: 61361d96-f20d-43a7-bkdf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '400'
                      title: Missing mandatory HTTP header parameter
                      detail: Mandatory HTTP header <headerName> is missing
                      source: ''
        '401':
          description: Unauthorized
          content:
            application/json:
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    transactionId: 9a8e902a-ed40-45f3-b075-7a644b12947f
                    data: {}
                    errors:
                    - code: '401'
                      title: Unauthorized
                      detail: Unauthorized
                      source: ''
                initiatingParticipantIdMismatch:
                  summary: x-initiatingParticipantId does not match with participant id associated with certificate
                  value:
                    transactionId: 9a8e902a-ed40-45f3-u475-7a644b12947f
                    data: {}
                    errors:
                    - code: '401'
                      title: Unauthorized
                      detail: x-initiatingParticipantId does not match with participant id associated with certificate
                      source: ''
        '404':
          description: Not Found
          content:
            application/json:
              examples:
                resourceNotFound:
                  summary: Resource Not Found
                  value:
                    transactionId: 61361d96-f09d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '404'
                      title: Not Found
                      detail: Resources for the endpoint URI not found. Endpoint URI:<URI>
                      source: ''
        '405':
          description: Method not allowed
          content:
            application/json:
              examples:
                methodNotAllowed:
                  summary: Method Not Allowed
                  value:
                    transactionId: 61361d96-z20d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '405'
                      title: Method Not Allowed
                      detail: 'Input request HTTP method is <invokedMethod> but operation <operationURI> accepts only: [<operationMethod>]'
                      source: ''
        '413':
          description: Payload Too Large
          content:
            application/json:
              examples:
                payloadTooLarge:
                  summary: Payload Too Large
                  value:
                    transactionId: dc6826bc-1c0d-498b-b474-2b231910860c
                    data: {}
                    errors:
                    - code: '413'
                      title: Payload Too Large
                      detail: Maximum allowed size for the <request/response> body is <payload size limit> bytes (<size limit> MB). This <request/response> has size of <number of bytes> bytes
                      source: ''
        '429':
          description: Too many request
          content:
            application/json:
              examples:
                tooManyRequests:
                  summary: Too Many Requests
                  value:
                    transactionId: 63361d96-f20d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '429'
                      title: Too Many Requests
                      detail: Number of inbound requests exceeded the throttling limits; try after sometime
                      source: ''
        '500':
          description: Application unavailable
          content:
            application/json:
              examples:
                applicationUnavailable:
                  summary: Application Unavailable
                  value: ''
  /outageData/networkOutages:
    post:
      operationId: createANewNetworkOutageInOutageManagementSystem
      summary: Create a new Network Outage in Outage Management System
      tags:
      - Outage Management
      description: Submit one Network Outage synchronously
      parameters:
      - name: x-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
        description: The id of the Initiating Participant
      - name: x-market
        in: header
        required: true
        schema:
          type: string
        description: The id of the market
      requestBody:
        content:
          application/json-patch+json:
            example:
              details:
                outageType: Forced
                outageDescription: string
                forcedOutageNotificationDate: string
              duration:
                commencementInterval: string
                endInterval: string
              temporaryRestoration:
                temporaryRestoredFlag: true
                restorationPeriods:
                - pauseInterval: string
                  recommenceInterval: string
              equipments:
                secondaryEquipmentFlag: true
                equipmentListFlag: EL
                equipmentList:
                - equipmentId: string
              pointsOfIsolation:
                points:
                - pointOfIsolation: string
              contingencyPlanInformation:
                riskOfExtension: High
                estimatedRecoveryHours: 0
                estimatedRecoveryMinutes: 0
                contingencyPlan: string
              availabilityDeclaration:
                exemptionAppliesFlag: 'False'
                exemptionReasons: string
              associatedOutageDetails:
                relatedOutages:
                - outageNumber: 0
                  relationshipDetails: string
                switchingRequired: true
              impacts:
                operationalImpact: string
                impactsThirdParty: true
                facilitiesImpacted: string
                thirdPartyNotified: true
                scadaChangeFlag: true
                systemAlterationFlag: true
              permits:
                permitType: string
              limitAdvice:
                limitAdviceRequired: 'No'
                limitAdviceDescription: string
              contactInformation:
                notifications:
                - notificationEmailAddress: string
                additionalDetails: string
              serviceReduction:
                facilityCode: string
                facilityRAC: 0
                energy:
                - technologyTypeCode: string
                  technologyTypeRAC: 0
                essentialSystemServices:
                - serviceType: string
                  serviceAvailability: In Service
                  serviceRAC: 0
          application/json:
            example:
              details:
                outageType: Forced
                outageDescription: string
                forcedOutageNotificationDate: string
              duration:
                commencementInterval: string
                endInterval: string
              temporaryRestoration:
                temporaryRestoredFlag: true
                restorationPeriods:
                - pauseInterval: string
                  recommenceInterval: string
              equipments:
                secondaryEquipmentFlag: true
                equipmentListFlag: EL
                equipmentList:
                - equipmentId: string
              pointsOfIsolation:
                points:
                - pointOfIsolation: string
              contingencyPlanInformation:
                riskOfExtension: High
                estimatedRecoveryHours: 0
                estimatedRecoveryMinutes: 0
                contingencyPlan: string
              availabilityDeclaration:
                exemptionAppliesFlag: 'False'
                exemptionReasons: string
              associatedOutageDetails:
                relatedOutages:
                - outageNumber: 0
                  relationshipDetails: string
                switchingRequired: true
              impacts:
                operationalImpact: string
                impactsThirdParty: true
                facilitiesImpacted: string
                thirdPartyNotified: true
                scadaChangeFlag: true
                systemAlterationFlag: true
              permits:
                permitType: string
              limitAdvice:
                limitAdviceRequired: 'No'
                limitAdviceDescription: string
              contactInformation:
                notifications:
                - notificationEmailAddress: string
                additionalDetails: string
              serviceReduction:
                facilityCode: string
                facilityRAC: 0
                energy:
                - technologyTypeCode: string
                  technologyTypeRAC: 0
                essentialSystemServices:
                - serviceType: string
                  serviceAvailability: In Service
                  serviceRAC: 0
          text/json:
            example:
              details:
                outageType: Forced
                outageDescription: string
                forcedOutageNotificationDate: string
              duration:
                commencementInterval: string
                endInterval: string
              temporaryRestoration:
                temporaryRestoredFlag: true
                restorationPeriods:
                - pauseInterval: string
                  recommenceInterval: string
              equipments:
                secondaryEquipmentFlag: true
                equipmentListFlag: EL
                equipmentList:
                - equipmentId: string
              pointsOfIsolation:
                points:
                - pointOfIsolation: string
              contingencyPlanInformation:
                riskOfExtension: High
                estimatedRecoveryHours: 0
                estimatedRecoveryMinutes: 0
                contingencyPlan: string
              availabilityDeclaration:
                exemptionAppliesFlag: 'False'
                exemptionReasons: string
              associatedOutageDetails:
                relatedOutages:
                - outageNumber: 0
                  relationshipDetails: string
                switchingRequired: true
              impacts:
                operationalImpact: string
                impactsThirdParty: true
                facilitiesImpacted: string
                thirdPartyNotified: true
                scadaChangeFlag: true
                systemAlterationFlag: true
              permits:
                permitType: string
              limitAdvice:
                limitAdviceRequired: 'No'
                limitAdviceDescription: string
              contactInformation:
                notifications:
                - notificationEmailAddress: string
                additionalDetails: string
              serviceReduction:
                facilityCode: string
                facilityRAC: 0
                energy:
                - technologyTypeCode: string
                  technologyTypeRAC: 0
                essentialSystemServices:
                - serviceType: string
                  serviceAvailability: In Service
                  serviceRAC: 0
          application/*+json:
            example:
              details:
                outageType: Forced
                outageDescription: string
                forcedOutageNotificationDate: string
              duration:
                commencementInterval: string
                endInterval: string
              temporaryRestoration:
                temporaryRestoredFlag: true
                restorationPeriods:
                - pauseInterval: string
                  recommenceInterval: string
              equipments:
                secondaryEquipmentFlag: true
                equipmentListFlag: EL
                equipmentList:
                - equipmentId: string
              pointsOfIsolation:
                points:
                - pointOfIsolation: string
              contingencyPlanInformation:
                riskOfExtension: High
                estimatedRecoveryHours: 0
                estimatedRecoveryMinutes: 0
                contingencyPlan: string
              availabilityDeclaration:
                exemptionAppliesFlag: 'False'
                exemptionReasons: string
              associatedOutageDetails:
                relatedOutages:
                - outageNumber: 0
                  relationshipDetails: string
                switchingRequired: true
              impacts:
                operationalImpact: string
                impactsThirdParty: true
                facilitiesImpacted: string
                thirdPartyNotified: true
                scadaChangeFlag: true
                systemAlterationFlag: true
              permits:
                permitType: string
              limitAdvice:
                limitAdviceRequired: 'No'
                limitAdviceDescription: string
              contactInformation:
                notifications:
                - notificationEmailAddress: string
                additionalDetails: string
              serviceReduction:
                facilityCode: string
                facilityRAC: 0
                energy:
                - technologyTypeCode: string
                  technologyTypeRAC: 0
                essentialSystemServices:
                - serviceType: string
                  serviceAvailability: In Service
                  serviceRAC: 0
      responses:
        '200':
          description: 'null'
          content:
            application/json:
              example:
                data:
                  outage:
                    details:
                      outageNumber: 0
                      outageVersionNumber: 0
                      outageType: Forced
                      outageStatus: Accepted
                      outageSource: Network
                      outageDescription: string
                      firstSubmissionDateTime: string
                      lastModifiedDateTime: string
                      lastModifiedUser: string
                      forcedOutageNotificationDate: string
                      originator: string
                    duration:
                      commencementInterval: string
                      endInterval: string
                    equipments:
                      secondaryEquipmentFlag: true
                      equipmentListFlag: EL
                      equipmentList:
                      - equipmentId: string
                    serviceReduction:
                      facilityCode: string
                      facilityRAC: 0
                      energy:
                      - technologyTypeCode: string
                        technologyTypeRAC: 0
                      essentialSystemServices:
                      - serviceType: string
                        serviceAvailability: In Service
                        serviceRAC: 0
                    assessmentInformation:
                      atRiskFlag: true
                      responseToParticipant: string
                    contingencyPlanInformation:
                      riskOfExtension: High
                      estimatedRecoveryHours: 0
                      estimatedRecoveryMinutes: 0
                      contingencyPlan: string
                    availabilityDeclaration:
                      exemptionAppliesFlag: 'False'
                      exemptionReasons: string
                    associatedOutageDetails:
                      relatedOutages:
                      - outageNumber: 0
                        relationshipDetails: string
                      switchingRequired: true
                    contactInformation:
                      notifications:
                      - notificationEmailAddress: string
                      additionalDetails: string
                    permissionFlags:
                      ptpAndPtrRequired: true
                    temporaryRestoration:
                      temporaryRestoredFlag: true
                      restorationPeriods:
                      - pauseInterval: string
                        recommenceInterval: string
                    pointOfIsolation:
                      points:
                      - pointOfIsolation: string
                    impacts:
                      operationalImpact: string
                      impactsThirdParty: true
                      facilitiesImpacted: string
                      thirdPartyNotified: true
                      scadaChangeFlag: true
                      systemAlterationFlag: true
                    permits:
                      permitType: string
                    limitAdvice:
                      limitAdviceRequired: 'No'
                      limitAdviceDescription: string
                    associatedConstraintSets:
                    - constraintSetId: string
                    aemoUpdates:
                      dateTimeOfNotification: string
        '400':
          description: Bad request
          content:
            application/json:
              examples:
                missingHeader:
                  summary: Missing mandatory HTTP header parameter
                  value:
                    transactionId: 61361d96-f20d-43a7-bkdf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '400'
                      title: Missing mandatory HTTP header parameter
                      detail: Mandatory HTTP header <headerName> is missing
                      source: ''
        '401':
          description: Unauthorized
          content:
            application/json:
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    transactionId: 9a8e902a-ed40-45f3-b075-7a644b12947f
                    data: {}
                    errors:
                    - code: '401'
                      title: Unauthorized
                      detail: Unauthorized
                      source: ''
                initiatingParticipantIdMismatch:
                  summary: x-initiatingParticipantId does not match with participant id associated with certificate
                  value:
                    transactionId: 9a8e902a-ed40-45f3-u475-7a644b12947f
                    data: {}
                    errors:
                    - code: '401'
                      title: Unauthorized
                      detail: x-initiatingParticipantId does not match with participant id associated with certificate
                      source: ''
        '404':
          description: Not Found
          content:
            application/json:
              examples:
                resourceNotFound:
                  summary: Resource Not Found
                  value:
                    transactionId: 61361d96-f09d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '404'
                      title: Not Found
                      detail: Resources for the endpoint URI not found. Endpoint URI:<URI>
                      source: ''
        '405':
          description: Method not allowed
          content:
            application/json:
              examples:
                methodNotAllowed:
                  summary: Method Not Allowed
                  value:
                    transactionId: 61361d96-z20d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '405'
                      title: Method Not Allowed
                      detail: 'Input request HTTP method is <invokedMethod> but operation <operationURI> accepts only: [<operationMethod>]'
                      source: ''
        '413':
          description: Payload Too Large
          content:
            application/json:
              examples:
                payloadTooLarge:
                  summary: Payload Too Large
                  value:
                    transactionId: dc6826bc-1c0d-498b-b474-2b231910860c
                    data: {}
                    errors:
                    - code: '413'
                      title: Payload Too Large
                      detail: Maximum allowed size for the <request/response> body is <payload size limit> bytes (<size limit> MB). This <request/response> has size of <number of bytes> bytes
                      source: ''
        '429':
          description: Too many request
          content:
            application/json:
              examples:
                tooManyRequests:
                  summary: Too Many Requests
                  value:
                    transactionId: 63361d96-f20d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '429'
                      title: Too Many Requests
                      detail: Number of inbound requests exceeded the throttling limits; try after sometime
                      source: ''
        '500':
          description: Application unavailable
          content:
            application/json:
              examples:
                applicationUnavailable:
                  summary: Application Unavailable
                  value: ''
  /outageData/{outageNumber}:
    get:
      operationId: getParticularOutage
      summary: Get particular Outage
      tags:
      - Outage Management
      description: Get particular Outage
      parameters:
      - name: outageNumber
        in: path
        required: true
        schema:
          type: integer
        description: Format - int64. Outage Number required to be retrieved
      - name: x-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
        description: The id of the Initiating Participant
      - name: x-market
        in: header
        required: true
        schema:
          type: string
        description: The id of the market
      responses:
        '200':
          description: 'null'
          content:
            application/json:
              example:
                data:
                  outage:
                    details:
                      outageNumber: 0
                      outageVersionNumber: 0
                      outageType: Forced
                      outageStatus: Accepted
                      outageSource: Network
                      outageDescription: string
                      firstSubmissionDateTime: string
                      lastModifiedDateTime: string
                      lastModifiedUser: string
                  

# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aemo/refs/heads/main/openapi/aemo-outage-management-api-openapi.yml