Proxio API
The Proxio REST API gives you one base URL, one auth scheme, one response envelope, cursor pagination, idempotent writes, signed webhooks, and an OpenAPI 3.1 document. Manage services, credentials, usage, orders, and proxy lists programmatically.
The Proxio API is a single, coherent control-plane REST API. It covers the day-to-day work: list your services, mint proxy credentials, generate ready-to-use proxy lists, read usage, place orders and renewals, and receive signed webhooks when things change. A handful of account operations stay in the dashboard, listed under what the API does not cover.
It is built to be predictable. One base URL, one authentication scheme, one response envelope, one error taxonomy, cursor pagination on every list that can grow, documented rate limits, idempotent writes, and an OpenAPI 3.1 document you can feed straight into codegen.
Base URL
Every endpoint lives under a single host and version prefix:
https://dashboard.proxio.net/api/v1All requests are HTTPS only, send and receive application/json (UTF-8), and
carry your API key in the Authorization header. The one documented exception
is GET /services/{id}/proxy-list with
format=txt or format=csv, which returns text/plain or text/csv.
Endpoint paths in these docs (for example GET /services) are written relative
to that base URL; code samples build full URLs from a BASE constant. The
discovery route is a GET on the base URL itself.
The envelope at a glance
Every successful response wraps its payload in a data field, with an optional
meta object that always carries a request_id and, for paginated lists, a
next_cursor:
{
"data": { "id": "clpkg_2a9x", "category": "RESIDENTIAL", "status": "active" },
"meta": { "request_id": "req_8Ke2jP4mQ" }
}Every error uses the same envelope in reverse, with a stable machine-readable
code, a human message, a deep link to the docs, and the request_id to
quote to support:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "quantity_gb must be an integer >= 1.",
"doc_url": "https://docs.proxio.net/docs/api/errors#validation_error",
"request_id": "req_8Ke2jP4mQ",
"details": [{ "field": "quantity_gb", "issue": "too_small", "min": 1 }]
}
}See Errors for the complete catalog and Pagination for the cursor model.
Use with an AI assistant
These docs are built to be handed straight to an AI coding assistant. Point it at the machine-readable sources below and ask it to write the integration, the whole API surface is available in a form an LLM can ingest in one fetch.
| Source | URL | Use it for |
|---|---|---|
llms.txt | https://docs.proxio.net/llms.txt | A concise, link-based map of every docs page. |
llms-full.txt | https://docs.proxio.net/llms-full.txt | The full text of every page concatenated into one file, ideal to paste or feed as context. |
| OpenAPI 3.1 | https://dashboard.proxio.net/api/v1/openapi.json | The canonical machine-readable spec for codegen and typed clients. |
Give your assistant one of these URLs and a plain-English goal. A prompt like this is usually enough:
Here is the Proxio API spec: https://dashboard.proxio.net/api/v1/openapi.json
And the full docs: https://docs.proxio.net/llms-full.txt
Write a Python client that:
- authenticates with my pxo_ key from the PROXIO_API_KEY env var
- generates 500 sticky US residential proxy lines and rotates to a fresh
session every 100 requests
- honors 429s using the Retry-After header
Use the documented endpoints and the { data, meta } / { error } envelope exactly.Keep the assistant accurate
Tell your assistant to branch on the error code (not the message), pass
meta.next_cursor back verbatim for pagination, and send an Idempotency-Key
on writes. Every rule it needs is in /llms-full.txt,
and where an example ever disagrees with the OpenAPI document,
the spec wins.
Why this API
| Guarantee | What it means for you |
|---|---|
| One auth scheme | A single Authorization: Bearer pxo_… key, SHA-256 hashed, scoped, revocable, with an optional IP allowlist. No second token, no second domain. |
| Cursor pagination where it matters | Every list that can grow without bound uses ?limit&cursor and returns meta.next_cursor / meta.has_more. One loop works everywhere it's used, services, orders, transactions, top-ups, webhooks and their delivery log, API keys. Small bounded lists return a full array instead, see Pagination. |
| Idempotency on writes | Send an Idempotency-Key and a retried request never double-charges or double-creates. Required on money moves, accepted on the writes listed in Idempotency. |
| Signed webhooks | Outbound HMAC-signed events (X-Proxio-Signature) so you can react to orders, usage thresholds, and expirations without polling. |
| OpenAPI 3.1 | A real, single-source machine-readable spec at /openapi.json for Postman, Insomnia, and SDK generators. |
| A written stability policy | The /v1 surface is additive-only. New fields never break you; removals get a /v2 and 12 months notice. See Versioning. |
What the API does not cover
Some account operations live only in the dashboard. There is no /v1 endpoint
for any of these:
| Not in the API | Where it lives |
|---|---|
| Support tickets | The dashboard support section. |
| Blocked destinations (blocklists and block rules) | The dashboard credential settings. |
| Rotation presets | The dashboard proxy settings. Per-request rotation is still fully controllable through the username grammar. |
Everything else in the dashboard, including wallet top-ups, API key management, and the auto-renewal toggle on a service, has an API equivalent.
Start here
Getting Started
Create a key in the dashboard and make your first authenticated request in cURL, Python, or Node.js.
Authentication
pxo_ keys, the read / write / purchase scopes, IP allowlists, expiry, and rotation.
Services
List your packages, read connection info, and drill into a single service.
Proxy List
Generate ready-to-paste proxy lines with targeting embedded in the username.
Conventions
Errors
The complete error-code catalog. Every code deep-links here from doc_url.
Rate Limits
120 requests per minute by default, X-RateLimit-* headers, and 429 handling.
Idempotency
Safe retries with Idempotency-Key: new, replay, conflict, and in-progress.
Versioning
The v1 stability policy plus Sunset and Deprecation headers.
Webhooks
Signed events, the full catalog, and a verification walkthrough in Python and Node.
OpenAPI
The machine-readable spec and how to import it into your tools.
Choosing Your Setup
A decision guide for residential proxies that helps you pick a rotation type, a geo scope, and a protocol, or start from a built-in preset or the dashboard's Proxy Advisor.
Getting Started
Create an API key in the Proxio dashboard, verify it with GET /account, and generate your first proxy list, with copy-paste examples in cURL, Python, and Node.js.

