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