Skip to content

Updating your whitelist IP

Your endpoint only accepts connections from a single whitelist IP — see Access & data handling for what it is and why it matters. You can change it at any time from the client area, or programmatically with the API below. The API is ideal when your public IP changes often (home connection, VPN, a new server) and you want to update it from a script.

The endpoint

POST https://dashboard.the777seas.com/zendrive-api/whitelist-ip/

You authenticate with the same S3 access key and secret key you use to connect to your storage (from your welcome email). The request must be over HTTPS — plain HTTP is rejected.

Quick examples

curl -X POST https://dashboard.the777seas.com/zendrive-api/whitelist-ip/ \
  -H "Content-Type: application/json" \
  -d '{
    "access_key": "YOUR_ACCESS_KEY",
    "secret_key": "YOUR_SECRET_KEY",
    "ip": "203.0.113.55"
  }'

Omit the IP entirely and the API uses the public IP the request came from — handy for a cron job on the machine that needs access:

curl -X POST https://dashboard.the777seas.com/zendrive-api/whitelist-ip/ \
  -H "Content-Type: application/json" \
  -d '{
    "access_key": "YOUR_ACCESS_KEY",
    "secret_key": "YOUR_SECRET_KEY"
  }'
curl -X POST https://dashboard.the777seas.com/zendrive-api/whitelist-ip/ \
  -H "Content-Type: application/json" \
  -d '{
    "access_key": "YOUR_ACCESS_KEY",
    "secret_key": "YOUR_SECRET_KEY",
    "ipv6": "2606:4700:4700::1111"
  }'
curl -X POST https://dashboard.the777seas.com/zendrive-api/whitelist-ip/ \
  -H "Content-Type: application/json" \
  -d '{
    "access_key": "YOUR_ACCESS_KEY",
    "secret_key": "YOUR_SECRET_KEY",
    "ipv4": "203.0.113.55",
    "ipv6": "2606:4700:4700::1111"
  }'

Parameters

Field Required Description
access_key Yes Your S3 access key.
secret_key Yes Your S3 secret key.
ip No An IPv4 or IPv6 address — routed to the matching family automatically.
ipv4 No Set the IPv4 whitelist specifically.
ipv6 No Set the IPv6 whitelist specifically.

If you send none of ip / ipv4 / ipv6, the API auto-detects from the IP your request arrives from. The address must be a public address — private and reserved ranges (e.g. 192.168.x.x, 10.x.x.x, 127.0.0.1) are rejected.

Updating one family leaves the other untouched

Sending only ipv6 updates your IPv6 whitelist and keeps your existing IPv4 (and vice-versa). To change both, send both — or use a single ip value to replace whichever family it belongs to.

A successful response

{
  "status": "ok",
  "service_id": 1234,
  "client_ipv4": "203.0.113.55",
  "client_ipv6": null
}

The change takes effect immediately — the next connection from the new IP is accepted, and the old IP stops working.

Errors

HTTP message Meaning
400 access_key and secret_key are required A credential field was missing.
400 ... must be a public address The IP was private, reserved, or malformed.
400 HTTPS is required The request wasn't over HTTPS.
401 Invalid credentials Access key or secret key didn't match.
403 Service is not active The service is suspended or cancelled.
405 POST is required Use POST, not GET.
429 Too many requests, slow down Wait a moment — there's a short per-key rate limit.

Keeping it secure

  • The request carries your secret key, so the endpoint enforces HTTPS — never send it over plain HTTP, and don't log it. Treat any script holding these keys the same way you'd treat the keys themselves.
  • If your keys may have been exposed, rotate them — see Credentials & rotation.

Auto-update on a schedule

Run the auto-detect call from a cron job on the machine that needs access, and your whitelist IP follows that machine's public IP automatically:

*/15 * * * * curl -s -X POST https://dashboard.the777seas.com/zendrive-api/whitelist-ip/ \
  -H "Content-Type: application/json" \
  -d '{"access_key":"YOUR_ACCESS_KEY","secret_key":"YOUR_SECRET_KEY"}' >/dev/null