$ curl -x http://user:pass@xxx.nodetonet.com:48888 https://api.ipify.org→ 188.114.96.7$ curl ... -H "X-Session: abc" # sticky→ 188.114.96.7 # same IP (TTL 600s)$ curl ... -H "X-Rotate: 1" # rotate→ 92.184.117.42 # new IP POSTMAN nodetonet.com
Integration Postman REST API Developer Experience

Nodetonet in Postman — fork the collection, set your token, ship requests

Set up a Postman environment for the Nodetonet REST API in two minutes: Bearer auth, environment variables, and ready-to-run examples for proxies, devices and tokens.

N Nodetonet Team
May 15, 2026 9 min read

Postman is the right tool when you want to explore an API before writing code, share a working request with a teammate, or smoke-test a production change without spinning up a local environment. The Nodetonet REST API works perfectly in Postman — no special protocol, no signed-URL ceremony, just Bearer auth and JSON.

TL;DR: create one environment with two variables, set the Authorization header once on the collection, then every request inherits it. The whole setup takes about two minutes.

We are publishing a hosted collection at /api/postman-collection.json (ETA Q3 2026). Until it lands, the manual setup below produces a byte-identical workspace. The guide also covers Newman for CI, practical tips, and how Postman connects to the broader Nodetonet developer surface — including HTTP tunnels, rotating proxies and the reseller API.

What the Nodetonet REST API covers

Before you open Postman, it helps to know what the API actually controls. Nodetonet is a self-hosted mobile proxy and rotating proxy platform — the REST API is the programmatic surface for everything you can do in the panel:

API groupWhat it controlsKey operations
ProxiesSingle-device and upstream proxy configslist, get, create, update, delete, start, stop
Rotating proxiesToken groups, client auth, quota, thread limitslist, create, manage clients, flush quota
DevicesPaired Android phones running the agent applist, health, reset IP, restart
TokensAPI tokens with scope-based accesslist, create, revoke
ServersEdge nodes running the data planelist, port pool, capacity
HTTP tunnelsPublic subdomains backed by the Windows .exe agentlist, create, delete
Audit log30-day activity trailquery with filters
HealthSystem status (no auth required)GET /health

Each group maps one-to-one to a Postman folder in the hosted collection. For a narrative walkthrough of the same surface from code, see REST API: your first call and programmatic tunnel creation in Python.

Step 1 — Create the Postman environment

Open Postman and navigate to Environments → Create. Name it nodetonet-prod. Add exactly two variables:

VariableInitial valueCurrent valueType
base_urlhttps://nodetonet.com/api/v1samedefault
ntn_token(leave blank)your Bearer tokensecret

Marking ntn_token as secret masks it in the UI and strips it from shared collection exports. To get your token value, log in and open the API tokens page — create a token with the scopes you need (for read-only testing, proxies:read devices:read is enough). For background on token scopes, see customer API tokens vs personal tokens.

Create a second environment named nodetonet-dev with the same variables but a staging token. Switch between them with the environment dropdown — no risk of POSTing to production when you meant dev.

Step 2 — Configure authorization on the collection

Create a new collection called Nodetonet. In its Authorization tab, select Bearer Token and enter {{ntn_token}} as the value. Every request you add inherits this setting — you never repeat the header per request. This is the single most useful Postman pattern for token-authenticated APIs.

Step 3 — Your first request: list proxies

Add a request to the collection:

GET {{base_url}}/proxies

No body, no extra headers. Hit Send and you get a JSON array of proxy objects. To narrow the results — say, only running proxies — add query params:

GET {{base_url}}/proxies?status=running&limit=50

Add a Tests snippet to assert shape:

pm.test("response is 200", () => pm.response.to.have.status(200));
pm.test("all proxies running", () => {
  pm.response.json().forEach(p => pm.expect(p.status).to.eql("running"));
});

The Tests tab runs after every Send. When you hook this into Newman for CI it becomes a contract test that runs on every PR — see audit logs for what the API records about these calls.

Step 4 — Create a proxy and capture the ID

Add a POST request:

POST {{base_url}}/proxies
Content-Type: application/json

{
  "name": "postman-test",
  "protocol": "http",
  "port": 10200
}

In the Tests tab, capture the returned ID so later requests can reuse it:

const body = pm.response.json();
pm.environment.set("last_proxy_id", body.id);
pm.environment.set("last_proxy_port", body.port);
console.log("created proxy", body.id, "on port", body.port);

{{last_proxy_id}} is now available in any subsequent request. This pattern — capture → reuse — is the core of Postman automation. Combine it with a DELETE call and you have a full create-verify-teardown smoke test. For details on proxy protocols supported (HTTP, HTTPS and SOCKS5), see the features page.

Step 5 — Delete a proxy

