AEMO RTMS

The WEM-Reform API for Real-Time Market submissions available to all Market Participants. AEMO's public API catalogue lists 15 operation(s) for this API, gateway-routed under the path prefix /WEM/v1/realTimeMarketSubmission. AEMO's own openapi-link export for this API is a shell — it declares paths: {} with zero operations and names an internal host — so the 15 operation(s) in the OpenAPI captured here were harvested from AEMO's developer-portal operations endpoints (https://dev.aemo.com.au/developer/apis/rtms-external-v1/operations?api-version=2022-04-01-preview), complete with parameters, headers, response codes and response examples. Harvested 2026-07-27 (HTTP 200).

OpenAPI Specification

aemo-rtms-external-v1-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: RTMS
  description: The WEM-Reform API for Real-Time Market submissions available to all Market Participants.
  contact:
    name: AEMO Real Time Market Submissions Team
    email: wa.operations@aemo.com.au
  version: '3.0'
  x-origin:
  - format: openapi
    source: AEMO API Management developer portal
    url: https://dev.aemo.com.au/developer/apis/rtms-external-v1/operations?api-version=2022-04-01-preview
servers:
- url: https://api-prd.aemo.local/WEM/v1/realTimeMarketSubmission
paths:
  /consolidated:
    get:
      operationId: aPIEndpointThatHandlesRetrievingBatchedConsolidatedDispatchIntervalsForMultipleFacilitiesMarketsAndTradingDays
      summary: API endpoint that handles retrieving batched consolidated dispatch intervals for multiple
        facilities, markets and Trading Days
      tags:
      - RTMS
      description: Retrieves the consolidated view of submissions for all or specific facilities within
        a date range (not greater than 10 days).
      parameters:
      - name: TradingDayFrom
        in: query
        required: true
        schema:
          type: string
        description: Format - date (as full-date in RFC3339). From Trading Day (YYYY-MM-DD) inclusive
      - name: TradingDayTo
        in: query
        required: true
        schema:
          type: string
        description: Format - date (as full-date in RFC3339). To Trading Day (YYYY-MM-DD) inclusive
      - name: Facilities
        in: query
        required: false
        schema:
          type: string
        description: Comma Separated Values (CSV) list of facilitie(s)
      - name: x-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
        description: The id of the Initiating Participant
      - name: x-market
        in: header
        required: true
        schema:
          type: string
        description: The id of the market
      responses:
        '200':
          description: Success
          content:
            application/json:
              examples:
                example1:
                  summary: Data is available for the date range. Include all facilities owned and applicable
                    markets.
                  value:
                    transactionId: 5511acad-87e8-4e74-be75-0e477dd4e5aa
                    asAt: '2022-03-16T08:23:46Z'
                    data:
                    - applicability:
                      - tradingDate: '2022-12-05'
                        dispatchIntervalFrom: 1
                        dispatchIntervalTo: 19
                      - tradingDate: '2022-12-06'
                        dispatchIntervalFrom: 1
                        dispatchIntervalTo: 288
                      facility: MyTestFacility1
                      marketService: Energy
                      submissionId: b0260932-a61f-4faf-a309-8f61e800976b
                      submissionType: Variation
                      submissionCode: OTHER
                      submissionDateTime: '2022-11-21T03:28:46Z'
                      energy:
                        unconstrainedInjectionForecast: 16
                        unconstrainedWithdrawalForecast: 0
                        maxInjectionCapacity: 16
                        maxWithdrawalCapacity: 0
                        inflexibleFlag: 'NO'
                        maxUpwardRampRate: 3
                        maxDownwardRampRate: 3
                        fsip: ''
                        tranches:
                        - tranche: 1
                          price: MIN
                          quantity: 0.1
                          noticeTime: ''
                          capacityType: IN-SERVICE
                          fuelType: NON-LIQUID
                        - tranche: 2
                          price: MAX
                          quantity: 15.9
                          noticeTime: ''
                          capacityType: IN-SERVICE
                          fuelType: NON-LIQUID
                      ess: ''
                      dsp: ''
                    - applicability:
                      - tradingDate: '2022-12-05'
                        dispatchIntervalFrom: 20
                        dispatchIntervalTo: 38
                      facility: MyTestFacility2
                      marketService: RegulationRaise
                      submissionId: b0260932-a61f-4faf-a309-8f61e800976b
                      submissionType: Standing
                      submissionCode: ''
                      submissionDateTime: '2022-11-21T03:28:46Z'
                      energy: ''
                      ess:
                        maximumCapacity: 59.4
                        enablementMinimum: 10
                        enablementMaximum: 30
                        lowBreakpoint: 15
                        highBreakpoint: 25
                        tranches:
                        - tranche: 1
                          price: '-100.99'
                          quantity: 29.4
                          noticeTime: ''
                          capacityType: IN-SERVICE
                          fuelType: NON-LIQUID
                        - tranche: 2
                          price: '-50.35'
                          quantity: 30
                          noticeTime: ''
                          capacityType: IN-SERVICE
                          fuelType: NON-LIQUID
                      dsp: ''
                example2:
                  summary: No data available for the specified parameters, or data not accessible to the
                    participant
                  value:
                    transactionId: 6013c15d-1d59-4f11-9e5b-3a21c5034c7a
                    data: []
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                example1:
                  summary: One or more mandatory parameters is missing
                  value:
                    transactionId: 650e2d1e-1473-452a-a544-7f6911da39f8
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Mandatory parameter value is missing
                      source:
                        parameter: tradingdayfrom
                    - code: ERR400
                      title: Bad Request
                      detail: Mandatory parameter value is missing
                      source:
                        parameter: tradingdayto
                example2:
                  summary: Specified Trading Day is in the wrong format
                  value:
                    transactionId: c8d3a0f4-5b2e-4787-8e23-26f8df3effdb
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Date needs to be formatted as yyyy-MM-dd without time information
                      source:
                        parameter: tradingdayfrom=2021-11-26T08:00
                example3:
                  summary: The specified day range exceeding 10 days
                  value:
                    transactionId: 6f0b6dcb-756c-4cfd-8a78-b9b6a63a8da3
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Query dates range must be within 10 days
                      source:
                        parameter: tradingdayfrom=2023-01-01&tradingdayto=2023-01-11
                example4:
                  summary: The specified day range is invalid
                  value:
                    transactionId: 6f0b6dcb-756c-4cfd-8a78-b9b6a63a8da3
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: '''tradingdayto'' must not be before ''tradingdayfrom'''
                      source:
                        parameter: tradingdayfrom=2023-01-11&tradingdayto=2023-01-10
                example5:
                  summary: The specified value for a parameter is empty (even if optional)
                  value:
                    transactionId: d5cf2f1e-9827-42ee-a5bd-18936b083d29
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Value for parameter facilities must be specified
                      source:
                        parameter: facilities=
                example6:
                  summary: A parameter has been specified more than once
                  value:
                    transactionId: 2425e75b-3f12-495b-870f-d87465549e46
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Duplicated parameter key is received
                      source:
                        parameter: facilities
                example7:
                  summary: A specified parameter not allowed
                  value:
                    transactionId: 119c0c93-cae7-431e-9dd6-7b1cb3780995
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Parameter is not allowed
                      source:
                        parameter: marketservice
                example8:
                  summary: One or more specified facilities does not exsit
                  value:
                    transactionId: ce4b0b41-a33b-4abb-9130-f2f0190f3a05
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: one or more facilities does not exist
                      source:
                        parameter: facilities=1,2,3
                missingHeader:
                  summary: Missing mandatory HTTP header parameter
                  value:
                    transactionId: 61361d96-f20d-43a7-bkdf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '400'
                      title: Missing mandatory HTTP header parameter
                      detail: Mandatory HTTP header <headerName> is missing
                      source: ''
        '401':
          description: Unauthorized
          content:
            application/json:
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    transactionId: 9a8e902a-ed40-45f3-b075-7a644b12947f
                    data: {}
                    errors:
                    - code: '401'
                      title: Unauthorized
                      detail: Unauthorized
                      source: ''
                initiatingParticipantIdMismatch:
                  summary: x-initiatingParticipantId does not match with participant id associated with
                    certificate
                  value:
                    transactionId: 9a8e902a-ed40-45f3-u475-7a644b12947f
                    data: {}
                    errors:
                    - code: '401'
                      title: Unauthorized
                      detail: x-initiatingParticipantId does not match with participant id associated
                        with certificate
                      source: ''
        '404':
          description: Not Found
          content:
            application/json:
              examples:
                resourceNotFound:
                  summary: Resource Not Found
                  value:
                    transactionId: 61361d96-f09d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '404'
                      title: Not Found
                      detail: Resources for the endpoint URI not found. Endpoint URI:<URI>
                      source: ''
        '405':
          description: Method not allowed
          content:
            application/json:
              examples:
                methodNotAllowed:
                  summary: Method Not Allowed
                  value:
                    transactionId: 61361d96-z20d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '405'
                      title: Method Not Allowed
                      detail: 'Input request HTTP method is <invokedMethod> but operation <operationURI>
                        accepts only: [<operationMethod>]'
                      source: ''
        '413':
          description: Payload Too Large
          content:
            application/json:
              examples:
                payloadTooLarge:
                  summary: Payload Too Large
                  value:
                    transactionId: dc6826bc-1c0d-498b-b474-2b231910860c
                    data: {}
                    errors:
                    - code: '413'
                      title: Payload Too Large
                      detail: Maximum allowed size for the <request/response> body is <payload size limit>
                        bytes (<size limit> MB). This <request/response> has size of <number of bytes>
                        bytes
                      source: ''
        '429':
          description: Too many request
          content:
            application/json:
              examples:
                tooManyRequests:
                  summary: Too Many Requests
                  value:
                    transactionId: 63361d96-f20d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '429'
                      title: Too Many Requests
                      detail: Number of inbound requests exceeded the throttling limits; try after sometime
                      source: ''
        '500':
          description: Application unavailable
          content:
            application/json:
              examples:
                applicationUnavailable:
                  summary: Application Unavailable
                  value: ''
  /consolidated/dsp:
    get:
      operationId: aPIEndpointThatHandlesSearchingTheDSPConsolidatedDispatchIntervalsUsingTheProvidedSearchCriteria
      summary: API endpoint that handles searching the DSP consolidated dispatch intervals using the provided
        search criteria.
      tags:
      - RTMS
      description: Retrieves the consolidated view of submissions for a specific Trading Day, Market Service
        and Facility. This endpoint is limited to the Energy Market Service and DSP Facilities.
      parameters:
      - name: TradingDay
        in: query
        required: true
        schema:
          type: string
        description: Format - date (as full-date in RFC3339). Returns the consolidated view of submissions
          made for the specified Trading Day (YYYY-MM-DD). The Trading Day can be in the past or in the
          future. Future dates are limited to the Acceptance Horizon window.
      - name: Facility
        in: query
        required: true
        schema:
          type: string
        description: Returns the consolidated view of submissions made for the specified Facility. Facility
          must be a DSP Facility
      - name: MarketService
        in: query
        required: true
        schema:
          type: string
          enum:
          - Energy
          - RegulationRaise
          - RegulationLower
          - ContingencyRaise
          - ContingencyLower
          - RoCoF
        description: This parameter must be set to 'Energy'. Returns the consolidated view of submissions
          made for the Energy Market Service.
      - name: x-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
        description: The id of the Initiating Participant
      - name: x-market
        in: header
        required: true
        schema:
          type: string
        description: The id of the market
      responses:
        '200':
          description: Success
          content:
            application/json:
              examples:
                example1:
                  summary: The specified combination of parameters returns data
                  value:
                    transactionId: 9d44a32c-13f6-4e24-a39f-f4b04d7aec6b
                    asAt: '2022-03-16T08:30:17Z'
                    data:
                    - tradingDay: '2022-03-23'
                      dispatchIntervalNo: '0288-01-01'
                      dispatchIntervalTimeFrom: '2023-03-23'
                      dispatchIntervalTimeTo: '2023-03-23'
                      dspUnconstrainedWithdrawalQuantity: 25
                      dspConstrainedWithdrawalQuantity: 25
                      submissionType: Variation
                      submissionDateTime: '2022-03-16T08:29:40Z'
                example2:
                  summary: No data available for the specified parameters, or data not accessible to the
                    participant
                  value:
                    transactionId: 6013c15d-1d59-4f11-9e5b-3a21c5034c7a
                    data: []
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                example1:
                  summary: One or more mandatory parameters is missing
                  value:
                    transactionId: 650e2d1e-1473-452a-a544-7f6911da39f8
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Mandatory parameter value is missing
                      source:
                        parameter: tradingday
                    - code: ERR400
                      title: Bad Request
                      detail: Mandatory parameter value is missing
                      source:
                        parameter: marketservice
                example2:
                  summary: Specified Trading Day is in the wrong format
                  value:
                    transactionId: c8d3a0f4-5b2e-4787-8e23-26f8df3effdb
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Date needs to be formatted as YYYY-MM-DD without time information
                      source:
                        parameter: tradingday=2021-11-26T08:00
                example3:
                  summary: The specified Trading Day is beyond the Acceptance Horizon
                  value:
                    transactionId: 6f0b6dcb-756c-4cfd-8a78-b9b6a63a8da3
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Date must be on or before 2021-12-29
                      source:
                        parameter: tradingday=2021-12-30
                example4:
                  summary: The specified value for a parameter is empty
                  value:
                    transactionId: d5cf2f1e-9827-42ee-a5bd-18936b083d29
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Mandatory parameter value is missing
                      source:
                        parameter: facility
                example5:
                  summary: A parameter has been specified more than once
                  value:
                    transactionId: 2425e75b-3f12-495b-870f-d87465549e46
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Duplicated parameter key is received
                      source:
                        parameter: marketservice
                example6:
                  summary: A specified parameter not allowed
                  value:
                    transactionId: 119c0c93-cae7-431e-9dd6-7b1cb3780995
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Parameter is not allowed
                      source:
                        parameter: random
                example7:
                  summary: Specified value for marketService is not one of the allowable values
                  value:
                    transactionId: ecd00830-fb75-44f3-b5ad-9aac7d34d51d
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: 'The given value is not one of the valid options: Energy'
                      source:
                        parameter: marketservice=rocof
                example8:
                  summary: Specified facility is not a DSP
                  value:
                    transactionId: db88d0ae-e32a-4422-887f-045aa032509e
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: must be a DSP facility
                      source:
                        parameter: facility=SCHEDULED_FACILITY_NAME
                missingHeader:
                  summary: Missing mandatory HTTP header parameter
                  value:
                    transactionId: 61361d96-f20d-43a7-bkdf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '400'
                      title: Missing mandatory HTTP header parameter
                      detail: Mandatory HTTP header <headerName> is missing
                      source: ''
        '401':
          description: API Authentication failure
          content:
            application/json:
              examples:
                failedToAuthenticate:
                  value:
                    transactionId: e1ef1e6d-2945-4d42-a2e4-977dcc922079
                    errors:
                    - code: ERR401
                      title: Authentication Failure
                      detail: Failed to authenticate the credentials provided for this request.
                      source: ''
                unauthorized:
                  summary: Unauthorized
                  value:
                    transactionId: 9a8e902a-ed40-45f3-b075-7a644b12947f
                    data: {}
                    errors:
                    - code: '401'
                      title: Unauthorized
                      detail: Unauthorized
                      source: ''
                initiatingParticipantIdMismatch:
                  summary: x-initiatingParticipantId does not match with participant id associated with
                    certificate
                  value:
                    transactionId: 9a8e902a-ed40-45f3-u475-7a644b12947f
                    data: {}
                    errors:
                    - code: '401'
                      title: Unauthorized
                      detail: x-initiatingParticipantId does not match with participant id associated
                        with certificate
                      source: ''
        '404':
          description: Not Found
          content:
            application/json:
              examples:
                resourceNotFound:
                  summary: Resource Not Found
                  value:
                    transactionId: 61361d96-f09d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '404'
                      title: Not Found
                      detail: Resources for the endpoint URI not found. Endpoint URI:<URI>
                      source: ''
        '405':
          description: Method not allowed
          content:
            application/json:
              examples:
                methodNotAllowed:
                  summary: Method Not Allowed
                  value:
                    transactionId: 61361d96-z20d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '405'
                      title: Method Not Allowed
                      detail: 'Input request HTTP method is <invokedMethod> but operation <operationURI>
                        accepts only: [<operationMethod>]'
                      source: ''
        '413':
          description: Payload Too Large
          content:
            application/json:
              examples:
                payloadTooLarge:
                  summary: Payload Too Large
                  value:
                    transactionId: dc6826bc-1c0d-498b-b474-2b231910860c
                    data: {}
                    errors:
                    - code: '413'
                      title: Payload Too Large
                      detail: Maximum allowed size for the <request/response> body is <payload size limit>
                        bytes (<size limit> MB). This <request/response> has size of <number of bytes>
                        bytes
                      source: ''
        '429':
          description: Too many request
          content:
            application/json:
              examples:
                tooManyRequests:
                  summary: Too Many Requests
                  value:
                    transactionId: 63361d96-f20d-43a7-babf-59b35fab9b13
                    data: {}
                    errors:
                    - code: '429'
                      title: Too Many Requests
                      detail: Number of inbound requests exceeded the throttling limits; try after sometime
                      source: ''
        '500':
          description: Internal Server Error
          content:
            application/json:
              examples:
                applicationProcessingError:
                  value:
                    transactionId: 1ac9b0dc-94fc-42ec-9e8e-be7e6d5a1fa3
                    errors:
                    - code: ERR500
                      title: Application processing error
                      detail: System error occur, please try again later
                      source: ''
                applicationUnavailable:
                  summary: Application Unavailable
                  value: ''
  /consolidated/energy:
    get:
      operationId: aPIEndpointThatHandlesSearchingTheEnergyConsolidatedDispatchIntervalsUsingTheProvidedSearchCriteria
      summary: API endpoint that handles searching the Energy consolidated dispatch intervals using the
        provided search criteria.
      tags:
      - RTMS
      description: Retrieves the consolidated view of submissions for a specific Trading Day, Market Service
        and Facility. This endpoint is limited to the Energy Market Service and non-DSP Facilities.
      parameters:
      - name: TradingDay
        in: query
        required: true
        schema:
          type: string
        description: Format - date (as full-date in RFC3339). Returns the consolidated view of submissions
          made for the specified Trading Day (YYYY-MM-DD). The Trading Day can be in the past or in the
          future. Future dates are limited to the Acceptance Horizon window.
      - name: Facility
        in: query
        required: true
        schema:
          type: string
        description: Returns the consolidated view of submissions made for the specified Facility. Facility
          must be a non-DSP Facility
      - name: MarketService
        in: query
        required: true
        schema:
          type: string
          enum:
          - Energy
          - RegulationRaise
          - RegulationLower
          - ContingencyRaise
          - ContingencyLower
          - RoCoF
        description: This parameter must be set to 'Energy'. Returns the consolidated view of submissions
          made for the Energy Market Service.
      - name: x-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
        description: The id of the Initiating Participant
      - name: x-market
        in: header
        required: true
        schema:
          type: string
        description: The id of the market
      responses:
        '200':
          description: Success
          content:
            application/json:
              examples:
                example1:
                  summary: Data is available for the specified combination of parameters
                  value:
                    transactionId: 3de99d04-d347-4381-a4d6-62b19ef3e66e
                    asAt: '2022-03-16T08:19:56Z'
                    data:
                    - tradingDay: '2022-03-21'
                      dispatchIntervalNo: '0288-01-01'
                      dispatchIntervalTimeFrom: '2023-03-23'
                      dispatchIntervalTimeTo: '2023-03-23'
                      unconstrainedInjectionForecast: 30
                      unconstrainedWithdrawalForecast: 0
                      maxInjectionCapacity: 30
                      maxWithdrawalCapacity: 0
                      inflexibleFlag: false
                      maxUpwardRampRate: 8
                      maxDownwardRampRate: 8
                      fsip:
                        minimumLoad: 0.001
                        t1: 1
                        t2: 1
                        t3: 1
                        t4: 1
                      tranches:
                      - tranche: 1
                        price: MIN
                        quantity: 5
                        noticeTime: ''
                        capacityType: IN-SERVICE
                        fuelType: NON-LIQUID
                      - tranche: 2
                        price: '-25.00'
                        quantity: 10
                        noticeTime: 5
                        capacityType: AVAILABLE
                        fuelType: NON-LIQUID
                      - tranche: 3
                        price: '103.00'
                        quantity: 10
                        noticeTime: 5
                        capacityType: AVAILABLE
                        fuelType: NON-LIQUID
                      - tranche: 4
                        price: MAX
                        quantity: 5
                        noticeTime: 5
                        capacityType: AVAILABLE
                        fuelType: NON-LIQUID
                      submissionType: Variation
                      submissionDateTime: '2022-03-16T08:16:09Z'
                example2:
                  summary: No data available for the specified parameters, or data not accessible to the
                    participant
                  value:
                    transactionId: 6013c15d-1d59-4f11-9e5b-3a21c5034c7a
                    data: []
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                example1:
                  summary: One or more mandatory parameters is missing
                  value:
                    transactionId: 650e2d1e-1473-452a-a544-7f6911da39f8
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Mandatory parameter value is missing
                      source:
                        parameter: tradingday
                    - code: ERR400
                      title: Bad Request
                      detail: Mandatory parameter value is missing
                      source:
                        parameter: marketservice
                example2:
                  summary: The specified Trading Day is in the wrong format
                  value:
                    transactionId: c8d3a0f4-5b2e-4787-8e23-26f8df3effdb
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Date needs to be formatted as YYYY-MM-DD without time information
                      source:
                        parameter: tradingday=2021-11-26T08:00
                example3:
                  summary: The specified Trading Day is beyond the Acceptance Horizon
                  value:
                    transactionId: 6f0b6dcb-756c-4cfd-8a78-b9b6a63a8da3
                    errors:
                    - code: ERR400
                      title: Bad Request
                      detail: Date must be on or before 2021-12-29
                      source:
                        parameter: tradingday=2021-12-30
                example4:
                  summary: The specified value for a parameter is empty
                  value:
                    transactionId: d5cf2f1e-9827-42ee-a5bd-18936b083d29
                    errors:
                    - code: ERR400
                      title: Bad Request
            

# --- truncated at 32 KB (172 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aemo/refs/heads/main/openapi/aemo-rtms-external-v1-openapi.yml