AEMO Settlement Direct API

This API supports the various operations performed in Settlement Direct API

Operations 13

POST /downloadFiles downloadFiles #
GET /getAvailableFiles getAvailableFiles #
GET /getCalendars getCalendars #
GET /getContacts getContacts #
GET /getDeliveryChannels getDeliveryChannels #
GET /getDeliveryLogEntries getDeliveryLogEntries #
GET /getPublishingCategories getPublishingCategories #
GET /getPublishingPeriodClasses getPublishingPeriodClasses #
GET /getPublishingPeriodInstances getPublishingPeriodInstances #
GET /getPublishingTypes getPublishingTypes #
GET /getUserSubscriptions getUserSubscriptions #
POST /publishFiles publishFiles #
POST /updateUserSubscriptions updateSubscription #

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-settlement-direct-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-settlement-direct-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Settlement Direct API
  description: This API supports the various operations performed  in Settlement Direct API
  version: '3.0'
  x-origin:
  - format: openapi
    source: AEMO API Management developer portal
    url: https://dev.aemo.com.au/developer/apis/settlementDirect-v1/operations?api-version=2022-04-01-preview
servers:
- url: https://api-prd.aemo.local/NEMWholesale/PublishingDirect
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Settlement Direct
  description: This API supports the various operations performed  in Settlement Direct API
