Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.1",
"info": {
"title": "Load Outage Forecast API",
"description": "Load outages submitted to the AESO.",
"version": "v1"
},
"servers": [
{
"url": "https://apimgw.aeso.ca/public/loadoutageforecast-api"
},
{
"url": "https://gateway-apim.aeso.ca/public/loadoutageforecast-api"
}
],
"paths": {
"/loadOutageReport": {
"get": {
"operationId": "getLoadOutageRangeReport",
"summary": "Fetch hourly load outages submitted to AESO",
"description": "Fetch hourly load outage forecast for a given date or date range. \r\nIf only the startDate is provided, data will only be provided for that day. \r\n",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoadOutageVO"
},
"examples": {
"default": {
"value": {
"loadOutagePerHourVO": [
{
"begin_datetime_utc": "string",
"begin_datetime_mpt": "string",
"load_outage_forecast (in MW)": 0
}
]
}
}
}
}
}
},
"400": {
"description": "Bad Request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not Found"
},
"405": {
"description": "Invalid method"
},
"500": {
"description": "Internal server error"
},
"503": {
"description": "Service unavailable"
}
},
"parameters": [
{
"name": "startDate",
"in": "query",
"required": true,
"description": "Date (yyyy-mm-dd) from 2013-09-22, and up to 24 months in the future.",
"schema": {
"$ref": "#/components/schemas/LoadOutageReportGetRequest"
}
},
{
"name": "endDate",
"in": "query",
"required": false,
"description": "Date (yyyy-mm-dd) equal or after startDate, and up to 24 months in the future. If blank, data for the startDate will be returned.",
"schema": {
"$ref": "#/components/schemas/LoadOutageReportGetRequest-1"
}
}
]
}
}
},
"components": {
"securitySchemes": {
"apiKeyHeader": {
"type": "apiKey",
"name": "API-KEY",
"in": "header"
},
"apiKeyQuery": {
"type": "apiKey",
"name": "subscription-key",
"in": "query"
}
},
"schemas": {
"LoadOutagePerHourVO": {
"type": "object",
"properties": {
"begin_datetime_utc": {
"type": "string",
"description": "Begin timestamp of the hour for the load outage, in UTC."
},
"begin_datetime_mpt": {
"type": "string",
"description": "Begin timestamp of the hour for the load outage, in MPT (Mountain Prevailing Time)."
},
"load_outage_forecast (in MW)": {
"type": "number",
"description": "Aggregated forecasted value of Load Outages for the hour, in MW.\r\n",
"format": "double"
}
}
},
"LoadOutageVO": {
"type": "object",
"properties": {
"loadOutagePerHourVO": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LoadOutagePerHourVO"
}
}
}
},
"HealthComponent": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"SystemHealth": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"status": {
"type": "string"
},
"components": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/HealthComponent"
}
},
"details": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/HealthComponent"
}
},
"groups": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
}
}
},
"LoadOutageReportGetRequest": {
"pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$",
"type": "string",
"x-apim-inline": true
},
"LoadOutageReportGetRequest-1": {
"pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$",
"type": "string",
"x-apim-inline": true
}
}
},
"security": [
{},
{
"apiKeyHeader": []
},
{
"apiKeyQuery": []
}
],
"x-provenance": {
"harvestedBy": "API Evangelist",
"harvestedOn": "2026-07-27",
"sourcePortal": "https://developer-apim.aeso.ca/",
"method": "Assembled verbatim from the AESO Azure API Management developer-portal data API, which is served anonymously. AESO's own OpenAPI export (?export=true&format=openapi) returns a valid document with an EMPTY paths object, so paths, parameters, responses, examples and component schemas were read from the portal's operations/ and schemas/ endpoints and reassembled without alteration. Nothing was invented.",
"sources": [
{
"url": "https://developer-apim.aeso.ca/developer/apis/loadoutageforecast-api-v1?api-version=2022-04-01-preview",
"status": 200,
"note": "API metadata"
},
{
"url": "https://developer-apim.aeso.ca/developer/apis/loadoutageforecast-api-v1?export=true&format=openapi%2Bjson&api-version=2022-04-01-preview",
"status": 200,
"note": "AESO OpenAPI export (empty paths) - basis for info/servers/security"
},
{
"url": "https://developer-apim.aeso.ca/developer/apis/loadoutageforecast-api-v1/operations?api-version=2022-04-01-preview",
"status": 200,
"note": "operation list"
},
{
"url": "https://developer-apim.aeso.ca/developer/apis/loadoutageforecast-api-v1/schemas?api-version=2022-04-01-preview",
"status": 200,
"note": "schema list"
},
{
"url": "https://developer-apim.aeso.ca/developer/apis/loadoutageforecast-api-v1/operations/getLoadOutageRangeReport?api-version=2022-04-01-preview",
"status": 200,
"note": "operation detail"
},
{
"url": "https://developer-apim.aeso.ca/developer/apis/loadoutageforecast-api-v1/schemas/68347a95445a9615c44eeb17?api-version=2022-04-01-preview",
"status": 200,
"note": "schema document"
}
]
}
}