# ACMA — Australian Communications and Media Authority > Australia's Commonwealth regulator for telecommunications, radiocommunications, broadcasting > and online content. ACMA operates two real programmatic surfaces, both attached to statutory > registers: the **Spectrum Licensing API**, a completely public and anonymous REST+SOAP service > over the Register of Radiocommunications Licences, and the **Do Not Call Register Real Time > Access washing service**, a paid SOAP channel telemarketers must use before calling Australian > numbers. ACMA publishes no OpenAPI; the OpenAPI below is an API Evangelist reconstruction from > ACMA's own published guide, its live WSDL and live-verified responses. > > No API key. No account. No OAuth. The Spectrum Licensing API answers anonymous requests. > Generated by the API Evangelist enrichment pipeline, 2026-07-25. ## APIs - [ACMA Spectrum Licensing API](https://www.acma.gov.au/radiocomms-licence-data): 22 read-only operations (11 web methods × XML and JSON projections) over licences, licensees, transmitter sites, device registrations, frequency assignments, antennas, access areas and the 400 MHz band register. Base URL `https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc`. No authentication. Capped at 2,000 records per query. - [Do Not Call Register Real Time Access (RTA) washing service](https://www.donotcall.gov.au/industry/washing-process-overview/soap): SOAP service with three operations — GetAccountBalance, WashNumbers, GetWashResult. Endpoint `https://www.donotcall.gov.au/dncrtelem/rtw/washing.cfc`. Requires an industry account and a paid subscription of type D or above; metered in wash credits. ## Specs - [OpenAPI 3.1 — Spectrum Licensing (reconstructed)](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/openapi/acma-spectrum-licensing-openapi.yml) - [WSDL — Spectrum Licensing (live, verbatim)](https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc?wsdl) - [WSDL — Do Not Call Register RTA (live, verbatim)](https://www.donotcall.gov.au/dncrtelem/rtw/washing.cfc?wsdl) - [XML Schemas — Spectrum Licensing](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/wsdl/acma-spectrum-licensing-xsd0.xsd) - [OpenAPI Overlay — API Evangelist annotations](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/overlays/acma-spectrum-licensing-overlay.yaml) ## Docs - [Spectrum Licensing API guide (DOCX, v1.0, 17 June 2016)](https://www.acma.gov.au/sites/default/files/2019-11/Spectrum%20licensing%20API.docx) - [Radiocomms licence data — terms, download and API access](https://www.acma.gov.au/radiocomms-licence-data) - [Register of Radiocommunications Licences (RRL)](https://www.acma.gov.au/register-radiocommunication-licences-rrl) - [Offline RRL browser tool](https://web.acma.gov.au/offline-rrl/) - [Do Not Call Register — washing process overview](https://www.donotcall.gov.au/industry/washing-process-overview) - [Do Not Call Register — SOAP fact sheet (PDF)](https://www.donotcall.gov.au/getmedia/9810ca84-d7af-4972-b626-6b5495f52ac2/DNCR-SOAP-Fact-Sheet.pdf) - [Do Not Call Register — SFTP automated washing service](https://www.donotcall.gov.au/industry/washing-process-overview/sftp) - [Do Not Call Register — subscriptions and fees](https://www.donotcall.gov.au/industry/subscription-overview) - [ACMA vulnerability disclosure policy](https://www.acma.gov.au/vulnerability-disclosure-policy) - [ACMA developer portal (Azure API Management — sign-in required, nothing visible anonymously)](https://developer.acma.gov.au/) - [ACMA datasets on data.gov.au](https://data.gov.au/data/organization/australiancommunicationsandmediaauthority) ## Artifacts - [Authentication profile](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/authentication/acma-authentication.yml) - [API conventions](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/conventions/acma-conventions.yml) - [Error behaviour (Spectrum Licensing)](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/errors/acma-problem-types.yml) - [System codes (Do Not Call Register RTA)](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/errors/acma-dncr-system-codes.yml) - [Rate limits and payload ceilings](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/rate-limits/acma-rate-limits.yml) - [Plans and wash-credit subscriptions](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/plans/acma-plans.yml) - [Lifecycle, versioning and withdrawn operations](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/lifecycle/acma-lifecycle.yml) - [Data model / entity graph](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/data-model/acma-data-model.yml) - [Standards conformance](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/conformance/acma-conformance.yml) - [MCP server (candidate)](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/mcp/acma-mcp.yml) - [MCP tool crosswalk](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/mcp/acma-tool-crosswalk.yml) - [Agent skills index](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/skills/_index.yml) - [Agentic access contracts](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/agentic-access/acma-agentic-access.yml) - [Domain security probe](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/security/acma-domain-security.yml) - [Vulnerability disclosure](https://raw.githubusercontent.com/api-evangelist/acma/refs/heads/main/security/acma-vulnerability-disclosure.yml) - [Live response examples](https://github.com/api-evangelist/acma/tree/main/examples) - [Arazzo workflows](https://github.com/api-evangelist/acma/tree/main/arazzo) ## Using these APIs correctly - The Spectrum Licensing API is anonymous, read-only and GET-only. There are no writes anywhere in ACMA's public surface. - Every query is capped at 2,000 records and truncation is SILENT. Read `TOTAL_RESULT` from any record and page with `offset`/`strOffset`. For whole-dataset work, take the daily zip extract instead — that is what the cap exists to push you toward. - Format is chosen by the operation name suffix (`…XML` / `…JSON`), not by an Accept header. JSON is served as `application/octet-stream`. - No matches is HTTP 200 with an empty array, not 404. Errors are HTML fault pages with no machine-readable body. - Frequency units differ by operation (Hz on registrations and assignments, MHz on the 400 MHz register); request dates are DD-MM-YYYY while response dates are ISO local datetimes. - Licence records contain personal information. ACMA's licence terms forbid using it for unsolicited telemarketing, spam or mail advertising, and forbid redistributing a natural person's details in a derivative. Attribute output as "Based on Australian Communications and Media Authority information". - Washing numbers costs money. Every number submitted — including invalid ones — consumes a wash credit, so validate before you submit, and recover a timed-out wash with `GetWashResult` and the original `ClientReferenceId` rather than resubmitting. ## Not available - No OpenAPI, Swagger or AsyncAPI published by ACMA on any host. - No GraphQL, no gRPC, no webhooks and no event surface of any kind. - No SDKs, no CLI, no Postman collection, and no ACMA GitHub organisation. Generate a client from the WSDL instead. - No `/.well-known/` documents anywhere — including no security.txt, despite a real published vulnerability disclosure policy. - No status page, no SLA, no dated API changelog, no deprecation policy. - No OAuth, OpenID Connect, API keys or scopes. - No CAMARA or GSMA Open Gateway posture — ACMA regulates the operators that expose those APIs; it does not expose them.