The Check Networks API
The API lets you run your services from your own systems: qualify and order NBN and Opticomm data services, manage numbers, SIP trunks and SMS, raise support tickets, receive webhooks, and read your account and billing.
The full reference is at
api.checknetworks.tools/docs. The
OpenAPI document behind it, for generating a client, is at
https://api.checknetworks.tools/docs/openapi.json.
Getting started
Section titled “Getting started”- Create an API key under Company Settings → Integrations → API Keys, and choose the scopes it may use. The Client Secret is shown once. See API Keys and Scopes.
- Request an access token from
POST /oauth/tokenwithgrant_type=client_credentials, yourclient_idandclient_secret, and the scopes you need as a space-separatedscope, for examplescope=data:read tickets:read. - Call
GET /pingwith the token to confirm it works and see the scopes it carries. - Send the token on every request as
Authorization: Bearer <access token>. A token lasts one hour; request a new one when it expires.
Use https://api.checknetworks.tools/v2 as the base URL. Paths without
/v2 also work and mean v2, but naming the version means a later one can
never change what a call does underneath you.
Conventions
Section titled “Conventions”- Field names are
camelCase. - Money is a decimal string in Australian dollars (
"49.95"), with acurrencyfield alongside. - One object comes back in
result, and a list inresults. - Lists take
pageandperPage(default 50, at most 200) and returntotal,pageandperPage. - Some
/nbnand/opticommendpoints mirror the carrier’s own API and return the carrier’s own bodies, so an integration written for the carrier works unchanged. The reference marks which.
Errors
Section titled “Errors”Errors use standard HTTP status codes, with a body that says more:
codesays what went wrong, such asnot_found. Your code should check this one.reasonexplains it for a person. The wording can change.fieldsnames each input that failed validation.carrierCodeholds nbn’s or Opticomm’s own code when they refused the request.
A 401 means the token is missing, expired or invalid. A 403 means the
token lacks the scope the endpoint needs, or its key was revoked. Check
the scope field of the token response first.
Retrying writes safely
Section titled “Retrying writes safely”A write can carry an Idempotency-Key header (a new UUID per operation)
so that retrying it never does the work twice. It is required on every
write under /data, /nbn and /opticomm, because those reach a
carrier, where a repeat could place a second real order. Without it they
answer 400.
Sending the same key and the same request again returns the stored
response with Idempotent-Replayed: true, and nothing runs twice. A
request that timed out may still have succeeded, so the key stays spent.
Once you know the operation did not happen, send it under a new key.
Limits
Section titled “Limits”Each API key may make 120 requests per minute across the API. Carrier
writes under /data, /nbn and /opticomm also share 30 per minute
per account. Over a limit, requests answer 429 until the minute
passes.
Getting help
Section titled “Getting help”Every response carries a CN-Message-Id header. Quote it in your
ticket and we can find the exact request. We can help you understand the
API, but we can’t write your integration for you.