OpenAPI Specification
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