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 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: {} components: securitySchemes: apiKeyHeader: type: apiKey name: Ocp-Apim-Subscription-Key in: header apiKeyQuery: type: apiKey name: subscription-key in: query