canonical: https://jentic.com/apis/digitalocean.com/digitalocean

# DigitalOcean API

Provision and manage cloud infrastructure including Droplets, Kubernetes clusters, managed databases, block storage, load balancers, and App Platform deployments across 14 global datacenter regions. The API covers the full lifecycle of DigitalOcean resources with 290 endpoints spanning compute, networking, storage, and platform services.

## For AI agents

Provision Droplets, manage Kubernetes clusters, configure load balancers, and deploy apps on DigitalOcean. Covers compute, networking, storage, databases, and platform services across 14 regions.

## Scope

Does not handle domain registration, email delivery, or CI/CD pipelines - use for cloud infrastructure provisioning and management only.

## Capabilities

- Provision Droplets with specified sizes, images, and SSH keys across 14 datacenter regions
- Deploy and scale Kubernetes clusters with configurable node pools and auto-upgrade policies
- Configure managed databases (PostgreSQL, MySQL, Redis, MongoDB) with automated backups and failover
- Set up load balancers with health checks, forwarding rules, and TLS termination
- Deploy web applications via App Platform from GitHub repositories or container registries
- Manage DNS records and domains with full zone control and automatic certificate provisioning
- Configure VPC networks and firewall rules to isolate and protect cloud resources

## Use cases

### AI Agent Infrastructure Provisioning

AI agents use the DigitalOcean API through Jentic to provision cloud infrastructure on demand. An agent searches for the Droplet creation operation, receives the request schema with size, image, region, and SSH key parameters, then executes the call. DigitalOcean provisions the Droplet in under 60 seconds, returning an IP address ready for deployment. The flat pricing model (starting at $4/month) makes cost prediction straightforward for automated scaling decisions.

Example prompt: Create a s-2vcpu-4gb Droplet named 'web-server-01' with Ubuntu 22.04 image in the nyc1 region and attach SSH key ID 12345

### Managed Kubernetes Deployment

Create and manage Kubernetes clusters with configurable node pools, automatic version upgrades, and built-in container registry integration. The API handles control plane provisioning, node scaling, and kubeconfig generation. Clusters deploy in under 5 minutes with options for high-availability control planes and multiple node pools with different Droplet sizes for mixed workload requirements.

Example prompt: Create a Kubernetes cluster named 'production' in sfo3 with version 1.28, a node pool of 3 s-4vcpu-8gb nodes, and auto-upgrade enabled

### Managed Database Provisioning

Deploy managed database clusters with automated backups, point-in-time recovery, standby nodes, and connection pooling. Supports PostgreSQL, MySQL, Redis, and MongoDB with configurable engine versions and cluster sizes. The API manages the full database lifecycle including scaling, maintenance windows, user management, and read replica configuration without manual database administration.

Example prompt: Create a managed PostgreSQL 15 database cluster named 'app-db' with db-s-2vcpu-4gb size, 2 nodes, and automatic daily backups in the nyc1 region

### App Platform Continuous Deployment

Deploy web applications, APIs, static sites, and background workers from GitHub or GitLab repositories with automatic builds and zero-downtime deployments. App Platform detects the runtime from source code, builds the container, and routes traffic through a global CDN. The API supports rollbacks, deployment cancellation, and per-component log retrieval for debugging failed deployments.

Example prompt: Create an App Platform app from GitHub repository 'myorg/web-app' with the main branch, auto-deploy enabled, and a single web component with 1 instance

### Network Security Configuration

Define firewall rules, configure VPC networks, and set up load balancers to secure and distribute traffic across cloud resources. Firewalls support inbound and outbound rules by port, protocol, and source (IP ranges, Droplet tags, or load balancers). VPCs isolate resources within private networks, and load balancers distribute traffic with health checks and sticky sessions.

Example prompt: Create a firewall named 'web-firewall' allowing inbound TCP on ports 80 and 443 from any source, and SSH on port 22 from IP 203.0.113.0/24 only

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v2/droplets | Create one or more new Droplets |
| GET | /v2/droplets | List all Droplets in the account |
| POST | /v2/kubernetes/clusters | Create a new Kubernetes cluster |
| POST | /v2/databases | Create a managed database cluster |
| POST | /v2/apps | Create a new App Platform application |
| POST | /v2/load_balancers | Create a new load balancer |
| POST | /v2/firewalls | Create a new firewall with rules |
| GET | /v2/domains/{domain_name}/records | List DNS records for a domain |

