Your Services

GET /api/services returns every active service on your account — the starting point for almost every integration.

Ready to bring your services under programmatic control?

Log in to the Console

The endpoint

GET https://api.simpletelecom.com.au/v1/api/services

Returns a paginated list of all active services on your account. Use the service_id from each record with the routing endpoints, and service_number when querying CDRs.

Request parameters

| Parameter | Type | Required | Default | Description | |---|---|---|---|---| | page | integer | No | 1 | Page number | | page_size | integer | No | 50 | Records per page (max 100) | | order | string | No | asc | Sort by service number: asc or desc |

Response

{
  "data": [
    {
      "service_id": 101,
      "service_number": "1300858751",
      "service_type": "1",
      "status": "active"
    },
    {
      "service_id": 123,
      "service_number": "0731236322",
      "service_type": "9",
      "status": "active"
    }
  ],
  "meta": {
    "total_records": 2,
    "page": 1,
    "page_size": 50,
    "total_pages": 1
  }
}

Response fields

| Field | Type | Description | |---|---|---| | service_id | integer | Unique identifier — use this with the routing endpoints | | service_number | string | The phone number — use this when querying CDRs | | service_type | string | Type of service: 1 = 1300, 2 = 1800, 9 = Line Hunt | | status | string | Always active — only active services are returned |

Only active services are returned, so this endpoint is a reliable source of truth for what's currently live on your account.

Example — synchronous inventory sync

A common pattern is to fetch all services and store them locally so you can build dropdowns, report on usage, or reconcile against your own billing system.

JavaScript (fetch)

const token = "st_your_token_here";
const base = "https://api.simpletelecom.com.au/v1";

let page = 1;
let services = [];

while (true) {
  const res = await fetch(
    `${base}/api/services?page=${page}&page_size=100&order=asc`,
    { headers: { Authorization: `Bearer ${token}` } }
  );
  const { data, meta } = await res.json();
  services.push(...data);
  if (page >= meta.total_pages) break;
  page += 1;
}

console.log(`Synced ${services.length} services`);

Identify your service types

The service_type field tells you what kind of number each service is:

  • 1 — 1300 Number (a national inbound number).
  • 2 — 1800 Number (a freephone inbound number).
  • 9 — Line Hunt (a group of lines with hunt-group behaviour, commonly used for call tracking).

You can use this to power different workflows per product — for example, applying different call-cost logic for 1300 vs 1800 numbers, or surfacing line-hunt services only in a call-tracking dashboard.

Use cases

  • Onboarding a new app — present the account's numbers as a picker without asking the user to type them.
  • Reconciliation — build the ground-truth list of numbers to compare against your own database.
  • Bulk operations — iterate every service ID so you can push the same routing change across all numbers (see Manage forwarding).
  • Call tracking — find your Line Hunt services (service_type: 9) and pair them with call detail records to measure lead attribution.

Related