Reseller API
Connect your CRM or billing system to your ZoltVPN reseller account: read your plans, prices and clients, buy subscriptions from your wallet, and get told about events as they happen.
On this page
What you can do
- See the plans you may sell, with your price and the retail price, and quote any purchase before you make it.
- Follow your clients: their plan, expiry date, devices and usage.
- Create clients and renew plans, and sell extra devices, static IPs, extra data and subscription codes, paid from your wallet.
- Suspend, resume or disconnect a client.
- Receive webhooks when a code is redeemed, a plan is renewed or a client is about to expire.
- Send push notifications to your own clients.
A key reaches only your own account, and you choose what each key may do with scopes.
Quick start
- Ask your account manager to turn on API access for your account.
- In the reseller portal, open API → Keys → Create key, and copy the key when it is shown.
- Call the API from your server with the key in the
Authorizationheader:
curl -s https://app.zoltvpn.com/api/reseller-api/v1/me \
-H "Authorization: Bearer $ZOLT_API_KEY"The base URL is https://app.zoltvpn.com/api/reseller-api/v1. A machine-readable OpenAPI 3 description is available too.
The guide
Before you start
How to get ZoltVPN Reseller API access: have it turned on, create a key with scopes, an expiry and allowed IPs, and keep the key safe.
Authentication
Authenticate to the ZoltVPN Reseller API with a Bearer key over HTTPS: the base URL, what a key can reach, and a first request with curl.
Scopes
The ZoltVPN Reseller API key scopes (read, purchase, manage and notify), what each one allows, and the error a call outside its scope returns.
Conventions
ZoltVPN Reseller API conventions: camelCase JSON, money in integer US cents, ISO-8601 UTC times, data in bytes, UUIDs, paging and billing terms.
Rate limits
ZoltVPN Reseller API limits per minute and per day, the rate-limit headers on every answer, the 24-hour block, and how to stay inside the limits.
Safe retries
Retry ZoltVPN Reseller API purchases safely with an Idempotency-Key header: a repeat within 24 hours returns the first answer and never charges twice.
Errors
The ZoltVPN Reseller API error format and every error code by HTTP status, from invalid_request and insufficient_credit to rate_limited.
Endpoints
Every ZoltVPN Reseller API endpoint with examples: account, plans and quotes, clients and usage, purchases, codes, wallet and push notifications.
CRM sync
Sync your CRM with ZoltVPN in three Reseller API calls: cache your price list, page through clients by expiry date, then quote and renew safely.
Key safety
Keep ZoltVPN Reseller API keys safe: a secret store, one key per system, allowed IPs and an expiry, the activity log, and revoking a leaked key at once.
Webhooks
Receive ZoltVPN events on your HTTPS endpoint: payload and headers, HMAC-SHA256 signature checks in Node.js, PHP and Python, retries and every event type.
Push notifications
Send push notifications to your own ZoltVPN clients from your CRM: the request, the daily limits, per-client results and the list of messages you sent.