openapi: 3.2.0 info: title: Energy Report Merit Order API description: Fetch Energy Merit Order snapshot data version: v1 servers: - url: https://apimgw.aeso.ca/public/energymeritorder-api - url: https://gateway-apim.aeso.ca/public/energymeritorder-api security: - {} - apiKeyHeader: [] - apiKeyQuery: [] tags: - name: MeritOrder paths: /meritOrder/energy: get: operationId: getMeritOrderReport summary: Fetch Energy Merit Order snapshot data for a given date that is 60 days prior to current date. description: "Fetch Energy Merit Order snapshot data for Date(startDate (yyyy-MM-dd)) \n\nThe EMMO snapshot data is available 60 days after the date of the snapshot, first available from September 1, 2009. \n\nThe data from 1-Sep-2009 to 1-Sep-2014 is the Merit Order at the 30th min. of the settlement interval. \n\nThe data after 1-Sep-2014 is the last Merit Order of the settlement interval.\n" responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EnergyMeritOrderReport' examples: default: value: data: - begin_dateTime_utc: string begin_dateTime_mpt: string energy_blocks: - import_or_export: string asset_ID: string block_number: 0 block_price: 0 from_MW: 0 to_MW: 0 block_size: 0 available_MW: 0 dispatched?: string dispatched_MW: 0 flexible?: string offer_control: string '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 2009-09-01 and 60 days prior to current date (format: yyyy-MM-dd).' schema: $ref: '#/components/schemas/MeritOrderEnergyGetRequest' tags: - MeritOrder components: schemas: MeritOrderData: type: object properties: begin_dateTime_utc: type: string description: Beginning of the settlement hour that the Energy Market Merit Order applies to, in Coordinated Universal Time (UTC) time begin_dateTime_mpt: type: string description: Beginning of the settlement hour that the Energy Market Merit Order applies to, in Mountain prevailing time energy_blocks: type: array items: $ref: '#/components/schemas/EnergyBlocks' EnergyBlocks: type: object properties: import_or_export: type: string description: Import/Export Identifier, either 'I' for Import or 'E' for Export asset_ID: type: string description: Asset's unique short name defined by 3 or 4-digit alphanumeric code. A pool asset is registered to a pool participant. block_number: type: integer description: ' Block Number from 0 to 6' format: int32 block_price: type: number description: Block Offer Price (in $/MWh) format: double from_MW: type: integer description: Prior Block's cumulative Megawatt (in MW) format: int32 to_MW: type: integer description: Current Block's cumulative Megawatt (in MW) format: int32 block_size: type: integer description: Block Size (MW) format: int32 available_MW: type: integer description: Available Megawatts for the System Controller to Dispatch (in MW) format: int32 dispatched?: type: string description: Dispatched MW indicator - either 'Y' for Yes or 'N' for No dispatched_MW: type: integer description: Dispatched Megawatts (in MW) format: int32 flexible?: type: string description: Flexible block indicator -'Y' indicates that the System Controller is able to partially dispatch the block, 'N' indicates they can not offer_control: type: string description: Offer Control - Offer control parties separated by a semi-colon EnergyMeritOrderReport: type: object properties: data: type: array items: $ref: '#/components/schemas/MeritOrderData' MeritOrderEnergyGetRequest: pattern: ^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$ type: string x-apim-inline: true securitySchemes: apiKeyHeader: type: apiKey name: API-KEY in: header apiKeyQuery: type: apiKey name: subscription-key in: query 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/energymeritorder-api-v1?api-version=2022-04-01-preview status: 200 note: API metadata - url: https://developer-apim.aeso.ca/developer/apis/energymeritorder-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/energymeritorder-api-v1/operations?api-version=2022-04-01-preview status: 200 note: operation list - url: https://developer-apim.aeso.ca/developer/apis/energymeritorder-api-v1/schemas?api-version=2022-04-01-preview status: 200 note: schema list - url: https://developer-apim.aeso.ca/developer/apis/energymeritorder-api-v1/operations/getMeritOrderReport?api-version=2022-04-01-preview status: 200 note: operation detail - url: https://developer-apim.aeso.ca/developer/apis/energymeritorder-api-v1/schemas/675b19e43d594b1e2075ef31?api-version=2022-04-01-preview status: 200 note: schema document