7 Power Quality Data API

This API Application Programming Interface; a set of clearly defined methods of communication between various software components. provides an interface for submitting and retrieving structured basic power quality data within the NEM. For details about the API endpoints, server, payload and response schemas, and security details, see Power Quality Data OpenAPI specification.

7.1 Access

Participant administrators provide access to the PQD API using the entity PQD_BPQD. The following permissions provide access to the associated resources and endpoints:

  • R (read) - All endpoints using the GET method.
  • C (create) - All endpoints using the POST  method.

For more information, see Guide to User Rights Management.

7.2 API gateway

Participants can connect Energy Rules Terms to the AEMO API Gateway The gateway on AEMO’s side providing participant communication options, accessible over the internet or MarketNet. It uses resources and methods to push messages to Participants’ API Gateways . through MarketNet AEMO's private VPN for Registered Participants. A network of more than 300 registered participants in the National Electricity Market, including market generators, transmission network service providers, distribution network service providers, and market customers..

All communications between AEMO Australian Energy Market Operator’s API gateway and participants’ gateways use HTTPS Hypertext Transfer Protocol Secure, adds the security capabilities of SSL to standard HTTP communications.. AEMO APIs do not support HTTP.

7.3 Authentication

The API uses OAuth 2.0 with the client credentials grant type. A bearer token is returned and used to authenticate API requests. See securitySchemes in the Power Quality Data OpenAPI specification.

7.4 Base urls

Environment

Base URLs

MarketNet pre-production

https://apis.nem.ppd.marketnet.net.au/pqd/v1

MarketNet production

https://apis.nem.marketnet.net.au/pqd/v1

7.5 Compression

For details, see the Industry Data Exchange Platform Standard.

7.6 Endpoints

Endpoint

Method

Description

Success response

/bpqd

POST

Submit BPQD. Payload contains data at the 5-minute trading resolution.  For payload details, see PQD payload format and structure

201postPqd

/bpqd

GET

A list of metadata for BPQD messages in the queue

200 (OK)

/bpqd/{messageContextId}

GET

Retrieve a BPQD payload

200 (OK)

/bpqd/{messageContextId}

DELETE

Delete a BPQD payload

204 (Deleted)

/bpqd/first

GET

Retrieve the first message by a given priority

200 (OK)

7.7 HTTP response codes

For details, see the power quality data openapi specification.

7.8 Pagination

Cursor-based pagination is supported for GET API requests.

For the first API request, use itemCount as a query parameter without a cursor to retrieve the first set of data. In the following example, the request specifies to return 2 records on a page:

https://apis.nem.marketnet.net.au/pqd/v1/bpqd?itemCount=2&fromDateTime=2025-10-16T08:56:45+00:00&toDateTime=2025-10-17T08:56:45+00:00

The response provides a meta object with the nextCursor value. For example:

meta:

      itemCount: 2

      nextCursor: pqd_partid_m_actew_9c1e2d3a-4b5f-6c7d-8e9f-            0a1b2c3d4e22

      totalRecords: 4

      totalPages: 2

 

For subsequent requests, use the nextCursor value provided in the previous response in the cursor query parameter to request the next set of data. For example:

https://apis.nem.marketnet.net.au/pqd/v1/bpqd?itemCount=2&cursor=pqd_bpqd_m_partid_9c1e2d3a-4b5f-6c7d-8e9f-0a1b2c3d4e22&fromDateTime=2025-10-16T08:56:45+00:00&toDateTime=2025-10-17T08:56:45+00:00

7.9 Payload limit

The payload limit is 10 MB uncompressed.

7.10 PQD payload format

The PQD payload format is JSON JavaScript Object Notification. For schema details, see PQD schema.

A BPQD payload contains data at the 5-minute trading resolution.

7.11 Rate limiting

Each Participant ID Registered participant identifier; A company can have more than one Participant ID. is limited to 50 requests per minute per endpoint.

Exceeding the limit results in a 429 Too Many Requests response, and further requests are rejected.

7.12 Submission requirements

MCs and MDPs must implement BPQD bundling and JSON minification as part of their BPQD submission workflow.

7.12.1 BPQD bundling

BPQD submissions use the IDX Fire and Forget API Channel designed for high-volume batch submissions. Participants must minimise message counts by automatically aggregating BPQD readings into payloads that utilise the 10 MB uncompressed limit.

Payloads must be sized as close as possible to the 10 MB uncompressed limit. Participant systems must not send individual messages per NMI See Relevant Rules or Procedures, except in unavoidable circumstances.

7.12.2 JSON minification

JSON minification must be applied to all outbound BPQD payloads. Minification involves removing unnecessary whitespaces, line breaks, and comments from JSON data prior to submission. Payloads must be minified to maximise the number of records per submission and minimise network utilisation.

Automated JSON minification should be integrated into the BPQD outbound process.

7.13 Submission size

A submission request has a payload limit of 10 MB uncompressed. For more details, see Submission requirements.

7.14 Validation

Validation A process to test the veracity and integrity of metering data. is applied only to HTTP headers, query, and path parameters in the request.

The BPQD payload schema and content is not validated.