paths:
  /downloadFiles:
    post:
      operationId: downloadFiles
      summary: downloadFiles
      tags:
      - Settlement Direct
      description: downloadFiles
      parameters:
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      requestBody:
        content:
          application/json:
            example:
              optionalEncryptionKey: string
              files:
              - string
      responses:
        '200':
          description: '200'
          content:
            application/octet-stream:
              example: {}
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/octet-stream:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/octet-stream:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/octet-stream:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/octet-stream:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/octet-stream:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/octet-stream:
              schema: {}
  /getAvailableFiles:
    get:
      operationId: getAvailableFiles
      summary: getAvailableFiles
      tags:
      - Settlement Direct
      description: getAvailableFiles
      parameters:
      - name: PublishingTypeId
        in: query
        required: false
        schema:
          type: string
      - name: PublishingCategoryId
        in: query
        required: false
        schema:
          type: string
      - name: PublishingPeriodInstanceIdFrom
        in: query
        required: false
        schema:
          type: string
      - name: PublishingPeriodInstanceIdTo
        in: query
        required: false
        schema:
          type: string
      - name: DeliveryTimeFrom
        in: query
        required: false
        schema:
          type: string
      - name: DeliveryTimeTo
        in: query
        required: false
        schema:
          type: string
      - name: contactId
        in: query
        required: false
        schema:
          type: integer
        description: Format - int32.
      - name: publishingBusinessId
        in: query
        required: false
        schema:
          type: string
      - name: PublishingPeriodClassId
        in: query
        required: false
        schema:
          type: string
      - name: DeliveryChannelId
        in: query
        required: false
        schema:
          type: string
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example:
                transactionId: string
                data:
                  files:
                  - publishingCategoryId: string
                    publishingTypeId: string
                    publishingPeriodClassId: string
                    publishingPeriodInstanceId: string
                    publishingQueueId: string
                    fileName: string
                    fileFormatId: string
                    deliveryChannelId: string
                    contactId: string
                    documentEncryptionKey: string
                    deliveryTime: string
                    headerText: string
                    bodyText: string
                errors:
                - code: string
                  title: string
                  detail: string
                  source: string
                warnings:
                - string
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /getCalendars:
    get:
      operationId: getCalendars
      summary: getCalendars
      tags:
      - Settlement Direct
      description: getCalendars
      parameters:
      - name: publishingBusinessId
        in: query
        required: true
        schema:
          type: string
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example: "{\n  \"transactionId\": \"string\",\n  \"data\": {\n    \"calendars\": [\n      {\n        \"url\": \"string\",\n        \"description\": \"string\"\n      }\n    ]\n  },\n  \"errors\": [\n    {\n      \"code\": \"string\",\n      \"title\": \"string\",\n      \"detail\": \"string\",\n      \"source\": \"string\"\n    }\n  ],\n  \"warnings\": [\n    \"string\"\n  ]\n}"
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /getContacts:
    get:
      operationId: getContacts
      summary: getContacts
      tags:
      - Settlement Direct
      description: getContacts
      parameters:
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example:
                transactionId: string
                data:
                  contacts:
                  - contactId: string
                    contactSource: string
                    isActive: true
                    sourceUpdateTime: string
                    participantId: string
                    mobileNumber: string
                    emailAddress: string
                    title: string
                    firstName: string
                    lastName: string
                errors:
                - code: string
                  title: string
                  detail: string
                  source: string
                warnings:
                - string
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /getDeliveryChannels:
    get:
      operationId: getDeliveryChannels
      summary: getDeliveryChannels
      tags:
      - Settlement Direct
      description: getDeliveryChannels
      parameters:
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example:
                transactionId: string
                data:
                  channelList:
                  - channelId: string
                    description: string
                    displayPriority: 0
                errors:
                - code: string
                  title: string
                  detail: string
                  source: string
                warnings:
                - string
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /getDeliveryLogEntries:
    get:
      operationId: getDeliveryLogEntries
      summary: getDeliveryLogEntries
      tags:
      - Settlement Direct
      description: getDeliveryLogEntries
      parameters:
      - name: PublishingTypeId
        in: query
        required: false
        schema:
          type: string
      - name: PublishingCategoryId
        in: query
        required: false
        schema:
          type: string
      - name: PublishingPeriodInstanceIdFrom
        in: query
        required: false
        schema:
          type: string
      - name: PublishingPeriodInstanceIdTo
        in: query
        required: false
        schema:
          type: string
      - name: DeliveryTimeFrom
        in: query
        required: false
        schema:
          type: string
      - name: DeliveryTimeTo
        in: query
        required: false
        schema:
          type: string
      - name: contactId
        in: query
        required: false
        schema:
          type: integer
        description: Format - int32.
      - name: publishingBusinessId
        in: query
        required: false
        schema:
          type: string
      - name: PublishingPeriodClassId
        in: query
        required: false
        schema:
          type: string
      - name: DeliveryChannelId
        in: query
        required: false
        schema:
          type: string
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example:
                transactionId: string
                data:
                  logEntries:
                  - publishingCategoryId: string
                    publishingTypeId: string
                    publishingPeriodClassId: string
                    publishingPeriodInstanceId: string
                    fileName: string
                    deliveryChannelId: string
                    fileFormatId: string
                    contactId: string
                    documentEncryptionKey: string
                    publishingQueueId: string
                    deliveryTime: string
                    headerText: string
                    bodyText: string
                errors:
                - code: string
                  title: string
                  detail: string
                  source: string
                warnings:
                - string
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /getPublishingCategories:
    get:
      operationId: getPublishingCategories
      summary: getPublishingCategories
      tags:
      - Settlement Direct
      description: getPublishingCategories
      parameters:
      - name: publishingBusinessId
        in: query
        required: true
        schema:
          type: string
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example: "{\n  \"transactionId\": \"string\",\n  \"data\": {\n    \"categories\": [\n      {\n        \"categoryId\": \"string\",\n        \"description\": \"string\",\n        \"displayPriority\": 0\n      }\n    ]\n  },\n  \"errors\": [\n    {\n      \"code\": \"string\",\n      \"title\": \"string\",\n      \"detail\": \"string\",\n      \"source\": \"string\"\n    }\n  ],\n  \"warnings\": [\n    \"string\"\n  ]\n}"
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /getPublishingPeriodClasses:
    get:
      operationId: getPublishingPeriodClasses
      summary: getPublishingPeriodClasses
      tags:
      - Settlement Direct
      description: getPublishingPeriodClasses
      parameters:
      - name: PublishingTypeId
        in: query
        required: false
        schema:
          type: string
      - name: PublishingBusinessId
        in: query
        required: true
        schema:
          type: string
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example: "{\n  \"transactionId\": \"string\",\n  \"data\": {\n    \"periodClasses\": [\n      {\n        \"publishingPeriodClassId\": \"string\"\n      }\n    ]\n  },\n  \"errors\": [\n    {\n      \"code\": \"string\",\n      \"title\": \"string\",\n      \"detail\": \"string\",\n      \"source\": \"string\"\n    }\n  ],\n  \"warnings\": [\n    \"string\"\n  ]\n}"
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /getPublishingPeriodInstances:
    get:
      operationId: getPublishingPeriodInstances
      summary: getPublishingPeriodInstances
      tags:
      - Settlement Direct
      description: getPublishingPeriodInstances
      parameters:
      - name: publishingTypeId
        in: query
        required: false
        schema:
          type: string
      - name: publishingPeriodClassId
        in: query
        required: false
        schema:
          type: string
      - name: publishingBusinessId
        in: query
        required: true
        schema:
          type: string
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example: "{\n  \"transactionId\": \"string\",\n  \"data\": {\n    \"periodInstances\": [\n      {\n        \"publishingPeriodInstanceId\": \"string\"\n      }\n    ]\n  },\n  \"errors\": [\n    {\n      \"code\": \"string\",\n      \"title\": \"string\",\n      \"detail\": \"string\",\n      \"source\": \"string\"\n    }\n  ],\n  \"warnings\": [\n    \"string\"\n  ]\n}"
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /getPublishingTypes:
    get:
      operationId: getPublishingTypes
      summary: getPublishingTypes
      tags:
      - Settlement Direct
      description: getPublishingTypes
      parameters:
      - name: publishingCategoryId
        in: query
        required: false
        schema:
          type: string
      - name: publishingBusinessId
        in: query
        required: true
        schema:
          type: string
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example: "{\n  \"transactionId\": \"string\",\n  \"data\": {\n    \"publishingTypes\": [\n      {\n        \"publishingTypeId\": \"string\",\n        \"displayPriority\": 0,\n        \"description\": \"string\"\n      }\n    ]\n  },\n  \"errors\": [\n    {\n      \"code\": \"string\",\n      \"title\": \"string\",\n      \"detail\": \"string\",\n      \"source\": \"string\"\n    }\n  ],\n  \"warnings\": [\n    \"string\"\n  ]\n}"
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /getUserSubscriptions:
    get:
      operationId: getUserSubscriptions
      summary: getUserSubscriptions
      tags:
      - Settlement Direct
      description: getUserSubscriptions
      parameters:
      - name: publishingBusinessId
        in: query
        required: true
        schema:
          type: string
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example: "{\n  \"transactionId\": \"string\",\n  \"data\": {\n    \"subscriptions\": [\n      {\n        \"publishingCategoryId\": \"string\",\n        \"publishingTypeId\": \"string\",\n        \"isPlainTextRequested\": true,\n        \"contacts\": [\n          {\n            \"contactId\": \"string\",\n            \"deliveryChannels\": [\n              {\n                \"deliveryChannelId\": \"string\",\n                \"isSubscribed\": true\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  }\n}"
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /publishFiles:
    post:
      operationId: publishFiles
      summary: publishFiles
      tags:
      - Settlement Direct
      description: publishFiles
      parameters:
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      requestBody:
        content:
          application/json:
            example:
              optionalEncryptionKey: string
              files:
              - string
              publicationMethod: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example:
                transactionId: string
                data:
                - string
                errors:
                - code: string
                  title: string
                  detail: string
                  source: string
                warnings:
                - string
        '400':
          description: Mandatory HTTP header {missing Header Name} is missing. No response payload.
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized. No response payload.
          content:
            application/json:
              schema: {}
        '404':
          description: Resources for the endpoint URI not found. Endpoint URI:{requested URI path suffix}. No response payload.
          content:
            application/json:
              schema: {}
        '405':
          description: Method Not Allowed. Input request HTTP method {requested verb} is not allowed for this resource. No response payload.
          content:
            application/json:
              schema: {}
        '429':
          description: Too Many Requests. Number of inbound requests exceeded the throttling limits; try after sometime. No response payload.
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error. Exception from backend system. No response payload.
          content:
            application/json:
              schema: {}
  /updateUserSubscriptions:
    post:
      operationId: updateSubscription
      summary: updateSubscription
      tags:
      - Settlement Direct
      description: updateSubscription
      parameters:
      - name: X-initiatingParticipantId
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
          enum:
          - ''
      requestBody:
        content:
          application/json:
            example:
              subscriptions:
              - publishingCategoryId: string
                publishingTypeId: string
                isPlainTextRequested: true
                contacts:
                - contactId: string
                  deliveryChannels:
                  - deliveryChannelId: string
                    isSubscribed: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              example:
                transactionId: string
         

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