DELETE {{base_url}}/proxies/{{last_proxy_id}}

Chain "create → verify → delete" in the Postman Collection Runner for a repeatable smoke test that finishes in a few seconds. Export the collection and environment as JSON files, then drive them headlessly with Newman:

newman run nodetonet.postman_collection.json        -e nodetonet.postman_environment.json        --env-var ntn_token=$NTN_TOKEN        --reporters cli,junit        --reporter-junit-export results.xml

The JUnit reporter output integrates with GitHub Actions, Jenkins or any CI system that reads test XML. See understanding your API key for how to inject NTN_TOKEN as a CI secret.

Step 6 — Working with devices

Devices are Android phones running the Nodetonet agent app — each one is a mobile proxy exit point on a real cellular carrier. The devices API lets you read health, trigger IP rotation, and restart the agent remotely:

GET  {{base_url}}/devices              // list all paired devices
GET  {{base_url}}/devices/{{device_id}} // health, carrier, last-seen
POST {{base_url}}/devices/{{device_id}}/reset-ip  // trigger IP rotation
POST {{base_url}}/devices/{{device_id}}/restart   // restart agent

This is particularly useful when testing rotating proxy pipelines — you can programmatically force an IP change and immediately verify the new exit IP with our free What is my IP tool. You can also verify the new IP through our proxy checker. For the full device lifecycle, read device health: what "Online" means.

Step 7 — Rotating proxy and client management

Rotating proxies (token groups) are the multi-device pooled mode. Key endpoints:

GET  {{base_url}}/rotating-proxies              // list pools
POST {{base_url}}/rotating-proxies              // create a pool
GET  {{base_url}}/rotating-proxies/{{rp_id}}/clients       // list per-customer credentials
POST {{base_url}}/rotating-proxies/{{rp_id}}/clients       // create a client with quota + expiry
PUT  {{base_url}}/rotating-proxies/{{rp_id}}/clients/{{client_id}} // update quota or threads
DELETE {{base_url}}/rotating-proxies/{{rp_id}}/clients/{{client_id}}

If you operate a reseller or white-label setup, the clients API is how you provision sub-accounts programmatically. See proxy clients: per-customer auth, quota limits per client and thread limits per client for field-level docs.

Tips that aren't obvious until you've done it once

The hosted collection (Q3 2026)

When it ships, importing the collection via /api/postman-collection.json (or clicking the "Run in Postman" button that will appear on every doc page) drops all eight API groups pre-configured into your workspace — with example responses, 4xx examples, and Tests assertions included. Until then, the manual setup above is functionally identical. Bookmark this page; we'll update it the day the collection goes live.

Ready to make your first call? Create a free account, grab a token, paste the environment snippet above, and hit Send. Your first proxy is one request away.

Frequently asked questions

Do I need a paid plan to use the Nodetonet REST API?
No monthly subscription is required. Nodetonet is billed on prepaid credit — you top up and pay only for actual usage. Creating an account and generating an API token is free. See create an account to get started.
When will the official Postman collection be published?
Q3 2026, alongside the CLI and SDK developer-experience deliverables. The collection will live at /api/postman-collection.json and every doc page will gain a "Run in Postman" button. Until then the manual setup on this page is functionally identical.
Can I share the collection with a teammate without exposing my token?
Yes. Share the collection file, but mark ntn_token as secret in the environment — Postman strips secrets from shared exports. Each teammate creates their own token and pastes it into their local copy of the environment. The collection itself contains no credentials.
Does Newman (CLI runner) work the same way as the Postman UI?
Yes — Newman is the headless runner for Postman collections. Export the collection and environment as JSON, then run newman run collection.json -e env.json --env-var ntn_token=$NTN_TOKEN. Add --reporters junit to get XML output for CI dashboards.
Can I test rotating and sticky proxy modes from Postman?
Yes. Send requests through the proxy endpoint using Postman's proxy settings (or a pre-request script that hits {{base_url}}/rotating-proxies/{{rp_id}}/connect) and vary the username modifier — omit -session-* for rotating, add -session-ABC for sticky. Check the exit IP with our What is my IP tool between requests.
How do I handle pagination in the Postman collection?
List endpoints accept limit and offset query params. Set them as environment variables (limit=50, offset=0), then update offset in the Tests tab after each call: pm.environment.set("offset", Number(pm.environment.get("offset")) + 50). Run with Collection Runner to iterate through all pages automatically.
Is there an OpenAPI spec I can import instead?
Yes. Import /openapi.json in Postman via File → Import → Link. This gives full endpoint coverage and auto-updates when we ship new fields. The dedicated Postman collection adds hand-crafted example responses and Tests assertions on top, so both have their place.

Try the API from Postman in two minutes

Set up the environment, paste the create-proxy request, send. Your first proxy is one request away.