How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

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, itoffers 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 deletedatabase 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).

Digital Ocean Databases API is one of 37 APIs that Digital Ocean publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Databases. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 58 operations across 34 paths, and defines 61 schemas. It is described by OpenAPI 3.0.0, at version 2.0.

Requests are made against a single base URL, https://api.digitalocean.com.

58 operations 34 paths 61 schemas 9 DELETE25 GET1 PATCH8 POST15 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
2.0
Base URL
https://api.digitalocean.com/v2
Authentication
HTTP Bearer
License
Terms of Service
Resource Areas
1

Authentication & Security 1

Digital Ocean Databases API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearer_auth). By default, every request must be authenticated.

  • bearer_auth — OAuth Authentication In order to interact with the DigitalOcean API, you or your application must authenticate. The DigitalOcean API handles this through OAuth…

Paths & Operations 58

Across 34 paths, the API surfaces 58 operations — 9 DELETE, 25 GET, 1 PATCH, 8 POST, 15 PUT. Each is listed below with its method, path, parameters, and response codes.

Databases 58

DigitalOcean's [managed database service](https://docs.digitalocean.com/products/databases) simplifies the creation and management of highly available database clusters. Currently…

GET
/v2/databases/options
List Database Options
databases_list_options → 200401404429500default
GET
/v2/databases
List All Database Clusters
databases_list_clusters 1 param → 200401404429500default
POST
/v2/databases
Create a New Database Cluster
databases_create_cluster body → 201401404429500default
GET
/v2/databases/{database_cluster_uuid}
Retrieve an Existing Database Cluster
databases_get_cluster 1 param → 200401404429500default
DELETE
/v2/databases/{database_cluster_uuid}
Destroy a Database Cluster
databases_destroy_cluster 1 param → 204401404429500default
GET
/v2/databases/{database_cluster_uuid}/config
Retrieve an Existing Database Cluster Configuration
databases_get_config 1 param → 200401404429500default
PATCH
/v2/databases/{database_cluster_uuid}/config
Update the Database Configuration for an Existing Database
databases_patch_config 1 param body → 200401404429500default
GET
/v2/databases/{database_cluster_uuid}/ca
Retrieve the Public Certificate
databases_get_ca 1 param → 200401404429500default
GET
/v2/databases/{database_cluster_uuid}/online-migration
Retrieve the Status of an Online Migration
databases_get_migrationStatus 1 param → 200401404429500default
PUT
/v2/databases/{database_cluster_uuid}/online-migration
Start an Online Migration
databases_update_onlineMigration 1 param body → 200401404429500default
DELETE
/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}
Stop an Online Migration
databases_delete_onlineMigration 2 params → 204401404429500default
PUT
/v2/databases/{database_cluster_uuid}/migrate
Migrate a Database Cluster to a New Region
databases_update_region 1 param body → 202401404429500default
PUT
/v2/databases/{database_cluster_uuid}/resize
Resize a Database Cluster
databases_update_clusterSize 1 param body → 202401404429500default
GET
/v2/databases/{database_cluster_uuid}/firewall
List Firewall Rules (Trusted Sources) for a Database Cluster
databases_list_firewall_rules 1 param → 200401404429500default
PUT
/v2/databases/{database_cluster_uuid}/firewall
Update Firewall Rules (Trusted Sources) for a Database
databases_update_firewall_rules 1 param body → 204401404429500default
PUT
/v2/databases/{database_cluster_uuid}/maintenance
Configure a Database Cluster's Maintenance Window
databases_update_maintenanceWindow 1 param body → 204401404429500default
PUT
/v2/databases/{database_cluster_uuid}/install_update
Start Database Maintenance
databases_install_update 1 param → 204401404429500default
GET
/v2/databases/{database_cluster_uuid}/backups
List Backups for a Database Cluster
databases_list_backups 1 param → 200401404429500default
GET
/v2/databases/{database_cluster_uuid}/replicas
List All Read-only Replicas
databases_list_replicas 1 param → 200401404429500default
POST
/v2/databases/{database_cluster_uuid}/replicas
Create a Read-only Replica
databases_create_replica 1 param body → 201401404429500default
GET
/v2/databases/{database_cluster_uuid}/events
List all Events Logs
databases_list_events_logs 1 param → 200401404429500default
GET
/v2/databases/{database_cluster_uuid}/replicas/{replica_name}
Retrieve an Existing Read-only Replica
databases_get_replica 2 params → 200401404429500default
DELETE
/v2/databases/{database_cluster_uuid}/replicas/{replica_name}
Destroy a Read-only Replica
databases_destroy_replica 2 params → 204401404429500default
PUT
/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote
Promote a Read-only Replica to become a Primary Cluster
databases_promote_replica 2 params → 204401404429500default
GET
/v2/databases/{database_cluster_uuid}/users
List all Database Users
databases_list_users 1 param → 200401404429500default
POST
/v2/databases/{database_cluster_uuid}/users
Add a Database User
databases_add_user 1 param body → 201401404429500default
GET
/v2/databases/{database_cluster_uuid}/users/{username}
Retrieve an Existing Database User
databases_get_user 2 params → 200401404429500default
DELETE
/v2/databases/{database_cluster_uuid}/users/{username}
Remove a Database User
databases_delete_user 2 params → 204401404429500default
PUT
/v2/databases/{database_cluster_uuid}/users/{username}
Update a Database User
databases_update_user 2 params body → 201401404429500default
POST
/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth
Reset a Database User's Password or Authentication Method
databases_reset_auth 2 params body → 200401404429500default
GET
/v2/databases/{database_cluster_uuid}/dbs
List All Databases
databases_list 1 param → 200401404429500default
POST
/v2/databases/{database_cluster_uuid}/dbs
Add a New Database
databases_add 1 param body → 201401404429500default
GET
/v2/databases/{database_cluster_uuid}/dbs/{database_name}
Retrieve an Existing Database
databases_get 2 params → 200401404429500default
DELETE
/v2/databases/{database_cluster_uuid}/dbs/{database_name}
Delete a Database
databases_delete 2 params → 204401404429500default
GET
/v2/databases/{database_cluster_uuid}/pools
List Connection Pools (PostgreSQL)
databases_list_connectionPools 1 param → 200401404429500default
POST
/v2/databases/{database_cluster_uuid}/pools
Add a New Connection Pool (PostgreSQL)
databases_add_connectionPool 1 param body → 201401404429500default
GET
/v2/databases/{database_cluster_uuid}/pools/{pool_name}
Retrieve Existing Connection Pool (PostgreSQL)
databases_get_connectionPool 2 params → 200401404429500default
PUT
/v2/databases/{database_cluster_uuid}/pools/{pool_name}
Update Connection Pools (PostgreSQL)
databases_update_connectionPool 2 params body → 204401404429500default
DELETE
/v2/databases/{database_cluster_uuid}/pools/{pool_name}
Delete a Connection Pool (PostgreSQL)
databases_delete_connectionPool 2 params → 204401404429500default
GET
/v2/databases/{database_cluster_uuid}/eviction_policy
Retrieve the Eviction Policy for a Redis Cluster
databases_get_evictionPolicy 1 param → 200401404429500default
PUT
/v2/databases/{database_cluster_uuid}/eviction_policy
Configure the Eviction Policy for a Redis Cluster
databases_update_evictionPolicy 1 param body → 204401404429500default
GET
/v2/databases/{database_cluster_uuid}/sql_mode
Retrieve the SQL Modes for a MySQL Cluster
databases_get_sql_mode 1 param → 200401404429500default
PUT
/v2/databases/{database_cluster_uuid}/sql_mode
Update SQL Mode for a Cluster
databases_update_sql_mode 1 param body → 204401404429500default
PUT
/v2/databases/{database_cluster_uuid}/upgrade
Upgrade Major Version for a Database
databases_update_major_version 1 param body → 204401404429500default
GET
/v2/databases/{database_cluster_uuid}/topics
List Topics for a Kafka Cluster
databases_list_kafka_topics 1 param → 200401404429500default
POST
/v2/databases/{database_cluster_uuid}/topics
Create Topic for a Kafka Cluster
databases_create_kafka_topic 1 param body → 201401404429500default
GET
/v2/databases/{database_cluster_uuid}/topics/{topic_name}
Get Topic for a Kafka Cluster
databases_get_kafka_topic 2 params → 200401404429500default
PUT
/v2/databases/{database_cluster_uuid}/topics/{topic_name}
Update Topic for a Kafka Cluster
databases_update_kafka_topic 2 params body → 200401404429500default
DELETE
/v2/databases/{database_cluster_uuid}/topics/{topic_name}
Delete Topic for a Kafka Cluster
databases_delete_kafka_topic 2 params → 204401404429500default
GET
/v2/databases/{database_cluster_uuid}/logsink
List Logsinks for a Database Cluster
databases_list_logsink 1 param → 201401404429500default
POST
/v2/databases/{database_cluster_uuid}/logsink
Create Logsink for a Database Cluster
databases_create_logsink 1 param body → 201401404429500default
GET
/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}
Get Logsink for a Database Cluster
databases_get_logsink 2 params → 201401404429500default
PUT
/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}
Update Logsink for a Database Cluster
databases_update_logsink 2 params body → 200401404429500default
DELETE
/v2/databases/{database_cluster_uuid}/logsink/{logsink_id}
Delete Logsink for a Database Cluster
databases_delete_logsink 2 params → 200401404429500default
GET
/v2/databases/metrics/credentials
Retrieve Database Clusters' Metrics Endpoint Credentials
databases_get_cluster_metrics_credentials → 200401404429500default
PUT
/v2/databases/metrics/credentials
Update Database Clusters' Metrics Endpoint Credentials
databases_update_cluster_metrics_credentials body → 204401429500default
GET
/v2/databases/{database_cluster_uuid}/indexes
List Indexes for a OpenSearch Cluster
databases_list_opeasearch_indexes 1 param → 200401404429500default
DELETE
/v2/databases/{database_cluster_uuid}/indexes/{index_name}
Delete Index for OpenSearch Cluster
databases_delete_opensearch_index 2 params → 204401404429500default

