| name | digitalocean |
| description | Manage DigitalOcean resources via API — Droplets (create/destroy/resize/power), DNS zones and records, Spaces (object storage), Databases, Firewalls, Load Balancers, Kubernetes, and account/billing info. |
DigitalOcean API Skill
Control DigitalOcean infrastructure programmatically: droplets, DNS, databases, storage, networking.
Authentication
API token required. Get one from: https://cloud.digitalocean.com/account/api/tokens
Store in ~/.config/digitalocean/token (just the token, no newline):
mkdir -p ~/.config/digitalocean
echo -n "YOUR_API_TOKEN" > ~/.config/digitalocean/token
chmod 600 ~/.config/digitalocean/token
Quick Reference
Droplets (VMs)
python3 scripts/digitalocean.py droplets list
python3 scripts/digitalocean.py droplets get <droplet_id>
python3 scripts/digitalocean.py droplets create <name> --region nyc1 --size s-1vcpu-1gb --image ubuntu-24-04-x64
python3 scripts/digitalocean.py droplets power-on <droplet_id>
python3 scripts/digitalocean.py droplets power-off <droplet_id>
python3 scripts/digitalocean.py droplets reboot <droplet_id>
python3 scripts/digitalocean.py droplets resize <droplet_id> --size s-2vcpu-4gb
python3 scripts/digitalocean.py droplets snapshot <droplet_id> --name "backup-2024"
python3 scripts/digitalocean.py droplets destroy <droplet_id>
DNS Management
python3 scripts/digitalocean.py dns list
python3 scripts/digitalocean.py dns records <domain>
python3 scripts/digitalocean.py dns add <domain> --type A --name www --data 1.2.3.4 --ttl 300
python3 scripts/digitalocean.py dns update <domain> <record_id> --data 5.6.7.8
python3 scripts/digitalocean.py dns delete <domain> <record_id>
python3 scripts/digitalocean.py dns create <domain>
Firewalls
python3 scripts/digitalocean.py firewalls list
python3 scripts/digitalocean.py firewalls create <name> --inbound tcp:22:0.0.0.0/0 --inbound tcp:80:0.0.0.0/0 --inbound tcp:443:0.0.0.0/0
python3 scripts/digitalocean.py firewalls add-droplet <firewall_id> <droplet_id>
Spaces (Object Storage)
python3 scripts/digitalocean.py spaces list
python3 scripts/digitalocean.py spaces create <name> --region nyc3
Databases
python3 scripts/digitalocean.py databases list
python3 scripts/digitalocean.py databases get <db_id>
Account & Billing
python3 scripts/digitalocean.py account
python3 scripts/digitalocean.py billing balance
python3 scripts/digitalocean.py billing history
SSH Keys
python3 scripts/digitalocean.py ssh-keys list
python3 scripts/digitalocean.py ssh-keys add <name> --key "ssh-ed25519 AAAA..."
Images & Snapshots
python3 scripts/digitalocean.py images list
python3 scripts/digitalocean.py images snapshots
python3 scripts/digitalocean.py images delete <image_id>
Regions & Sizes
python3 scripts/digitalocean.py regions
python3 scripts/digitalocean.py sizes
DNS Record Types
Supported record types:
A — IPv4 address
AAAA — IPv6 address
CNAME — Canonical name (alias)
MX — Mail exchange (requires priority)
TXT — Text record
NS — Nameserver
SRV — Service record
CAA — Certificate Authority Authorization
Common Workflows
Deploy a New Server
python3 scripts/digitalocean.py droplets create myserver --region nyc1 --size s-1vcpu-2gb --image ubuntu-24-04-x64 --ssh-keys <key_id>
python3 scripts/digitalocean.py droplets get <droplet_id>
python3 scripts/digitalocean.py dns add mydomain.com --type A --name @ --data <ip>
python3 scripts/digitalocean.py firewalls create web-server --inbound tcp:22:0.0.0.0/0 --inbound tcp:80:0.0.0.0/0 --inbound tcp:443:0.0.0.0/0
python3 scripts/digitalocean.py firewalls add-droplet <fw_id> <droplet_id>
Migrate DNS to DigitalOcean
python3 scripts/digitalocean.py dns create example.com
python3 scripts/digitalocean.py dns add example.com --type A --name @ --data 1.2.3.4
python3 scripts/digitalocean.py dns add example.com --type CNAME --name www --data example.com.
Direct API Access
For operations not covered by the script:
TOKEN=$(cat ~/.config/digitalocean/token)
curl -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
https://api.digitalocean.com/v2/droplets
API Documentation
Common Droplet Sizes
| Slug | vCPUs | RAM | Disk | Price/mo |
|---|
| s-1vcpu-512mb-10gb | 1 | 512MB | 10GB | $4 |
| s-1vcpu-1gb | 1 | 1GB | 25GB | $6 |
| s-1vcpu-2gb | 1 | 2GB | 50GB | $12 |
| s-2vcpu-2gb | 2 | 2GB | 60GB | $18 |
| s-2vcpu-4gb | 2 | 4GB | 80GB | $24 |
| s-4vcpu-8gb | 4 | 8GB | 160GB | $48 |
Common Regions
| Slug | Location |
|---|
| nyc1, nyc3 | New York |
| sfo3 | San Francisco |
| ams3 | Amsterdam |
| sgp1 | Singapore |
| lon1 | London |
| fra1 | Frankfurt |
| tor1 | Toronto |
| blr1 | Bangalore |
| syd1 | Sydney |