Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.1",
"info": {
"title": "AIES Gen Capacity API",
"description": "AIES generation capacity and outages submitted to the AESO.",
"version": "v1"
},
"servers": [
{
"url": "https://apimgw.aeso.ca/public/aiesgencapacity-api"
},
{
"url": "https://gateway-apim.aeso.ca/public/aiesgencapacity-api"
}
],
"paths": {
"/AIESGenCapacity": {
"get": {
"operationId": "getAIESControlReport",
"summary": "Fetch AIES generation capacity and outages",
"description": "Fetch AIES generation capacity and outages grouped by fuel and sub-fuel type for a date range. The data is available from 1-Jan-2011 to 24 months in future. Note that the API cannot fetch more than 31 days of data in a single request.",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AIESReportVO"
},
"examples": {
"default": {
"value": {
"fuel_type": "string",
"sub_fuel_type": "string",
"Hours": [
{
"begin_datetime_utc": "string",
"begin_datetime_mpt": "string",
"outage_grouping": {
"MC": 0,
"MBO OUT": 0,
"OP OUT": 0,
"AC": 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": "Any date between 2011-01-01 and the end of the 24th month from current date in future. (format: yyyy-MM-dd)",
"schema": {
"$ref": "#/components/schemas/AIESGenCapacityGetRequest"
}
},
{
"name": "endDate",
"in": "query",
"required": false,
"description": "Any date after startDate up to the 1st of the 25th month from current date in future. If left blank, only data for startDate will be returned. (format: yyyy-MM-dd)",
"schema": {
"$ref": "#/components/schemas/AIESGenCapacityGetRequest-1"
}
}
]
}
}
},
"components": {
"securitySchemes": {
"apiKeyHeader": {
"type": "apiKey",
"name": "API-KEY",
"in": "header"
},
"apiKeyQuery": {
"type": "apiKey",
"name": "subscription-key",
"in": "query"
}
},
"schemas": {
"AIESHourlyOutageVO": {
"type": "object",
"properties": {
"begin_datetime_utc": {
"type": "string",
"description": "The begin timestamp of the settlement hour, in UTC.",
"format": "date-time"
},
"begin_datetime_mpt": {
"type": "string",
"description": "The begin timestamp of the settlement hour, in MPT (Mountain Prevailing Time).",
"format": "date-time"
},
"outage_grouping": {
"$ref": "#/components/schemas/AIESOutageGroupingVO"
}
}
},
"AIESOutageGroupingVO": {
"type": "object",
"properties": {
"MC": {
"type": "integer",
"description": "Sum of Maximum Capability volume of all the assets in the fuel/ sub-fuel type for the hour (in MW).",
"format": "int32"
},
"MBO OUT": {
"type": "integer",
"description": "Sum of Mothball (MBO) outage volume of all the assets in the fuel/ sub-fuel type for the hour (in MW).",
"format": "int32"
},
"OP OUT": {
"type": "integer",
"description": "Sum of Operational (OP) outage volume of all the assets in the fuel/ sub-fuel type for the hour (in MW).",
"format": "int32"
},
"AC": {
"type": "integer",
"description": "Sum of Available Capability volume of all the assets in the fuel/ sub-fuel type for the hour (in MW) i.e. MC - (MBO OUT + OP OUT).",
"format": "int32"
}
}
},
"AIESReportVO": {
"type": "object",
"properties": {
"fuel_type": {
"type": "string",
"description": "Name of the fuel type grouping for the assets."
},
"sub_fuel_type": {
"type": "string",
"description": "Name of the sub-fuel type grouping for the assets."
},
"Hours": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AIESHourlyOutageVO"
}
}
}
},
"AIESGenCapacityGetRequest": {
"pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$",
"type": "string",
"x-apim-inline": true
},
"AIESGenCapacityGetRequest-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/aiesgencapacity-api-v1?api-version=2022-04-01-preview",
"status": 200,
"note": "API metadata"
},
{
"url": "https://developer-apim.aeso.ca/developer/apis/aiesgencapacity-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/aiesgencapacity-api-v1/operations?api-version=2022-04-01-preview",
"status": 200,
"note": "operation list"
},
{
"url": "https://developer-apim.aeso.ca/developer/apis/aiesgencapacity-api-v1/schemas?api-version=2022-04-01-preview",
"status": 200,
"note": "schema list"
},
{
"url": "https://developer-apim.aeso.ca/developer/apis/aiesgencapacity-api-v1/operations/getAIESControlReport?api-version=2022-04-01-preview",
"status": 200,
"note": "operation detail"
},
{
"url": "https://developer-apim.aeso.ca/developer/apis/aiesgencapacity-api-v1/schemas/6644ebbe463461116c1d1346?api-version=2022-04-01-preview",
"status": 200,
"note": "schema document"
}
]
}
}