Schemas 61

The contract defines 61 schemas that model the data the API accepts and returns. The most detailed are postgres_advanced_config (54 properties), kafka_advanced_config (39 properties), opensearch_advanced_config (38 properties), mysql_advanced_config (34 properties). Each schema is shown below with its type and property counts.

logsink_base_verbose
object
3 properties
backup
object
2 properties 2 required
database_layout_option
object
2 properties
online_migration
object
3 properties
logsink_verbose
object
rsyslog_logsink
object
9 properties 4 required
logsink_update
object
1 property 1 required
database_user
object
7 properties 1 required
kafka_advanced_config
object
39 properties
database_backup
object
2 properties 1 required
database_region_options
object
1 property
elasticsearch_logsink
object
5 properties 2 required
database_maintenance_window
object
4 properties 2 required
version
string
A string representing the version of the database engine in use for the cluster.
kafka_topic_create
object
options
object
2 properties
database_replica
object
11 properties 1 required
database_cluster_resize
object
3 properties 2 required
error
object
3 properties 2 required
opensearch_index_base
object
5 properties
postgres_advanced_config
object
54 properties
databases_basic_auth_credentials
object
2 properties
kafka_topic_update
object
3 properties
connection_pool
object
9 properties 4 required
database_cluster
object
26 properties 5 required
database_version_availabilities
array
An array of objects, each indicating the version end-of-life, end-of-availability for various database engines
timescaledb_advanced_config
object
TimescaleDB extension configuration values
1 property
mysql_advanced_config
object
34 properties
database_version_options
object
1 property
version-2
object
1 property
user_settings
object
3 properties
events_logs
object
4 properties
redis_advanced_config
object
11 properties
database
object
1 property 1 required
opensearch_connection
object
6 properties
database_service_endpoint
object
2 properties
connection_pool_update
object
4 properties 3 required
eviction_policy_model
string
A string specifying the desired eviction policy for the Redis cluster. - noeviction: Don't evict any data, returns error when memory limit is reached. - allkey…
ca
object
1 property 1 required
kafka_topic_verbose
object
5 properties
database_layout_options
object
1 property
database_connection
object
7 properties
database_metrics_credentials
object
1 property
logsink_base
object
2 properties
sql_mode
object
1 property 1 required
logsink_create
object
firewall_rule
object
5 properties 2 required
kafka_topic_config
object
21 properties
source_database
object
3 properties
connection_pools
object
1 property
opensearch_logsink
object
5 properties 2 required
database_config
object
1 property
opensearch_index
object
kafka_topic_base
object
3 properties
kafka_topic_partition
object
5 properties
mongo_advanced_config
object
5 properties
pgbouncer_advanced_config
object
PGBouncer connection pooling settings
9 properties
database_version_availability
object
3 properties
mysql_settings
object
1 property 1 required
kafka_topic
object
opensearch_advanced_config
object
38 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

digital-ocean-databases-api-openapi.yml Raw ↑

Other APIs Digital Ocean publishes across the network.

Digital Ocean 1-Click Applications API
Digital Ocean Account API
Digital Ocean Actions API
Digital Ocean Apps API
Digital Ocean Billing API
Digital Ocean Block Storage Actions API
Digital Ocean Block Storage API
Digital Ocean CDN Endpoints API
Digital Ocean Certificates API
Digital Ocean Container Registry API
Digital Ocean Domain Records API
Digital Ocean Domains API
Where this information came from

This is an independent, third-party profile of Digital Ocean Databases API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.