# Networks and IP ranges

`GET /v1/service/@id/networks` · scope `services:read`

Networks and IP ranges available when creating virtual machines.

## HTTP request

| Item | Value |
| --- | --- |
| URL | `https://api.tino.vn/v1/service/@id/networks` |
| Method | `GET` |
| Scope | `services:read` |
| Header | `Authorization: Bearer <token>` |
| Content-Type | — (no body) |
| Tokens that can call it | app tokens (`tinoat_`), personal API tokens (`tinopat_`) |

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | yes | Service ID |

## Example request

```bash
curl "https://api.tino.vn/v1/service/100001/networks" \
  -H "Authorization: Bearer $TINO_TOKEN"
```

`$TINO_TOKEN` is a token with the scope `services:read`. Path parameters in the example are sample values.

SDK ([SDK & examples](/en/docs/sdk)): Python `client.services.list_networks(id)`, Node.js `await client.services.listNetworks(id);`, PHP `$client->services->listNetworks($id);`.

## Example response

```json
{
 "network": {
  "devices": [],
  "zones": [
   {
    "value": "vmbr0:218",
    "zone": "vmbr0",
    "vlan": "218",
    "label": "vmbr0 VLAN #218"
   },
   {
    "value": "vmbr0:24",
    "zone": "vmbr0",
    "vlan": "24",
    "label": "vmbr0 VLAN #24"
   },
   "… 20 more item(s)"
  ],
  "limits": [
   {
    "name": "IPv4 Pool",
    "type": "ipv4",
    "options": [
     {
      "label": "Public IP(s)",
      "value": "public",
      "max": 0,
      "type": "ipv4",
      "zones": [
       "vmbr0",
       "vmbr20"
      ],
      "vlan": [
       "218",
       "24",
       "… 9 more item(s)"
      ],
      "gateways": []
     }
    ]
   },
   {
    "name": "IPv6 Pool",
    "type": "ipv6",
    "options": [
  … 24 more line(s)
```

Live sample from a test account with personal data masked; long arrays and strings are trimmed (`… N more item(s)`, `… N more line(s)`).
