AEMO Energy Plans API

Energy Plan endpoints

Operations 2

GET /energy/plans Get Generic Plans #
GET /energy/plans/{planId} Get Generic Plan Detail #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aemo-energy-plans-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aemo-energy-plans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: contact@dsb.gov.au
    name: Data Standards Body
    url: https://dsb.gov.au/
  description: Specifications for resource endpoints applicable to data holders in the Energy sector.
  title: CDR Energy Energy Plans API
  version: 1.36.0
servers:
- description: MTLS
  url: https://mtls.dh.example.com/cds-au/v1
tags:
- description: Energy Plan endpoints
  name: Energy Plans
  x-shortName: Plans
paths:
  /energy/plans:
    get:
      description: 'Obtain a list of energy plans that are currently offered to the market.


        Note that the results returned by this endpoint are expected to be ordered in descending order according to _lastUpdated_.'
      operationId: listEnergyPlans
      parameters:
      - description: Used to filter results on the _type_ field. Any one of the valid values for this field can be supplied plus `ALL`. If absent defaults to `ALL`.
        explode: true
        in: query
        name: type
        required: false
        schema:
          default: ALL
          enum:
          - STANDING
          - MARKET
          - REGULATED
          - ALL
          type: string
        style: form
      - description: Used to filter results on the _fuelType_ field. Any one of the valid values for this field can be supplied plus `ALL`. If absent defaults to `ALL`.
        explode: true
        in: query
        name: fuelType
        required: false
        schema:
          default: ALL
          enum:
          - ELECTRICITY
          - GAS
          - DUAL
          - ALL
          type: string
        style: form
      - description: Allows for the filtering of plans based on whether the current time is within the period of time defined as effective by the _effectiveFrom_ and _effectiveTo_ fields. Valid values are `CURRENT`, `FUTURE` and `ALL`. If absent defaults to `CURRENT`.
        explode: true
        in: query
        name: effective
        required: false
        schema:
          default: CURRENT
          enum:
          - CURRENT
          - FUTURE
          - ALL
          type: string
        style: form
      - description: Only include plans that have been updated after the specified date and time. If absent defaults to include all plans.
        explode: true
        in: query
        name: updated-since
        required: false
        schema:
          type: string
        style: form
        x-cds-type: DateTimeString
      - description: Used to filter results on the _brand_ field. If absent defaults to include all plans.
        explode: true
        in: query
        name: brand
        required: false
        schema:
          type: string
        style: form
      - description: Page of results to request (standard pagination).
        explode: true
        in: query
        name: page
        required: false
        schema:
          type: integer
        style: form
        x-cds-type: PositiveInteger
      - description: Page size to request. Default is 25 (standard pagination).
        explode: true
        in: query
        name: page-size
        required: false
        schema:
          type: integer
        style: form
        x-cds-type: PositiveInteger
      - description: Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).
        explode: false
        in: header
        name: x-v
        required: true
        schema:
          type: string
        style: simple
      - description: Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.
        explode: false
        in: header
        name: x-min-v
        required: false
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyPlanListResponse'
          description: Successful response
          headers:
            x-v:
              $ref: '#/components/headers/XV'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>
      servers:
      - description: TLS
        url: https://tls.dh.example.com/cds-au/v1
      summary: Get Generic Plans
      tags:
      - Energy Plans
      x-version: '1'
  /energy/plans/{planId}:
    get:
      description: 'Obtain detailed information on a single energy plan offered openly to the market.


        Other Versions: [v1](includes/obsolete/get-generic-plan-detail-v1.html), [v2](includes/obsolete/get-generic-plan-detail-v2.html).'
      operationId: getEnergyPlanDetail
      parameters:
      - description: ID of the specific plan requested.
        explode: false
        in: path
        name: planId
        required: true
        schema:
          $ref: '#/components/schemas/EnergyPlanId'
        style: simple
      - description: Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).
        explode: false
        in: header
        name: x-v
        required: true
        schema:
          type: string
        style: simple
      - description: Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.
        explode: false
        in: header
        name: x-min-v
        required: false
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyPlanResponseV3'
          description: Successful response
          headers:
            x-v:
              $ref: '#/components/headers/XV'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[404 - Invalid Resource](#error-404-resource-invalid)</li></ul>
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
      servers:
      - description: TLS
        url: https://tls.dh.example.com/cds-au/v1
      summary: Get Generic Plan Detail
      tags:
      - Energy Plans
      x-version: '3'
      x-version-notes: The <i>dailySupplyChargeType</i> field was added in endpoint v3 as part of Standards v1.30.0. In Standards v1.32.0, the description of that field was changed to remove the default value, but it did not result in a new endpoint version. Refer to the [v1.32.0 release notes](includes/releasenotes/releasenotes.1.32.0.html) for more details.
components:
  schemas:
    EnergyPlanResponseV3:
      properties:
        data:
          $ref: '#/components/schemas/EnergyPlanDetailV3'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
      required:
      - data
      - links
      type: object
    MeasureUnitEnum:
      enum:
      - KWH
      - KVA
      - KVAR
      - KVARH
      - KW
      - DAYS
      - METER
      - MONTH
      type: string
    EnergyPlanControlledLoadV2:
      properties:
        displayName:
          description: A display name for the controlled load.
          type: string
        rateBlockUType:
          description: Specifies the type of controlled load rate.
          enum:
          - singleRate
          - timeOfUseRates
          type: string
        startDate:
          description: Optional start date of the application of the controlled load rate.
          type: string
          x-cds-type: DateString
        endDate:
          description: Optional end date of the application of the controlled load rate.
          type: string
          x-cds-type: DateString
        singleRate:
          $ref: '#/components/schemas/EnergyPlanControlledLoadV2_singleRate'
        timeOfUseRates:
          description: Array of objects representing time of use rates. Required if _rateBlockUType_ is `timeOfUseRates`.
          items:
            $ref: '#/components/schemas/EnergyPlanControlledLoadV2_timeOfUseRates'
          type: array
      required:
      - displayName
      - rateBlockUType
      type: object
      x-conditional:
      - singleRate
      - timeOfUseRates
    EnergyPlanTariffPeriodV2_singleRate:
      description: Object representing a single rate. Required if _rateBlockUType_ is `singleRate`.
      properties:
        displayName:
          description: Display name of the rate.
          type: string
        description:
          description: Description of the rate.
          type: string
        generalUnitPrice:
          description: The block rate (unit price) for any usage above the included fixed usage, in dollars per kWh inclusive of GST. Only required if _pricingModel_ field is `QUOTA`.
          type: string
          x-cds-type: AmountString
        rates:
          description: Array of rates in order of usage volume.
          items:
            $ref: '#/components/schemas/EnergyPlanControlledLoadV2_singleRate_rates'
          type: array
        period:
          description: Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
          type: string
          x-cds-type: ExternalRef
      required:
      - displayName
      - rates
      type: object
      x-conditional:
      - generalUnitPrice
    EnergyPlanGreenPowerCharges:
      properties:
        displayName:
          description: The display name of the charge.
          type: string
        description:
          description: The description of the charge.
          type: string
        scheme:
          description: The applicable green power scheme.
          enum:
          - GREENPOWER
          - OTHER
          type: string
        type:
          description: The type of charge.
          enum:
          - FIXED_PER_DAY
          - FIXED_PER_WEEK
          - FIXED_PER_MONTH
          - FIXED_PER_UNIT
          - PERCENT_OF_USE
          - PERCENT_OF_BILL
          type: string
        tiers:
          description: Array of charge tiers based on the percentage of green power used for the period implied by the type. Array is in order of increasing percentage of green power.
          items:
            $ref: '#/components/schemas/EnergyPlanGreenPowerCharges_tiers'
          type: array
      required:
      - displayName
      - scheme
      - tiers
      - type
      type: object
    EnergyPlan_geography:
      description: Describes the geographical area that the plan is available for. If absent then it is assumed the plan is not geographically limited.
      properties:
        excludedPostcodes:
          description: Array of valid Australian postcodes that are specifically excluded from the plan. Each element is a single four digit postcode (e.g., `3000`) or a range of postcodes defined by two four digit postcodes and a hyphen (e.g., `3000-3999`).
          items:
            type: string
          type: array
        includedPostcodes:
          description: Array of valid Australian postcodes that are included from the plan. If absent defaults to all non-excluded postcodes. Each element is a single four digit postcode (e.g., `3000`) or a range of postcodes defined by two four digit postcodes and a hyphen (e.g., `3000-3999`).
          items:
            type: string
          type: array
        distributors:
          description: Array of distributors for the plan. Must have at least one entry.
          items:
            type: string
          type: array
      required:
      - distributors
      type: object
    EnergyPlan_additionalInformation:
      description: Object that contains links to additional information on specific topics.
      properties:
        overviewUri:
          description: A link to a general overview of the plan.
          type: string
          x-cds-type: URIString
        termsUri:
          description: A link to terms and conditions for the plan.
          type: string
          x-cds-type: URIString
        eligibilityUri:
          description: A link to detail on eligibility criteria for the plan.
          type: string
          x-cds-type: URIString
        pricingUri:
          description: A link to detail on pricing for the plan.
          type: string
          x-cds-type: URIString
        bundleUri:
          description: A link to detail on bundles that this plan can be a part of.
          type: string
          x-cds-type: URIString
      type: object
    LinksPaginated:
      properties:
        self:
          description: Fully qualified link that generated the current response document.
          type: string
          x-cds-type: URIString
        first:
          description: URI to the first page of this set. Mandatory if this response is not the first page.
          type: string
          x-cds-type: URIString
        prev:
          description: URI to the previous page of this set. Mandatory if this response is not the first page.
          type: string
          x-cds-type: URIString
        next:
          description: URI to the next page of this set. Mandatory if this response is not the last page.
          type: string
          x-cds-type: URIString
        last:
          description: URI to the last page of this set. Mandatory if this response is not the last page.
          type: string
          x-cds-type: URIString
      required:
      - self
      type: object
      x-conditional:
      - first
      - prev
      - next
      - last
    Links:
      properties:
        self:
          description: Fully qualified link that generated the current response document.
          type: string
          x-cds-type: URIString
      required:
      - self
      type: object
    EnergyPlanGreenPowerCharges_tiers:
      properties:
        percentGreen:
          description: The upper percentage of green power used applicable for this tier.
          type: string
          x-cds-type: RateString
        rate:
          description: The rate of the charge if the type implies the application of a rate.
          type: string
          x-cds-type: RateString
        amount:
          description: The amount of the charge if the type implies the application of a fixed amount.
          type: string
          x-cds-type: AmountString
      required:
      - percentGreen
      type: object
      x-conditional:
      - rate
      - amount
    EnergyPlanSolarFeedInTariffV3_singleTariff_rates:
      properties:
        unitPrice:
          description: Unit price of usage per measure unit (exclusive of GST).
          type: string
          x-cds-type: AmountString
        measureUnit:
          allOf:
          - $ref: '#/components/schemas/MeasureUnitEnum'
          default: KWH
          description: The measurement unit of rate. Assumed to be `KWH` if absent.
          type: string
        volume:
          description: Volume that this rate applies to. Only applicable for 'stepped' rates where different rates apply for different volumes of usage in a period.
          type: number
      required:
      - unitPrice
      type: object
    EnergyPlanTariffPeriodV2_bandedDailySupplyCharges:
      properties:
        unitPrice:
          description: The amount of daily supply charge for the band, in dollars per day exclusive of GST.
          type: string
          x-cds-type: AmountString
        measureUnit:
          allOf:
          - $ref: '#/components/schemas/MeasureUnitEnum'
          default: DAYS
          description: The measurement unit of rate. Assumed to be `DAYS` if absent.
          type: string
        volume:
          description: Volume the charge applies to.
          type: number
      required:
      - unitPrice
      type: object
    EnergyPlanListResponse:
      properties:
        data:
          $ref: '#/components/schemas/EnergyPlanListResponse_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyPlanDiscounts_percentOfBill:
      description: Required if _methodUType_ is `percentOfBill`.
      properties:
        rate:
          description: The rate of the discount applied to the bill amount.
          type: string
          x-cds-type: RateString
      required:
      - rate
      type: object
    EnergyPlanSolarFeedInTariffV3:
      properties:
        displayName:
          description: The name of the tariff.
          type: string
        description:
          description: A description of the tariff.
          type: string
        startDate:
          description: The start date of the application of the feed in tariff.
          type: string
          x-cds-type: DateString
        endDate:
          description: The end date of the application of the feed in tariff.
          type: string
          x-cds-type: DateString
        scheme:
          description: The applicable scheme.
          enum:
          - PREMIUM
          - CURRENT
          - VARIABLE
          - OTHER
          type: string
        payerType:
          description: The type of the payer.
          enum:
          - GOVERNMENT
          - RETAILER
          type: string
        tariffUType:
          description: Reference to the applicable tariff structure.
          enum:
          - singleTariff
          - timeVaryingTariffs
          type: string
        singleTariff:
          $ref: '#/components/schemas/EnergyPlanSolarFeedInTariffV3_singleTariff'
        timeVaryingTariffs:
          description: Represents a tariff based on time of day. Mandatory if _tariffUType_ is set to `timeVaryingTariffs`.
          items:
            $ref: '#/components/schemas/EnergyPlanSolarFeedInTariffV3_timeVaryingTariffs'
          type: array
      required:
      - displayName
      - payerType
      - scheme
      - tariffUType
      type: object
      x-conditional:
      - singleTariff
      - timeVaryingTariffs
    EnergyPlanTariffPeriodV2_demandCharges:
      properties:
        displayName:
          description: Display name of the charge.
          type: string
        description:
          description: Description of the charge.
          type: string
        amount:
          description: The charge amount per measure unit exclusive of GST.
          type: string
          x-cds-type: AmountString
        measureUnit:
          allOf:
          - $ref: '#/components/schemas/MeasureUnitEnum'
          default: KWH
          description: The measurement unit of charge amount. Assumed to be `KWH` if absent.
          type: string
        startTime:
          description: Start of the period. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
          type: string
          x-cds-type: ExternalRef
        endTime:
          description: End of the period. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
          type: string
          x-cds-type: ExternalRef
        days:
          description: The days that the demand tariff applies to.
          items:
            $ref: '#/components/schemas/EnergyDaysEnum'
          type: array
        minDemand:
          default: '0.00'
          description: Minimum demand for this demand tariff in kW. If absent then `0.00` is assumed.
          type: string
          x-cds-type: AmountString
        maxDemand:
          description: Maximum demand for this demand tariff in kW. If present, must be higher than the value of the _minDemand_ field.
          type: string
          x-cds-type: AmountString
        measurementPeriod:
          description: Application period for the demand tariff.
          enum:
          - DAY
          - MONTH
          - TARIFF_PERIOD
          type: string
        chargePeriod:
          description: Charge period for the demand tariff.
          enum:
          - DAY
          - MONTH
          - TARIFF_PERIOD
          type: string
      required:
      - amount
      - chargePeriod
      - displayName
      - endTime
      - measurementPeriod
      - startTime
      type: object
    EnergyPlanId:
      description: The unique identifier for the Energy plan.
      type: string
      x-cds-type: ASCIIString
    EnergyPlanDiscounts:
      properties:
        displayName:
          description: The display name of the discount.
          type: string
        description:
          description: The description of the discount.
          type: string
        type:
          description: The type of the discount.
          enum:
          - CONDITIONAL
          - GUARANTEED
          - OTHER
          type: string
        category:
          description: The type of the discount. Mandatory if the discount _type_ is `CONDITIONAL`.
          enum:
          - PAY_ON_TIME
          - DIRECT_DEBIT
          - GUARANTEED_DISCOUNT
          - OTHER
          type: string
        endDate:
          description: Optional end date for the discount after which the discount is no longer available.
          type: string
          x-cds-type: DateString
        methodUType:
          description: The method of calculation of the discount.
          enum:
          - percentOfBill
          - percentOfUse
          - fixedAmount
          - percentOverThreshold
          type: string
        percentOfBill:
          $ref: '#/components/schemas/EnergyPlanDiscounts_percentOfBill'
        percentOfUse:
          $ref: '#/components/schemas/EnergyPlanDiscounts_percentOfUse'
        fixedAmount:
          $ref: '#/components/schemas/EnergyPlanDiscounts_fixedAmount'
        percentOverThreshold:
          $ref: '#/components/schemas/EnergyPlanDiscounts_percentOverThreshold'
      required:
      - displayName
      - methodUType
      - type
      type: object
      x-conditional:
      - percentOfBill
      - percentOfUse
      - fixedAmount
      - percentOverThreshold
    EnergyPlanDiscounts_percentOverThreshold:
      description: Required if _methodUType_ is `percentOverThreshold`.
      properties:
        rate:
          description: The rate of the discount over the usage amount.
          type: string
          x-cds-type: RateString
        usageAmount:
          description: The usage amount threshold above which the discount applies.
          type: string
          x-cds-type: AmountString
      required:
      - rate
      - usageAmount
      type: object
    EnergyPlanSolarFeedInTariffV3_timeVaryingTariffs:
      properties:
        type:
          description: The type of the charging time period. If absent applies to all periods.
          enum:
          - PEAK
          - OFF_PEAK
          - SHOULDER
          type: string
        displayName:
          description: Display name of the tariff.
          type: string
        rates:
          description: Array of feed in rates.
          items:
            $ref: '#/components/schemas/EnergyPlanSolarFeedInTariffV3_singleTariff_rates'
          type: array
        period:
          default: P1Y
          description: Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to `P1Y` if absent.
          type: string
          x-cds-type: ExternalRef
        timeVariations:
          description: Array of time windows for which this tariff is applicable.
          items:
            $ref: '#/components/schemas/EnergyPlanSolarFeedInTariffV3_timeVariations'
          type: array
      required:
      - displayName
      - timeVariations
      type: object
    EnergyPlanControlledLoadV2_timeOfUse:
      properties:
        days:
          description: The days that this time window applies to.
          items:
            $ref: '#/components/schemas/EnergyDaysEnum'
          type: array
        startTime:
          description: The beginning of the time window per day for which the controlled load rate applies. Required if _endTime_ provided. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
          type: string
          x-cds-type: ExternalRef
        endTime:
          description: The end of the time window per day for which the controlled load rate applies. Required if _startTime_ provided. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
          type: string
          x-cds-type: ExternalRef
        additionalInfo:
          description: Display text providing more information on the controlled load, for e.g., controlled load availability if specific day/time is not known. Required if _startTime_ and _endTime_ absent or if _additionalInfoUri_ provided.
          type: string
        additionalInfoUri:
          description: Optional link to additional information regarding the controlled load.
          type: string
          x-cds-type: URIString
      type: object
      x-conditional:
      - startTime
      - endTime
      - additionalInfo
    EnergyPlanSolarFeedInTariffV3_singleTariff:
      description: Represents a constant tariff. Mandatory if _tariffUType_ is set to `singleTariff`.
      properties:
        rates:
          description: Array of feed in rates.
          items:
            $ref: '#/components/schemas/EnergyPlanSolarFeedInTariffV3_singleTariff_rates'
          type: array
        period:
          default: P1Y
          description: Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to `P1Y` if absent.
          type: string
          x-cds-type: ExternalRef
      required:
      - rates
      type: object
    EnergyPlanDetailV3:
      allOf:
      - $ref: '#/components/schemas/EnergyPlan'
      - $ref: '#/components/schemas/EnergyPlanDetailV3_allOf'
    EnergyPlanContractFullV3:
      allOf:
      - $ref: '#/components/schemas/EnergyPlanContractV3'
      - $ref: '#/components/schemas/EnergyPlanContractFullV3_allOf'
    EnergyPlanDiscounts_fixedAmount:
      description: Required if _methodUType_ is `fixedAmount`.
      properties:
        amount:
          description: The amount of the discount.
          type: string
          x-cds-type: AmountString
      required:
      - amount
      type: object
    EnergyPlanListResponse_data:
      properties:
        plans:
          description: Array of plans.
          items:
            $ref: '#/components/schemas/EnergyPlan'
          type: array
      required:
      - plans
      type: object
    EnergyPlanContractV3_intrinsicGreenPower:
      description: Describes intrinsic green power for the plan. If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts.
      properties:
        greenPercentage:
          description: Percentage of green power intrinsically included in the plan.
          type: string
          x-cds-type: RateString
      required:
      - greenPercentage
      type: object
    EnergyPlanSolarFeedInTariffV3_timeVariations:
      properties:
        days:
          description: The days that this time window applies to. At least one entry required.
          items:
            $ref: '#/components/schemas/EnergyDaysEnum'
          type: array
        startTime:
          description: The beginning of the time window per day for which the tariff applies. If absent assumes start of day (i.e. midnight). Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
          type: string
          x-cds-type: ExternalRef
        endTime:
          description: The end of the time window per day for which the tariff applies. If absent assumes end of day (i.e. one second before midnight). Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
          type: string
          x-cds-type: ExternalRef
      required:
      - days
      type: object
    EnergyPlanControlledLoadV2_singleRate:
      description: Object representing a single controlled load rate. Required if _rateBlockUType_ is `singleRate`.
      properties:
        displayName:
          description: Display name of the controlled load rate.
          type: string
        description:
          description: Description of the controlled load rate.
          type: string
        dailySupplyCharge:
          description: The daily supply charge (exclusive of GST) for this controlled load tier.
          type: st

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aemo/refs/heads/main/openapi/aemo-energy-plans-api-openapi.yml