Digital Ocean Databases API

DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently, it offers support for [PostgreSQL](http://docs.digitalocean.com/products/databases/postgresql/), [Redis](https://docs.digitalocean.com/products/databases/redis/), [MySQL](https://docs.digitalocean.com/products/databases/mysql/), [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/), and [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/). By sending requests to the `/v2/databases` endpoint, you can list, create, or delete database clusters as well as scale the size of a cluster, add or remove read-only replicas, and manage other configuration details. Database clusters may be deployed in a multi-node, high-availability configuration. If your machine type is above the basic nodes, your node plan is above the smallest option, or you are running MongoDB, you may additionally include up to two standby nodes in your cluster. The size of individual nodes in a database cluster is represented by a human-readable slug, which is used in some of the following requests. Each slug denotes the node's identifier, CPU count, and amount of RAM, in that order. For a list of currently available database slugs and options, use the `/v2/databases/options` endpoint or use the `doctl databases options` [command](https://docs.digitalocean.com/reference/doctl/reference/databases/options).

Business capability
IT Infrastructure Management BC-600.50

Operations 58

GET /v2/databases/options List Database Options #
GET /v2/databases List All Database Clusters #
POST /v2/databases Create a New Database Cluster #
GET /v2/databases/{database_cluster_uuid} Retrieve an Existing Database Cluster #
DELETE /v2/databases/{database_cluster_uuid} Destroy a Database Cluster #
GET /v2/databases/{database_cluster_uuid}/config Retrieve an Existing Database Cluster Configuration #
PATCH /v2/databases/{database_cluster_uuid}/config Update the Database Configuration for an Existing Database #
GET /v2/databases/{database_cluster_uuid}/ca Retrieve the Public Certificate #
GET /v2/databases/{database_cluster_uuid}/online-migration Retrieve the Status of an Online Migration #
PUT /v2/databases/{database_cluster_uuid}/online-migration Start an Online Migration #
DELETE /v2/databases/{database_cluster_uuid}/online-migration/{migration_id} Stop an Online Migration #
PUT /v2/databases/{database_cluster_uuid}/migrate Migrate a Database Cluster to a New Region #
PUT /v2/databases/{database_cluster_uuid}/resize Resize a Database Cluster #
GET /v2/databases/{database_cluster_uuid}/firewall List Firewall Rules (Trusted Sources) for a Database Cluster #
PUT /v2/databases/{database_cluster_uuid}/firewall Update Firewall Rules (Trusted Sources) for a Database #
PUT /v2/databases/{database_cluster_uuid}/maintenance Configure a Database Cluster's Maintenance Window #
PUT /v2/databases/{database_cluster_uuid}/install_update Start Database Maintenance #
GET /v2/databases/{database_cluster_uuid}/backups List Backups for a Database Cluster #
GET /v2/databases/{database_cluster_uuid}/replicas List All Read-only Replicas #
POST /v2/databases/{database_cluster_uuid}/replicas Create a Read-only Replica #
GET /v2/databases/{database_cluster_uuid}/events List all Events Logs #
GET /v2/databases/{database_cluster_uuid}/replicas/{replica_name} Retrieve an Existing Read-only Replica #
DELETE /v2/databases/{database_cluster_uuid}/replicas/{replica_name} Destroy a Read-only Replica #
PUT /v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote Promote a Read-only Replica to become a Primary Cluster #
GET /v2/databases/{database_cluster_uuid}/users List all Database Users #
POST /v2/databases/{database_cluster_uuid}/users Add a Database User #
GET /v2/databases/{database_cluster_uuid}/users/{username} Retrieve an Existing Database User #
DELETE /v2/databases/{database_cluster_uuid}/users/{username} Remove a Database User #
PUT /v2/databases/{database_cluster_uuid}/users/{username} Update a Database User #
POST /v2/databases/{database_cluster_uuid}/users/{username}/reset_auth Reset a Database User's Password or Authentication Method #
GET /v2/databases/{database_cluster_uuid}/dbs List All Databases #
POST /v2/databases/{database_cluster_uuid}/dbs Add a New Database #
GET /v2/databases/{database_cluster_uuid}/dbs/{database_name} Retrieve an Existing Database #
DELETE /v2/databases/{database_cluster_uuid}/dbs/{database_name} Delete a Database #
GET /v2/databases/{database_cluster_uuid}/pools List Connection Pools (PostgreSQL) #
POST /v2/databases/{database_cluster_uuid}/pools Add a New Connection Pool (PostgreSQL) #
GET /v2/databases/{database_cluster_uuid}/pools/{pool_name} Retrieve Existing Connection Pool (PostgreSQL) #
PUT /v2/databases/{database_cluster_uuid}/pools/{pool_name} Update Connection Pools (PostgreSQL) #
DELETE /v2/databases/{database_cluster_uuid}/pools/{pool_name} Delete a Connection Pool (PostgreSQL) #
GET /v2/databases/{database_cluster_uuid}/eviction_policy Retrieve the Eviction Policy for a Redis Cluster #
PUT /v2/databases/{database_cluster_uuid}/eviction_policy Configure the Eviction Policy for a Redis Cluster #
GET /v2/databases/{database_cluster_uuid}/sql_mode Retrieve the SQL Modes for a MySQL Cluster #
PUT /v2/databases/{database_cluster_uuid}/sql_mode Update SQL Mode for a Cluster #
PUT /v2/databases/{database_cluster_uuid}/upgrade Upgrade Major Version for a Database #
GET /v2/databases/{database_cluster_uuid}/topics List Topics for a Kafka Cluster #
POST /v2/databases/{database_cluster_uuid}/topics Create Topic for a Kafka Cluster #
GET /v2/databases/{database_cluster_uuid}/topics/{topic_name} Get Topic for a Kafka Cluster #
PUT /v2/databases/{database_cluster_uuid}/topics/{topic_name} Update Topic for a Kafka Cluster #
DELETE /v2/databases/{database_cluster_uuid}/topics/{topic_name} Delete Topic for a Kafka Cluster #
GET /v2/databases/{database_cluster_uuid}/logsink List Logsinks for a Database Cluster #
POST /v2/databases/{database_cluster_uuid}/logsink Create Logsink for a Database Cluster #
GET /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} Get Logsink for a Database Cluster #
PUT /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} Update Logsink for a Database Cluster #
DELETE /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} Delete Logsink for a Database Cluster #
GET /v2/databases/metrics/credentials Retrieve Database Clusters' Metrics Endpoint Credentials #
PUT /v2/databases/metrics/credentials Update Database Clusters' Metrics Endpoint Credentials #
GET /v2/databases/{database_cluster_uuid}/indexes List Indexes for a OpenSearch Cluster #
DELETE /v2/databases/{database_cluster_uuid}/indexes/{index_name} Delete Index for OpenSearch Cluster #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/digital-ocean-databases-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

digital-ocean-databases-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DigitalOcean Databases API
  version: '2.0'
  description: '# Introduction


    The DigitalOcean API allows you to manage Droplets and resources within the

    DigitalOcean cloud in a simple, programmatic way using conventional HTTP requests.'
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    name: DigitalOcean API Team
    email: api-engineering@digitalocean.com
  termsOfService: https://www.digitalocean.com/legal/terms-of-service-agreement/
servers:
- url: https://api.digitalocean.com
  description: production
security:
- bearer_auth: []
tags:


# --- truncated at 32 KB (295 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/digital-ocean/refs/heads/main/openapi/digital-ocean-databases-api-openapi.yml