AEMO Submission

The submission API allows participants to submit data to the Gas Bulletin Board (BB). Data submission from BB reporting entities to the BB are divided into two key areas- - Data transfer formats which includes the form, validation rules, and timing of submissions. - Data submission methods to the BB, and how the success and failure of those submissions is communicated back to the submitter. AEMO's public API catalogue lists 37 operation(s) for this API, gateway-routed under the path prefix /ws/gbb/submission. 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 37 operation(s) in the OpenAPI captured here were harvested from AEMO's developer-portal operations endpoints (https://dev.aemo.com.au/developer/apis/submission-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-submission-v1-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Submission
  description: '

    ## Introduction

    The submission API allows participants to submit data to the Gas Bulletin Board (BB).

    Data submission from BB reporting entities to the BB are divided into two key areas-

    - Data transfer formats which includes the form, validation rules, and timing of submissions.

    - Data submission methods to the BB, and how the success and failure of those submissions is communicated
    back to the submitter.


    For details on how to get access and business rules for this API:


    <a href="/api-docs"><img src="./files/ViewAPIDocsButton.png" alt="View API Docs" /></a>'
  version: '3.0'
  x-origin:
  - format: openapi
    source: AEMO API Management developer portal
    url: https://dev.aemo.com.au/developer/apis/submission-v1/operations?api-version=2022-04-01-preview
servers:
- url: https://api-prd.aemo.local/ws/gbb/submission
paths:
  /connectionPointNameplateRating:
    post:
      operationId: addNewConnectionPointNameplateRating
      summary: Add new Connection Point Nameplate Rating
      tags:
      - Submission
      description: "Provide nameplate ratings-\n  - For each connection point owned, controlled, or operated\
        \ by the BB pipeline operator and connected to each of its BB pipelines.\n  - For each connection\
        \ point owned, controlled, or operated by the Part 24 facility operator and connected to each\
        \ of its transitional compression facilities.\n  - For each connection point connected to each\
        \ of its pipelines which is not owned, controlled, or operated by the BB pipeline operator, where\
        \ the connection point nameplate rating has been provided to the BB pipeline operator by the facility\
        \ who owns, controls, or operates the connection point."
      parameters:
      - 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 market type that the request applies.
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              ConnectionPointId: 1301002
              CapacityQuantity: 201.65
              EffectiveDate: '2018-08-06'
              Description: This is some comments
      responses:
        '200':
          description: Successful request.
          content:
            application/json:
              example:
                transactionId: ac4fd4dd-aff5-49e7-b292-84a377889f72
                data: {}
                errors: []
                warnings: []
        '400':
          description: The service cannot be found for the endpoint reference (EPR) <URI>
          content:
            application/json:
              example:
                Fault: <SystemMessageExceptionDump>
        '401':
          description: This response is provided when "Authorisation" is missing from the header OR user/password
            is incorrect/not provided OR user account is locked out.
          content:
            application/json:
              example:
                Exception: Unauthorized:Invalid UserName or Password
        '403':
          description: This response is provided when there is an invalid Role i.e. user does not have
            permission to submit this request.
        '404':
          description: This response is provided when the resource missing from URL or incorrect.
          content:
            application/json:
              example:
                Exception: 'Resources for the endpoint URI not found. Endpoint URI: <Resource>'
        '405':
          description: Invalid Method used (e.g. GET used instead of POST)
          content:
            application/json:
              example:
                Exception: 'Input request HTTP method is <Invalid Method passed> but operation <Resource
                  Name> accepts only: [<Valid Method>]'
        '411':
          description: This response is provided when "Content-Length" is missing from the Header
        '422':
          description: This response is provided when any there are any Business validation failures,
            then entire submission is rejected.
          content:
            application/json:
              example:
                data: {}
                errors:
                - code: 73
                  title: InvalidBuySell
                  detail: BuySell value 24.1 is not valid
                  source: ''
        '429':
          description: This response is provided when the throttling limits are reached.
        '500':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
        '503':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
  /dailyProductionAndFlow:
    post:
      operationId: addNewDailyProductionAndFlow
      summary: Add new daily Production And Flow
      tags:
      - Submission
      description: Provide on each gas day D, the BB facility operator’s daily gas flow data for receipts
        and deliveries and transitional compression facility operator’s daily gas compression
      parameters:
      - 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 market type that the request applies.
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              GasDate: '2018-09-23'
              FacilityId: 520001
              ConnectionPointId: 1301002
              FlowDirection: RECEIPT
              ActualQuantity: 32.232
              Quality: OK
      responses:
        '200':
          description: Successful request.
          content:
            application/json:
              example:
                transactionId: db793cdd-48bf-417a-a86c-e05942a035b1
                data: {}
                errors: []
                warnings: []
        '400':
          description: The service cannot be found for the endpoint reference (EPR) <URI>
          content:
            application/json:
              example:
                Fault: <SystemMessageExceptionDump>
        '401':
          description: This response is provided when "Authorisation" is missing from the header OR user/password
            is incorrect/not provided OR user account is locked out.
          content:
            application/json:
              example:
                Exception: Unauthorized:Invalid UserName or Password
        '403':
          description: This response is provided when there is an invalid Role i.e. user does not have
            permission to submit this request.
        '404':
          description: This response is provided when the resource missing from URL or incorrect.
          content:
            application/json:
              example:
                Exception: 'Resources for the endpoint URI not found. Endpoint URI: <Resource>'
        '405':
          description: Invalid Method used (e.g. GET used instead of POST)
          content:
            application/json:
              example:
                Exception: 'Input request HTTP method is <Invalid Method passed> but operation <Resource
                  Name> accepts only: [<Valid Method>]'
        '411':
          description: This response is provided when "Content-Length" is missing from the Header
        '422':
          description: This response is provided when any there are any Business validation failures,
            then entire submission is rejected.
          content:
            application/json:
              example:
                data: {}
                errors:
                - code: 73
                  title: InvalidBuySell
                  detail: BuySell value 24.1 is not valid
                  source: ''
        '429':
          description: This response is provided when the throttling limits are reached.
        '500':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
        '503':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
  /dailyStorage:
    post:
      operationId: addNewDailyStorage
      summary: Add new daily storage
      tags:
      - Submission
      description: Provide on each gas day D, the actual quantity of natural gas held in each storage
        facility at the end of the gas day D.
      parameters:
      - 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 market type that the request applies.
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              GasDate: '2018-09-23'
              FacilityId: 520001
              ActualQuantity: 32.232
      responses:
        '200':
          description: Successful request.
          content:
            application/json:
              example:
                transactionId: 659ca3c9-0161-4b2f-ab0d-63f3e2243d0a
                data: {}
                errors: []
                warnings: []
        '400':
          description: The service cannot be found for the endpoint reference (EPR) <URI>
          content:
            application/json:
              example:
                Fault: <SystemMessageExceptionDump>
        '401':
          description: This response is provided when "Authorisation" is missing from the header OR user/password
            is incorrect/not provided OR user account is locked out.
          content:
            application/json:
              example:
                Exception: Unauthorized:Invalid UserName or Password
        '403':
          description: This response is provided when there is an invalid Role i.e. user does not have
            permission to submit this request.
        '404':
          description: This response is provided when the resource missing from URL or incorrect.
          content:
            application/json:
              example:
                Exception: 'Resources for the endpoint URI not found. Endpoint URI: <Resource>'
        '405':
          description: Invalid Method used (e.g. GET used instead of POST)
          content:
            application/json:
              example:
                Exception: 'Input request HTTP method is <Invalid Method passed> but operation <Resource
                  Name> accepts only: [<Valid Method>]'
        '411':
          description: This response is provided when "Content-Length" is missing from the Header
        '422':
          description: This response is provided when any there are any Business validation failures,
            then entire submission is rejected.
          content:
            application/json:
              example:
                data: {}
                errors:
                - code: 73
                  title: InvalidBuySell
                  detail: BuySell value 24.1 is not valid
                  source: ''
        '429':
          description: This response is provided when the throttling limits are reached.
        '500':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
        '503':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
  /DomesticSupplyForecast:
    post:
      operationId: addNewDomesticSupplyForecast
      summary: Add new Domestic Supply Forecast
      tags:
      - Submission
      description: To provide information on Domestic Supply Forecast
      parameters:
      - 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 market type that the request applies.
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              FacilityId: 530038
              Year: 2023
              Month: 6
              DomesticGas: 101.111
      responses:
        '200':
          description: Successful request.
        '400':
          description: The service cannot be found for the endpoint reference (EPR) <URI>
          content:
            application/json:
              example:
                Fault: <SystemMessageExceptionDump>
        '401':
          description: This response is provided when "Authorisation" is missing from the header OR user/password
            is incorrect/not provided OR user account is locked out.
          content:
            application/json:
              example:
                Exception: Unauthorized:Invalid UserName or Password
        '403':
          description: This response is provided when there is an invalid Role i.e. user does not have
            permission to submit this request.
        '404':
          description: This response is provided when the resource missing from URL or incorrect.
          content:
            application/json:
              example:
                Exception: 'Resources for the endpoint URI not found. Endpoint URI: <Resource>'
        '405':
          description: Invalid Method used (e.g. GET used instead of POST)
          content:
            application/json:
              example:
                Exception: 'Input request HTTP method is <Invalid Method passed> but operation <Resource
                  Name> accepts only: [<Valid Method>]'
        '411':
          description: This response is provided when "Content-Length" is missing from the Header
        '422':
          description: This response is provided when any there are any Business validation failures,
            then entire submission is rejected.
          content:
            application/json:
              example:
                data: {}
                errors:
                - code: 200
                  title: Month
                  detail: Month value 13 is not valid
                  source: ''
        '429':
          description: This response is provided when the throttling limits are reached.
        '500':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
        '503':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
  /ExpectedDailyGasDemand:
    post:
      operationId: addNewExpectedDailyGasDemand
      summary: Add new Expected Daily Gas Demand
      tags:
      - Submission
      description: To provide information on ExpectedDailyGasDemand
      parameters:
      - 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 market type that the request applies.
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              GasDate: '2023-04-29'
              FacilityId: 530038
              ForecastQuantity: 100.5
              DemandZoneId: SESA-DE-01
              PurchasesGSA: 20.1
              PurchasesGSH: 30.2
              GSHLocation: 1
              PurchasesMKtSameZone: 40.1
              PurchasesMKtDiffZone: 40.1
              Description: This is sample Description
      responses:
        '200':
          description: Successful request.
        '400':
          description: The service cannot be found for the endpoint reference (EPR) <URI>
          content:
            application/json:
              example:
                Fault: <SystemMessageExceptionDump>
        '401':
          description: This response is provided when "Authorisation" is missing from the header OR user/password
            is incorrect/not provided OR user account is locked out.
          content:
            application/json:
              example:
                Exception: Unauthorized:Invalid UserName or Password
        '403':
          description: This response is provided when there is an invalid Role i.e. user does not have
            permission to submit this request.
        '404':
          description: This response is provided when the resource missing from URL or incorrect.
          content:
            application/json:
              example:
                Exception: 'Resources for the endpoint URI not found. Endpoint URI: <Resource>'
        '405':
          description: Invalid Method used (e.g. GET used instead of POST)
          content:
            application/json:
              example:
                Exception: 'Input request HTTP method is <Invalid Method passed> but operation <Resource
                  Name> accepts only: [<Valid Method>]'
        '411':
          description: This response is provided when "Content-Length" is missing from the Header
        '422':
          description: This response is provided when any there are any Business validation failures,
            then entire submission is rejected.
          content:
            application/json:
              example:
                data: {}
                errors:
                - code: 192
                  title: PurchasesGSA
                  detail: PurchasesGSA value 24.1 is not valid
                  source: ''
        '429':
          description: This response is provided when the throttling limits are reached.
        '500':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
        '503':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
  /ExportForecast:
    post:
      operationId: addNewExportForecast
      summary: Add new Export Forecast
      tags:
      - Submission
      description: To provide information on Export Forecast
      parameters:
      - 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 market type that the request applies.
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              FacilityId: 530038
              Year: 2023
              Month: 6
              ExportGas: 101.111
      responses:
        '200':
          description: Successful request.
        '400':
          description: The service cannot be found for the endpoint reference (EPR) <URI>
          content:
            application/json:
              example:
                Fault: <SystemMessageExceptionDump>
        '401':
          description: This response is provided when "Authorisation" is missing from the header OR user/password
            is incorrect/not provided OR user account is locked out.
          content:
            application/json:
              example:
                Exception: Unauthorized:Invalid UserName or Password
        '403':
          description: This response is provided when there is an invalid Role i.e. user does not have
            permission to submit this request.
        '404':
          description: This response is provided when the resource missing from URL or incorrect.
          content:
            application/json:
              example:
                Exception: 'Resources for the endpoint URI not found. Endpoint URI: <Resource>'
        '405':
          description: Invalid Method used (e.g. GET used instead of POST)
          content:
            application/json:
              example:
                Exception: 'Input request HTTP method is <Invalid Method passed> but operation <Resource
                  Name> accepts only: [<Valid Method>]'
        '411':
          description: This response is provided when "Content-Length" is missing from the Header
        '422':
          description: This response is provided when any there are any Business validation failures,
            then entire submission is rejected.
          content:
            application/json:
              example:
                data: {}
                errors:
                - code: 200
                  title: Month
                  detail: Month value 13 not valid
                  source: ''
        '429':
          description: This response is provided when the throttling limits are reached.
        '500':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
        '503':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
  /facilityDevelopment:
    post:
      operationId: addNewFacilityDevelopment
      summary: Add new Facility Development
      tags:
      - Submission
      description: To provide information on facility development projects
      parameters:
      - name: X-initiatingParticipantID
        in: header
        required: true
        schema:
          type: string
      - name: X-market
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              DevFacilityID: '2022-11-25'
              EffectiveDate: 530038
              ProposedName: Sample Name
              CapacityFrom: 500.365
              CapacityTo: 600.365
              PlannedCommissionFrom: '2023-12-01'
              PlannedCommissionTo: '2024-03-01'
              DevelopmentStage: PROPOSED
              Location: Sydney
              Comments: Backhaul capacity will be 24TJ/day
              RelatedFacilityIds: 520051,530041
      responses:
        '200':
          description: Successful request.
          content:
            application/json:
              example:
                transactionId: 0d12a80b-336f-4646-969e-1c13373def26
                data: {}
                errors: []
                warnings: []
        '400':
          description: The service cannot be found for the endpoint reference (EPR) <URI>
          content:
            application/json:
              example:
                Fault: <SystemMessageExceptionDump>
        '401':
          description: This response is provided when "Authorisation" is missing from the header OR user/password
            is incorrect/not provided OR user account is locked out.
          content:
            application/json:
              example:
                Exception: Unauthorized:Invalid UserName or Password
        '403':
          description: This response is provided when there is an invalid Role i.e. user does not have
            permission to submit this request.
        '404':
          description: This response is provided when the resource missing from URL or incorrect.
          content:
            application/json:
              example:
                Exception: 'Resources for the endpoint URI not found. Endpoint URI: <Resource>'
        '405':
          description: Invalid Method used (e.g. GET used instead of POST)
          content:
            application/json:
              example:
                Exception: 'Input request HTTP method is <Invalid Method passed> but operation <Resource
                  Name> accepts only: [<Valid Method>]'
        '411':
          description: This response is provided when "Content-Length" is missing from the Header
        '422':
          description: This response is provided when any there are any Business validation failures,
            then entire submission is rejected.
          content:
            application/json:
              example:
                data: {}
                errors:
                - code: 73
                  title: InvalidBuySell
                  detail: BuySell value 24.1 is not valid
                  source: ''
        '429':
          description: This response is provided when the throttling limits are reached.
        '500':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
        '503':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
  /gasFieldInterest:
    post:
      operationId: addNewGasFieldInterest
      summary: Add new Gas Field Interest
      tags:
      - Submission
      description: To provide reserve and resource information about a BB field interest
      parameters:
      - 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 market type that the request applies.
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              FieldInterestId: 123456
              EffectiveDate: '2018-08-06'
              DevelopedReserve1P: 123.456
              DevelopedReserve2P: 123.456
              DevelopedReserve3P: 123.456
              UndevelopedReserve1P: 123.456
              UndevelopedReserve2P: 123.456
              UndevelopedReserve3P: 123.456
              Resources2C: 123.456
              ProductionChangeReserve2P: -123.456
              ProvedAreaExtensionReserve2P: 123.456
              PercentageChangeReserve2P: 123.456
              UpwardRevisionFrom3PReserveTo2P: 123.456
              DownwardRevisionFrom2PReserveTo3P: 123.456
              OtherRevisionsReserve2P: 123.456
              MaturitySubClass2P: 'Eg: On production, Approved for development, Justified for development'
              MaturitySubClass2C: 'Eg: Development pending, Development on hold, Development unclarified,
                Development not viable'
              MinDate2P: '2022-10-01'
              MaxDate2P: '2022-12-01'
              MinDate2C: '2022-10-01'
              MaxDate2C: '2022-12-01'
              ExpectedBarriers2C: Price Forecast
              IncreaseReserveEstimatePrice2P: 1.234
              DecreaseReserveEstimatePrice2P: -1.234
              ResourcesEstimateMethod: 'Eg: Deterministic, Geostatistical and probabilistic'
              ConversionFactorQtyTCFToPJ: 909
              EconomicAssumption: Gas price of $10
              UpdateReason: Annual Update
              PreparedBy: Joe Brown
              PreparationIndependenceStatement: YES; NO
      responses:
        '200':
          description: Successful request.
          content:
            application/json:
              example:
                transactionId: fdff34ab-db48-4ca5-b65f-69d9e5e43af6
                data: {}
                errors: []
                warnings: []
        '400':
          description: The service cannot be found for the endpoint reference (EPR) <URI>
          content:
            application/json:
              example:
                Fault: <SystemMessageExceptionDump>
        '401':
          description: This response is provided when "Authorisation" is missing from the header OR user/password
            is incorrect/not provided OR user account is locked out.
          content:
            application/json:
              example:
                Exception: Unauthorized:Invalid UserName or Password
        '403':
          description: This response is provided when there is an invalid Role i.e. user does not have
            permission to submit this request.
        '404':
          description: This response is provided when the resource missing from URL or incorrect.
          content:
            application/json:
              example:
                Exception: 'Resources for the endpoint URI not found. Endpoint URI: <Resource>'
        '405':
          description: Invalid Method used (e.g. GET used instead of POST)
          content:
            application/json:
              example:
                Exception: 'Input request HTTP method is <Invalid Method passed> but operation <Resource
                  Name> accepts only: [<Valid Method>]'
        '411':
          description: This response is provided when "Content-Length" is missing from the Header
        '422':
          description: This response is provided when any there are any Business validation failures,
            then entire submission is rejected.
          content:
            application/json:
              example:
                data: {}
                errors:
                - code: 73
                  title: InvalidBuySell
                  detail: BuySell value 24.1 is not valid
                  source: ''
        '429':
          description: This response is provided when the throttling limits are reached.
        '500':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
        '503':
          description: e-Hub is operational but downstream systems are not available.
          content:
            application/json:
              example:
                Exception: Application Unavailable
  /gasFieldInterestDetail:
    post:
      operationId: addNewGasFieldInterestDetail
      summary: Add new Gas Field Interest Detail
      tags:
      - Submission
      description: To provide information about a BB field interest
      parameters:
      - name: X-initiatingParticipantID
        in: header
        required: true
        schema:
          type: string
        description: The ID of the Initiating Participant
      - name: X-market
        in: header

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