Red Energy · Arazzo Workflow

Compare Red Energy tariff plans

Version 1.0.0

Check that Red Energy's CDR implementation is available, then list its published electricity plans and pull the full tariff detail for one of them. Every step is unauthenticated — no API key, no signup, no accreditation. All four operationIds are verified verbatim in the referenced specifications, and each step was executed live on 2026-07-27.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub EnergyAustraliaUtilitiesElectricityGasEnergy RetailConsumer Data RightCDRProduct Reference DataSmart MeteringOpen DataArazzoWorkflows

Provider

red-energy

Workflows

compareRedEnergyPlans
Check availability, list plans, read one plan's full tariff detail.
Note the two different hosts. Discovery runs against Red Energy's own registered CDR public base URI; plan data runs against the Australian Energy Regulator's Energy Made Easy CDR host under the red-energy brand path. In CDR energy the retailer does not serve its own generic plan data.
4 steps inputs: fuelType, pageSize, planId outputs: planContract, planDisplayName, serviceStatus, totalPlans
1
checkStatus
$sourceDescriptions.cdsCommon.getStatus
GET https://public.cdr.redenergy.com.au/cds-au/v1/discovery/status with header x-v 1. Proceed only when data.status is OK.
2
checkOutages
$sourceDescriptions.cdsCommon.getOutages
GET /cds-au/v1/discovery/outages with x-v 1. An empty outages array means nothing is scheduled.
3
listPlans
$sourceDescriptions.cdsEnergy.listEnergyPlans
GET https://cdr.energymadeeasy.gov.au/red-energy/cds-au/v1/energy/plans with x-v 1. Returned meta.totalRecords 1705 on 2026-07-27.
4
getPlanDetail
$sourceDescriptions.cdsEnergy.getEnergyPlanDetail
GET /energy/plans/{planId} with x-v 3. This endpoint is on a different version train from listEnergyPlans — sending x-v 1 returns HTTP 406 urn:au-cds:error:cds-all:Header/UnsupportedVersion.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Compare Red Energy tariff plans
  version: 1.0.0
  description: >-
    Check that Red Energy's CDR implementation is available, then list its
    published electricity plans and pull the full tariff detail for one of them.
    Every step is unauthenticated — no API key, no signup, no accreditation. All
    four operationIds are verified verbatim in the referenced specifications, and
    each step was executed live on 2026-07-27.
sourceDescriptions:
  - name: cdsCommon
    url: ../openapi/red-energy-cds-common-openapi.yml
    type: openapi
  - name: cdsEnergy
    url: ../openapi/red-energy-cds-energy-openapi.yml
    type: openapi
workflows:
  - workflowId: compareRedEnergyPlans
    summary: Check availability, list plans, read one plan's full tariff detail.
    description: >-
      Note the two different hosts. Discovery runs against Red Energy's own
      registered CDR public base URI; plan data runs against the Australian
      Energy Regulator's Energy Made Easy CDR host under the red-energy brand
      path. In CDR energy the retailer does not serve its own generic plan data.
    inputs:
      type: object
      properties:
        fuelType:
          type: string
          description: ELECTRICITY, GAS, DUAL or ALL.
          default: ELECTRICITY
        pageSize:
          type: integer
          description: Records per page. The CDS default is 25.
          default: 25
        planId:
          type: string
          description: A planId from step two. Example verified live on 2026-07-27.
          default: RED552317MRE18@EME
    steps:
      - stepId: checkStatus
        description: >-
          GET https://public.cdr.redenergy.com.au/cds-au/v1/discovery/status with
          header x-v 1. Proceed only when data.status is OK.
        operationId: $sourceDescriptions.cdsCommon.getStatus
        parameters:
          - name: x-v
            in: header
            value: '1'
        successCriteria:
          - condition: $statusCode == 200
          - condition: $response.body#/data/status == 'OK'
        outputs:
          serviceStatus: $response.body#/data/status
          updateTime: $response.body#/data/updateTime
      - stepId: checkOutages
        description: >-
          GET /cds-au/v1/discovery/outages with x-v 1. An empty outages array
          means nothing is scheduled.
        operationId: $sourceDescriptions.cdsCommon.getOutages
        parameters:
          - name: x-v
            in: header
            value: '1'
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          outages: $response.body#/data/outages
      - stepId: listPlans
        description: >-
          GET https://cdr.energymadeeasy.gov.au/red-energy/cds-au/v1/energy/plans
          with x-v 1. Returned meta.totalRecords 1705 on 2026-07-27.
        operationId: $sourceDescriptions.cdsEnergy.listEnergyPlans
        parameters:
          - name: x-v
            in: header
            value: '1'
          - name: fuelType
            in: query
            value: $inputs.fuelType
          - name: page-size
            in: query
            value: $inputs.pageSize
          - name: effective
            in: query
            value: CURRENT
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          totalRecords: $response.body#/meta/totalRecords
          totalPages: $response.body#/meta/totalPages
          firstPlanId: $response.body#/data/plans/0/planId
          nextPage: $response.body#/links/next
      - stepId: getPlanDetail
        description: >-
          GET /energy/plans/{planId} with x-v 3. This endpoint is on a different
          version train from listEnergyPlans — sending x-v 1 returns HTTP 406
          urn:au-cds:error:cds-all:Header/UnsupportedVersion.
        operationId: $sourceDescriptions.cdsEnergy.getEnergyPlanDetail
        parameters:
          - name: x-v
            in: header
            value: '3'
          - name: planId
            in: path
            value: $inputs.planId
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          displayName: $response.body#/data/displayName
          fuelType: $response.body#/data/fuelType
          planType: $response.body#/data/type
          electricityContract: $response.body#/data/electricityContract
    outputs:
      serviceStatus: $steps.checkStatus.outputs.serviceStatus
      totalPlans: $steps.listPlans.outputs.totalRecords
      planDisplayName: $steps.getPlanDetail.outputs.displayName
      planContract: $steps.getPlanDetail.outputs.electricityContract