/v1/healthno keyAPI health check. No authentication.
cURL example
curl -s 'https://api.tanuki.host/v1/health'
HTTPS JSON API for resellers: domains, VPS, Backend Proxy, cloaking, and outbound webhooks. Requests go to api.tanuki.host.
Base URL: https://api.tanuki.host
Health check without a key: GET /v1/health
For all routes except GET /v1/health, send your API key in a header:
Authorization: Bearer YOUR_API_KEY X-Api-Key: YOUR_API_KEY
The account must be approved as Reseller. Per-key rate limits apply (default ~60/min).
Paste your API key and run any method โ the JSON response appears below. Each endpoint has a Try button.
The key is stored only in your browser sessionStorage and is sent directly to api.tanuki.host โ we do not store it on the docs server.
JSON errors: <code>{"ok":false,"error":"code"}</code>. Success: <code>{"ok":true,...}</code>.
| HTTP | error | Meaning |
|---|---|---|
| 401 | unauthorized | Missing or invalid key |
| 403 | reseller_not_approved | Reseller API not approved for this account |
| 403 | api_host_forbidden | Request not sent to api.{domain} |
| 429 | rate_limit_exceeded | Key rate limit exceeded |
| 400 | โฆ | Invalid parameters or insufficient balance |
| 404 | not_found | Resource not found or not yours |
/v1/healthno keyAPI health check. No authentication.
curl -s 'https://api.tanuki.host/v1/health'
/v1/balanceAccount balance in USD.
curl -s 'https://api.tanuki.host/v1/balance' -H 'Authorization: Bearer YOUR_KEY'
/v1/domains/search?q={query}Search domains by name or keyword.
| Parameter | Description |
|---|---|
q | required domain or keyword |
curl -s 'https://api.tanuki.host/v1/domains/search?q=example' -H 'Authorization: Bearer YOUR_KEY'
/v1/domainsList account domains.
curl -s 'https://api.tanuki.host/v1/domains' -H 'Authorization: Bearer YOUR_KEY'
/v1/domains/registerRegister a domain (balance charged).
| Parameter | Description |
|---|---|
domain | string, FQDN |
years | int 1โ10, default 1 |
curl -s -X POST 'https://api.tanuki.host/v1/domains/register' \
-H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"domain":"example.com","years":1}'/v1/domains/renewRenew a domain.
| Parameter | Description |
|---|---|
domain | string |
years | int 1โ10 |
curl -s -X POST 'https://api.tanuki.host/v1/domains/renew' \
-H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"domain":"example.com","years":1}'/v1/servers/catalog/regionsVPS catalog regions.
curl -s 'https://api.tanuki.host/v1/servers/catalog/regions' -H 'Authorization: Bearer YOUR_KEY'
/v1/servers/catalog/tariffs?tariffpage_id={id}Plans for a tariffpage_id from the catalog.
| Parameter | Description |
|---|---|
tariffpage_id | required int from regions |
curl -s 'https://api.tanuki.host/v1/servers/catalog/tariffs?tariffpage_id=14' -H 'Authorization: Bearer YOUR_KEY'
/v1/servers/osAvailable OS images.
curl -s 'https://api.tanuki.host/v1/servers/os' -H 'Authorization: Bearer YOUR_KEY'
/v1/serversYour servers (public ids).
curl -s 'https://api.tanuki.host/v1/servers' -H 'Authorization: Bearer YOUR_KEY'
/v1/servers/orderOrder VPS using plan_id from catalog.
| Parameter | Description |
|---|---|
tariffpage_id | int |
plan_id | string from catalog |
os_key | optional |
password | optional root password |
server_name | optional label |
curl -s -X POST 'https://api.tanuki.host/v1/servers/order' \
-H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"tariffpage_id":14,"plan_id":"...","os_key":"ubuntu-22"}'/v1/servers/{id}Server details; live=1 syncs from provider.
| Parameter | Description |
|---|---|
live | optional 1 for live provider sync |
curl -s 'https://api.tanuki.host/v1/servers/1001?live=1' -H 'Authorization: Bearer YOUR_KEY'
/v1/servers/{id}/syncRefresh from provider.
curl -s -X POST 'https://api.tanuki.host/v1/servers/1001/sync' -H 'Authorization: Bearer YOUR_KEY'
/v1/servers/{id}/renewRenew server billing period.
curl -s -X POST 'https://api.tanuki.host/v1/servers/1001/renew' -H 'Authorization: Bearer YOUR_KEY'
/v1/servers/{id}/powerPower: start, stop, reboot.
| Parameter | Description |
|---|---|
action | start | stop | reboot |
curl -s -X POST 'https://api.tanuki.host/v1/servers/1001/power' \
-H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"action":"reboot"}'/v1/servers/{id}/passwordChange root password; new password may be returned.
| Parameter | Description |
|---|---|
password | optional new password |
curl -s -X POST 'https://api.tanuki.host/v1/servers/1001/password' -H 'Authorization: Bearer YOUR_KEY'
/v1/servers/{id}/reinstallReinstall OS.
| Parameter | Description |
|---|---|
os_id | int |
password | optional |
curl -s -X POST 'https://api.tanuki.host/v1/servers/1001/reinstall' \
-H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"os_id":1,"password":"Secret123"}'/v1/reverse-proxy/offerBackend Proxy offer.
curl -s 'https://api.tanuki.host/v1/reverse-proxy/offer' -H 'Authorization: Bearer YOUR_KEY'
/v1/reverse-proxy/offer/cloakBackend Proxy + Cloaking offer.
curl -s 'https://api.tanuki.host/v1/reverse-proxy/offer/cloak' -H 'Authorization: Bearer YOUR_KEY'
/v1/reverse-proxyList your Backend Proxies.
curl -s 'https://api.tanuki.host/v1/reverse-proxy' -H 'Authorization: Bearer YOUR_KEY'
/v1/reverse-proxy/orderOrder proxy; cloaking=true for bundle.
| Parameter | Description |
|---|---|
cloaking | bool, RP+Cloaking bundle |
backend_server_id | optional public server id |
curl -s -X POST 'https://api.tanuki.host/v1/reverse-proxy/order' \
-H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"cloaking":false,"backend_server_id":1001}'/v1/reverse-proxy/{id}Single proxy by public id.
curl -s 'https://api.tanuki.host/v1/reverse-proxy/501' -H 'Authorization: Bearer YOUR_KEY'
/v1/reverse-proxy/{id}/configureSet backend IP (your VPS).
| Parameter | Description |
|---|---|
backend_ip | IPv4 of your VPS |
curl -s -X POST 'https://api.tanuki.host/v1/reverse-proxy/501/configure' \
-H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"backend_ip":"10.0.0.5"}'/v1/cloakingCloaking subscription status and price.
curl -s 'https://api.tanuki.host/v1/cloaking' -H 'Authorization: Bearer YOUR_KEY'
/v1/cloaking/subscribeSubscribe or renew Cloaking.
curl -s -X POST 'https://api.tanuki.host/v1/cloaking/subscribe' -H 'Authorization: Bearer YOUR_KEY'
/v1/cloaking/regenerate-keyRegenerate Cloaking API key (full key in response).
curl -s -X POST 'https://api.tanuki.host/v1/cloaking/regenerate-key' -H 'Authorization: Bearer YOUR_KEY'
/v1/webhooksList outbound webhooks.
curl -s 'https://api.tanuki.host/v1/webhooks' -H 'Authorization: Bearer YOUR_KEY'
/v1/webhooksCreate webhook; secret may be auto-generated.
| Parameter | Description |
|---|---|
url | HTTPS endpoint |
secret | optional HMAC secret |
events | array: deposit, domain_registered, โฆ |
curl -s -X POST 'https://api.tanuki.host/v1/webhooks' \
-H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"url":"https://example.com/hook","events":["deposit"]}'/v1/webhooks/{id}Delete webhook by id.
curl -s -X DELETE 'https://api.tanuki.host/v1/webhooks/1' -H 'Authorization: Bearer YOUR_KEY'
We POST JSON to your URL. Header X-Tanuki-Event repeats the event type.
deposit โ Deposit crediteddomain_registered โ Domain registereddomain_blocked โ Domain blockedrp_failover โ Backend Proxy auto-failovertransfer_completed โ Transfer-in completedHMAC-SHA256 body signature when a secret is set:
X-Tanuki-Signature: sha256=e5856dc90540c79894a32dd9f50bb32505ef70f63e4fec484dccac469e0b6d5b