AESO · Arazzo Workflow

AESO asset drilldown

Version 1.0.0

Resolve a pool participant into its fleet, read what those assets are generating right now, and pull their settlement-grade metered volumes.

1 workflow 4 source APIs 1 provider
View Spec View on GitHub EnergyCanadaAlbertaElectricityEnergy MarketsGridSystem OperatorMarket OperatorOpen Energy DataWholesale PowerDemand ResponseRenewablesUtilitiesArazzoWorkflows

Provider

aeso

Workflows

aeso-asset-drilldown
Participant registry to asset registry to live generation to metered volumes.
Walks AESO's two reference registries into its operational feeds using the shared join keys pool_participant_ID and asset_ID. Requires a free API-KEY subscription key.
4 steps inputs: endDate, poolParticipantId, startDate outputs: assets, generation, meteredVolumes, participant
1
resolve-participant
getPoolParticipantListData
Confirm the participant exists and pick up its name.
2
list-participant-assets
getAssetListData
Every market asset registered to that participant.
3
read-current-generation
getCSDReportByAsset
Current output for the generating assets on the system, to be filtered to the fleet resolved above.
4
read-metered-volumes
getMeteredVolumeReport
Settlement-grade metered volumes for the participant over the requested range.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: AESO asset drilldown
  summary: Resolve a pool participant into its fleet, read what those assets are generating right now,
    and pull their settlement-grade metered volumes.
  version: 1.0.0
sourceDescriptions:
- name: poolparticipant
  url: ../openapi/aeso-poolparticipant-api-v1-openapi.json
  type: openapi
- name: assetlist
  url: ../openapi/aeso-assetlist-api-v1-openapi.json
  type: openapi
- name: currentsupplydemand-v1
  url: ../openapi/aeso-currentsupplydemand-api-v1-openapi.json
  type: openapi
- name: meteredvolume
  url: ../openapi/aeso-meteredvolume-api-v1-openapi.json
  type: openapi
workflows:
- workflowId: aeso-asset-drilldown
  summary: Participant registry to asset registry to live generation to metered volumes.
  description: >-
    Walks AESO's two reference registries into its operational feeds using the shared join keys
    pool_participant_ID and asset_ID. Requires a free API-KEY subscription key.
  inputs:
    type: object
    required:
    - poolParticipantId
    - startDate
    properties:
      poolParticipantId:
        type: string
        description: A pool participant identifier from the Pool Participant API.
      startDate:
        type: string
        description: First settlement day for the metered volume pull, in yyyy-MM-dd.
        example: '2026-07-01'
      endDate:
        type: string
        description: Optional last settlement day for the metered volume pull, in yyyy-MM-dd.
        example: '2026-07-27'
  steps:
  - stepId: resolve-participant
    description: Confirm the participant exists and pick up its name.
    operationId: getPoolParticipantListData
    parameters:
    - name: pool_participant_ID
      in: query
      value: $inputs.poolParticipantId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      participant: $response.body
  - stepId: list-participant-assets
    description: Every market asset registered to that participant.
    operationId: getAssetListData
    parameters:
    - name: pool_participant_ID
      in: query
      value: $inputs.poolParticipantId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      assets: $response.body
  - stepId: read-current-generation
    description: Current output for the generating assets on the system, to be filtered to the fleet
      resolved above.
    operationId: getCSDReportByAsset
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      generation: $response.body
  - stepId: read-metered-volumes
    description: Settlement-grade metered volumes for the participant over the requested range.
    operationId: getMeteredVolumeReport
    parameters:
    - name: startDate
      in: query
      value: $inputs.startDate
    - name: endDate
      in: query
      value: $inputs.endDate
    - name: pool_participant_ID
      in: query
      value: $inputs.poolParticipantId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      meteredVolumes: $response.body
  outputs:
    participant: $steps.resolve-participant.outputs.participant
    assets: $steps.list-participant-assets.outputs.assets
    generation: $steps.read-current-generation.outputs.generation
    meteredVolumes: $steps.read-metered-volumes.outputs.meteredVolumes