## Key resources

- **Droplets** — Virtual machine instances with configurable sizes, images, and regions
- **Kubernetes** — Managed Kubernetes clusters with node pools and auto-upgrade capabilities
- **Databases** — Managed database clusters (PostgreSQL, MySQL, Redis, MongoDB) with backups
- **Apps** — App Platform deployments from source code or container images
- **Load Balancers** — Traffic distribution with health checks, TLS, and forwarding rules
- **Firewalls** — Network security rules for inbound and outbound traffic filtering
- **Domains** — DNS zone management with full record type support

## Why Jentic

- **Setup:** Wiring DigitalOcean by hand means carrying its bearer token, learning valid size slugs and region codes, and paging its large v2 surface yourself. Through Jentic you install once, import the DigitalOcean API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** DigitalOcean spans hundreds of infrastructure operations, so scope your agent to the operations it needs, such as listing or creating Droplets. You choose the operations it may call, so provisioning a Kubernetes cluster or a load balancer is not included unless you add it.
- **Credential handling:** Your DigitalOcean personal access token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a cloud server' or 'list my Droplets', and Jentic returns the matching DigitalOcean operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Linode API** — Linode offers similar Linux-focused compute with comparable pricing but fewer managed services
- **Render API** — Render focuses on PaaS deployment while DigitalOcean offers full IaaS plus PaaS
- **Netlify API** — Netlify handles static site deployment and CDN while DigitalOcean manages backend infrastructure

## FAQ

### What authentication does the DigitalOcean API use?

The DigitalOcean API uses Bearer token authentication. Generate a personal access token from the DigitalOcean control panel and pass it in the Authorization header as 'Bearer {token}'. Through Jentic, your token is stored encrypted in your Jentic One instance and agents receive scoped access without handling raw tokens.

### Can I create a Droplet with a specific SSH key through the DigitalOcean API?

Yes. The POST /v2/droplets endpoint accepts an ssh_keys array with SSH key IDs or fingerprints. First upload your key via POST /v2/account/keys, then reference the returned ID when creating the Droplet. The key is injected into the root user's authorized_keys on first boot.

### What are the rate limits for the DigitalOcean API?

The API allows 5,000 requests per hour and 250 requests per minute per OAuth token. Rate limit headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) are included in every response. Special limits apply to specific endpoints: 12 floating IP creates per minute, 10 SSH key list requests per minute, and 5 CDN requests per 10 seconds.

### How do I deploy a Kubernetes cluster using the DigitalOcean API through Jentic?

Search Jentic for 'create kubernetes cluster DigitalOcean'. The agent receives the POST /v2/kubernetes/clusters schema requiring name, region, version, and node_pools array. Each node pool specifies size (e.g., 's-4vcpu-8gb'), count, and name. The cluster provisions in under 5 minutes with kubeconfig available via a separate endpoint.

### Can I manage DNS records for my domain through the API?

Yes. Use POST /v2/domains to register a domain, then POST /v2/domains/{domain_name}/records to create A, AAAA, CNAME, MX, TXT, NS, and SRV records. Each record requires type, name, data, and optional TTL. The GET endpoint lists all existing records for zone management.

### How does Jentic help AI agents manage DigitalOcean infrastructure?

Agents search by intent (e.g., 'provision a web server') and Jentic returns matching DigitalOcean operations with full request schemas. The agent fills in Droplet size, region, and image parameters, then executes. No SDK installation or token management required: install with pip install jentic and run it through Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the DigitalOcean API?

Yes. Jentic One runs on infrastructure you host, and your own rules decide which DigitalOcean operations and credentials the agent may use. Because the API spans hundreds of infrastructure operations, you can scope the agent to just the ones it needs, such as listing or creating Droplets, while excluding heavier actions like creating a Kubernetes cluster or a load balancer until you explicitly add them. Your DigitalOcean personal access token stays stored by your own instance and is injected only when a permitted operation runs, so the agent never sees the raw token.
