List Regions
Catalog of tunnel-server regions available on this deployment. Endpoints are region-less: an agent picks its region when it connects (discovery routes it to the nearest healthy region, or to its --region / AGENT_REGION preference), and its traffic enters there. Use the slug for that preference, for dedicated-IP requests and to filter traffic logs.
The list returned here is the global catalog — your plan may restrict which slugs you can actually use. Cross-reference with the region:<slug> keys in entitlements on /account/plan to filter: true means the account may serve tunnels from that region.
Response (200 OK)
An object with an items array of region objects:
slug string
Stable region identifier, e.g.
eu-fi, us-va. Use it for the agent’s region preference (--region / AGENT_REGION), in dedicated-IP requests (region_slug) and to filter traffic logs (region). Endpoints have no region.name string
Human-readable name (city or geographic label).
display_name string
Display label for the region (falls back to
name when unset).public_ip string
Public edge IP for this region. Informational.
tunnel_server_address string
Public address agents connect to for this region. Informational; the agent receives this via the management API at handshake time.
is_active boolean
Whether this region currently accepts new endpoints. May be
false during planned maintenance or capacity issues.Errors
401 Unauthorized
Missing or invalid auth.
Request
curl "https://api.ngris.com/v1/regions" \
-H "X-API-KEY: <your_api_key>"
Python
from ngris import Ngris
client = Ngris(api_key="<your_api_key>")
plan = client.users.get_plan()
allowed = {k.split(":", 1)[1] for k, on in plan["entitlements"].items()
if k.startswith("region:") and on}
for r in client.regions.list_regions():
if r["is_active"] and r["slug"] in allowed:
print(r["slug"], r["name"])
Response — 200 OK
{
"items": [
{
"slug": "eu-fi",
"name": "Europe (Finland)",
"display_name": "Europe (Finland)",
"public_ip": "65.21.194.241",
"tunnel_server_address": "ngris-eu-fi.ngris.io:84",
"is_active": true
},
{
"slug": "us-va",
"name": "US (Virginia)",
"display_name": "US (Virginia)",
"public_ip": "5.161.61.173",
"tunnel_server_address": "ngris-us-va.ngris.io:84",
"is_active": true
}
]
}
Was this helpful?