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 71

GET /v2/databases/options Get databases options #
GET /v2/databases Get databases #
POST /v2/databases Create databases #
GET /v2/databases/{database_cluster_uuid} Get databases by database cluster uuid #
DELETE /v2/databases/{database_cluster_uuid} Delete databases by database cluster uuid #
GET /v2/databases/{database_cluster_uuid}/config Get databases by database cluster uuid config #
PATCH /v2/databases/{database_cluster_uuid}/config Update databases by database cluster uuid config #
GET /v2/databases/{database_cluster_uuid}/ca Get databases by database cluster uuid ca #
GET /v2/databases/{database_cluster_uuid}/online-migration Get databases by database cluster uuid online migration #
PUT /v2/databases/{database_cluster_uuid}/online-migration Replace databases by database cluster uuid online migration #
DELETE /v2/databases/{database_cluster_uuid}/online-migration/{migration_id} Delete databases by database cluster uuid online migration by migration id #
PUT /v2/databases/{database_cluster_uuid}/migrate Replace databases by database cluster uuid migrate #
PUT /v2/databases/{database_cluster_uuid}/resize Replace databases by database cluster uuid resize #
GET /v2/databases/{database_cluster_uuid}/firewall Get databases by database cluster uuid firewall #
PUT /v2/databases/{database_cluster_uuid}/firewall Replace databases by database cluster uuid firewall #
GET /v2/databases/{database_cluster_uuid}/do_settings Get databases by database cluster uuid do settings #
PUT /v2/databases/{database_cluster_uuid}/do_settings Replace databases by database cluster uuid do settings #
PUT /v2/databases/{database_cluster_uuid}/maintenance Replace databases by database cluster uuid maintenance #
PUT /v2/databases/{database_cluster_uuid}/install_update Replace databases by database cluster uuid install update #
GET /v2/databases/{database_cluster_uuid}/backups Get databases by database cluster uuid backups #
GET /v2/databases/{database_cluster_uuid}/replicas Get databases by database cluster uuid replicas #
POST /v2/databases/{database_cluster_uuid}/replicas Create databases by database cluster uuid replicas #
GET /v2/databases/{database_cluster_uuid}/events Get databases by database cluster uuid events #
GET /v2/databases/{database_cluster_uuid}/replicas/{replica_name} Get databases by database cluster uuid replicas by replica name #
DELETE /v2/databases/{database_cluster_uuid}/replicas/{replica_name} Delete databases by database cluster uuid replicas by replica name #
PUT /v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote Replace databases by database cluster uuid replicas by replica name promote #
GET /v2/databases/{database_cluster_uuid}/users Get databases by database cluster uuid users #
POST /v2/databases/{database_cluster_uuid}/users Create databases by database cluster uuid users #
GET /v2/databases/{database_cluster_uuid}/users/{username} Get databases by database cluster uuid users by username #
DELETE /v2/databases/{database_cluster_uuid}/users/{username} Delete databases by database cluster uuid users by username #
PUT /v2/databases/{database_cluster_uuid}/users/{username} Replace databases by database cluster uuid users by username #
POST /v2/databases/{database_cluster_uuid}/users/{username}/reset_auth Create databases by database cluster uuid users by username reset auth #
GET /v2/databases/{database_cluster_uuid}/dbs Get databases by database cluster uuid dbs #
POST /v2/databases/{database_cluster_uuid}/dbs Create databases by database cluster uuid dbs #
GET /v2/databases/{database_cluster_uuid}/dbs/{database_name} Get databases by database cluster uuid dbs by database name #
DELETE /v2/databases/{database_cluster_uuid}/dbs/{database_name} Delete databases by database cluster uuid dbs by database name #
GET /v2/databases/{database_cluster_uuid}/pools Get databases by database cluster uuid pools #
POST /v2/databases/{database_cluster_uuid}/pools Create databases by database cluster uuid pools #
GET /v2/databases/{database_cluster_uuid}/pools/{pool_name} Get databases by database cluster uuid pools by pool name #
PUT /v2/databases/{database_cluster_uuid}/pools/{pool_name} Replace databases by database cluster uuid pools by pool name #
DELETE /v2/databases/{database_cluster_uuid}/pools/{pool_name} Delete databases by database cluster uuid pools by pool name #
GET /v2/databases/{database_cluster_uuid}/eviction_policy Get databases by database cluster uuid eviction policy #
PUT /v2/databases/{database_cluster_uuid}/eviction_policy Replace databases by database cluster uuid eviction policy #
GET /v2/databases/{database_cluster_uuid}/sql_mode Get databases by database cluster uuid sql mode #
PUT /v2/databases/{database_cluster_uuid}/sql_mode Replace databases by database cluster uuid sql mode #
PUT /v2/databases/{database_cluster_uuid}/upgrade Replace databases by database cluster uuid upgrade #
GET /v2/databases/{database_cluster_uuid}/autoscale Get databases by database cluster uuid autoscale #
PUT /v2/databases/{database_cluster_uuid}/autoscale Replace databases by database cluster uuid autoscale #
GET /v2/databases/{database_cluster_uuid}/topics Get databases by database cluster uuid topics #
POST /v2/databases/{database_cluster_uuid}/topics Create databases by database cluster uuid topics #
GET /v2/databases/{database_cluster_uuid}/topics/{topic_name} Get databases by database cluster uuid topics by topic name #
PUT /v2/databases/{database_cluster_uuid}/topics/{topic_name} Replace databases by database cluster uuid topics by topic name #
DELETE /v2/databases/{database_cluster_uuid}/topics/{topic_name} Delete databases by database cluster uuid topics by topic name #
GET /v2/databases/{database_cluster_uuid}/logsink Get databases by database cluster uuid logsink #
POST /v2/databases/{database_cluster_uuid}/logsink Create databases by database cluster uuid logsink #
GET /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} Get databases by database cluster uuid logsink by logsink id #
PUT /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} Replace databases by database cluster uuid logsink by logsink id #
DELETE /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} Delete databases by database cluster uuid logsink by logsink id #
GET /v2/databases/{database_cluster_uuid}/schema-registry Get databases by database cluster uuid schema registry #
POST /v2/databases/{database_cluster_uuid}/schema-registry Create databases by database cluster uuid schema registry #
GET /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name} Get databases by database cluster uuid schema registry by subject name #
DELETE /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name} Delete databases by database cluster uuid schema registry by subject name #
GET /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version} Get databases by database cluster uuid schema registry by subject name versions… #
GET /v2/databases/{database_cluster_uuid}/schema-registry/config Get databases by database cluster uuid schema registry config #
PUT /v2/databases/{database_cluster_uuid}/schema-registry/config Replace databases by database cluster uuid schema registry config #
GET /v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name} Get databases by database cluster uuid schema registry config by subject name #
PUT /v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name} Replace databases by database cluster uuid schema registry config by subject… #
GET /v2/databases/metrics/credentials Get databases metrics credentials #
PUT /v2/databases/metrics/credentials Replace databases metrics credentials #
GET /v2/databases/{database_cluster_uuid}/indexes Get databases by database cluster uuid indexes #
DELETE /v2/databases/{database_cluster_uuid}/indexes/{index_name} Delete databases by database cluster uuid indexes by index name #

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:digital-ocean-databases-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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: 'DigitalOcean''s managed database service

    simplifies the creation and management of highly available database clusters. Currently, it

    offers support for PostgreSQL,

    Caching,

    Valkey,

    MySQL,

    MongoDB, and

    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.'
  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:
- name: Databases
  description: 'DigitalOcean''s managed database service

    simplifies the creation and management of highly available database clusters. Currently, it

    offers support for PostgreSQL,

    Caching,

    Valkey,

    MySQL,

    MongoDB, and

    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.'
paths:
  /v2/databases/options:
    get:
      $ref: resources/databases/databases_list_options.yml
      tags:
      - Databases
      summary: Get databases options
      x-summary-source: derived
      operationId: getV2DatabasesOptions
      x-operation-id-source: derived
  /v2/databases:
    get:
      $ref: resources/databases/databases_list_clusters.yml
      tags:
      - Databases
      summary: Get databases
      x-summary-source: derived
      operationId: getV2Databases
      x-operation-id-source: derived
    post:
      $ref: resources/databases/databases_create_cluster.yml
      tags:
      - Databases
      summary: Create databases
      x-summary-source: derived
      operationId: postV2Databases
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}:
    get:
      $ref: resources/databases/databases_get_cluster.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuid
      x-operation-id-source: derived
    delete:
      $ref: resources/databases/databases_destroy_cluster.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuid
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/config:
    get:
      $ref: resources/databases/databases_get_config.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid config
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidConfig
      x-operation-id-source: derived
    patch:
      $ref: resources/databases/databases_patch_config.yml
      tags:
      - Databases
      summary: Update databases by database cluster uuid config
      x-summary-source: derived
      operationId: patchV2DatabasesByDatabaseClusterUuidConfig
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/ca:
    get:
      $ref: resources/databases/databases_get_ca.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid ca
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidCa
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/online-migration:
    get:
      $ref: resources/databases/databases_get_migrationStatus.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid online migration
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidOnlineMigration
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_onlineMigration.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid online migration
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidOnlineMigration
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/online-migration/{migration_id}:
    delete:
      $ref: resources/databases/databases_delete_onlineMigration.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid online migration by migration id
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuidOnlineMigrationByMigrationId
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/migrate:
    put:
      $ref: resources/databases/databases_update_region.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid migrate
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidMigrate
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/resize:
    put:
      $ref: resources/databases/databases_update_clusterSize.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid resize
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidResize
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/firewall:
    get:
      $ref: resources/databases/databases_list_firewall_rules.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid firewall
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidFirewall
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_firewall_rules.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid firewall
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidFirewall
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/do_settings:
    get:
      $ref: resources/databases/databases_get_do_settings.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid do settings
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidDoSettings
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_do_settings.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid do settings
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidDoSettings
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/maintenance:
    put:
      $ref: resources/databases/databases_update_maintenanceWindow.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid maintenance
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidMaintenance
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/install_update:
    put:
      $ref: resources/databases/databases_update_installUpdate.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid install update
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidInstallUpdate
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/backups:
    get:
      $ref: resources/databases/databases_list_backups.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid backups
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidBackups
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/replicas:
    get:
      $ref: resources/databases/databases_list_replicas.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid replicas
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidReplicas
      x-operation-id-source: derived
    post:
      $ref: resources/databases/databases_create_replica.yml
      tags:
      - Databases
      summary: Create databases by database cluster uuid replicas
      x-summary-source: derived
      operationId: postV2DatabasesByDatabaseClusterUuidReplicas
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/events:
    get:
      $ref: resources/databases/databases_events_logs.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid events
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidEvents
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/replicas/{replica_name}:
    get:
      $ref: resources/databases/databases_get_replica.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid replicas by replica name
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidReplicasByReplicaName
      x-operation-id-source: derived
    delete:
      $ref: resources/databases/databases_destroy_replica.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid replicas by replica name
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuidReplicasByReplicaName
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote:
    put:
      $ref: resources/databases/databases_promote_replica.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid replicas by replica name promote
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidReplicasByReplicaNamePromote
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/users:
    get:
      $ref: resources/databases/databases_list_users.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid users
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidUsers
      x-operation-id-source: derived
    post:
      $ref: resources/databases/databases_add_user.yml
      tags:
      - Databases
      summary: Create databases by database cluster uuid users
      x-summary-source: derived
      operationId: postV2DatabasesByDatabaseClusterUuidUsers
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/users/{username}:
    get:
      $ref: resources/databases/databases_get_user.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid users by username
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidUsersByUsername
      x-operation-id-source: derived
    delete:
      $ref: resources/databases/databases_delete_user.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid users by username
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuidUsersByUsername
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_user.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid users by username
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidUsersByUsername
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/users/{username}/reset_auth:
    post:
      $ref: resources/databases/databases_reset_auth.yml
      tags:
      - Databases
      summary: Create databases by database cluster uuid users by username reset auth
      x-summary-source: derived
      operationId: postV2DatabasesByDatabaseClusterUuidUsersByUsernameResetAuth
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/dbs:
    get:
      $ref: resources/databases/databases_list.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid dbs
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidDbs
      x-operation-id-source: derived
    post:
      $ref: resources/databases/databases_add.yml
      tags:
      - Databases
      summary: Create databases by database cluster uuid dbs
      x-summary-source: derived
      operationId: postV2DatabasesByDatabaseClusterUuidDbs
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/dbs/{database_name}:
    get:
      $ref: resources/databases/databases_get.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid dbs by database name
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidDbsByDatabaseName
      x-operation-id-source: derived
    delete:
      $ref: resources/databases/databases_delete.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid dbs by database name
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuidDbsByDatabaseName
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/pools:
    get:
      $ref: resources/databases/databases_list_connectionPools.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid pools
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidPools
      x-operation-id-source: derived
    post:
      $ref: resources/databases/databases_add_connectionPool.yml
      tags:
      - Databases
      summary: Create databases by database cluster uuid pools
      x-summary-source: derived
      operationId: postV2DatabasesByDatabaseClusterUuidPools
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/pools/{pool_name}:
    get:
      $ref: resources/databases/databases_get_connectionPool.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid pools by pool name
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidPoolsByPoolName
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_connectionPool.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid pools by pool name
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidPoolsByPoolName
      x-operation-id-source: derived
    delete:
      $ref: resources/databases/databases_delete_connectionPool.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid pools by pool name
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuidPoolsByPoolName
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/eviction_policy:
    get:
      $ref: resources/databases/databases_get_evictionPolicy.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid eviction policy
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidEvictionPolicy
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_evictionPolicy.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid eviction policy
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidEvictionPolicy
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/sql_mode:
    get:
      $ref: resources/databases/databases_get_sql_mode.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid sql mode
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidSqlMode
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_sql_mode.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid sql mode
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidSqlMode
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/upgrade:
    put:
      $ref: resources/databases/databases_upgrade_major_version.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid upgrade
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidUpgrade
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/autoscale:
    get:
      $ref: resources/databases/databases_get_autoscale.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid autoscale
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidAutoscale
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_autoscale.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid autoscale
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidAutoscale
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/topics:
    get:
      $ref: resources/databases/databases_list_kafka_topics.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid topics
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidTopics
      x-operation-id-source: derived
    post:
      $ref: resources/databases/databases_create_kafka_topic.yml
      tags:
      - Databases
      summary: Create databases by database cluster uuid topics
      x-summary-source: derived
      operationId: postV2DatabasesByDatabaseClusterUuidTopics
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/topics/{topic_name}:
    get:
      $ref: resources/databases/databases_get_kafka_topic.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid topics by topic name
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidTopicsByTopicName
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_kafka_topic.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid topics by topic name
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidTopicsByTopicName
      x-operation-id-source: derived
    delete:
      $ref: resources/databases/databases_delete_kafka_topic.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid topics by topic name
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuidTopicsByTopicName
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/logsink:
    get:
      $ref: resources/databases/databases_list_logsink.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid logsink
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidLogsink
      x-operation-id-source: derived
    post:
      $ref: resources/databases/databases_create_logsink.yml
      tags:
      - Databases
      summary: Create databases by database cluster uuid logsink
      x-summary-source: derived
      operationId: postV2DatabasesByDatabaseClusterUuidLogsink
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/logsink/{logsink_id}:
    get:
      $ref: resources/databases/databases_get_logsink.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid logsink by logsink id
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidLogsinkByLogsinkId
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_logsink.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid logsink by logsink id
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidLogsinkByLogsinkId
      x-operation-id-source: derived
    delete:
      $ref: resources/databases/databases_delete_logsink.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid logsink by logsink id
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuidLogsinkByLogsinkId
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/schema-registry:
    get:
      $ref: resources/databases/databases_list_kafka_schemas.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid schema registry
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidSchemaRegistry
      x-operation-id-source: derived
    post:
      $ref: resources/databases/databases_create_kafka_schema.yml
      tags:
      - Databases
      summary: Create databases by database cluster uuid schema registry
      x-summary-source: derived
      operationId: postV2DatabasesByDatabaseClusterUuidSchemaRegistry
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}:
    get:
      $ref: resources/databases/databases_get_kafka_schema.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid schema registry by subject name
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidSchemaRegistryBySubjectName
      x-operation-id-source: derived
    delete:
      $ref: resources/databases/databases_delete_kafka_schema.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid schema registry by subject name
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuidSchemaRegistryBySubjectName
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version}:
    get:
      $ref: resources/databases/databases_get_kafka_schema_version.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid schema registry by subject name versions…
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidSchemaRegistryBySubjectNameVersionsByVersion
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/schema-registry/config:
    get:
      $ref: resources/databases/databases_get_kafka_schema_config.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid schema registry config
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidSchemaRegistryConfig
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_kafka_schema_config.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid schema registry config
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidSchemaRegistryConfig
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name}:
    get:
      $ref: resources/databases/databases_get_kafka_schema_subject_config.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid schema registry config by subject name
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidSchemaRegistryConfigBySubjectName
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_kafka_schema_subject_config.yml
      tags:
      - Databases
      summary: Replace databases by database cluster uuid schema registry config by subject…
      x-summary-source: derived
      operationId: putV2DatabasesByDatabaseClusterUuidSchemaRegistryConfigBySubjectName
      x-operation-id-source: derived
  /v2/databases/metrics/credentials:
    get:
      $ref: resources/databases/databases_get_cluster_metrics_credentials.yml
      tags:
      - Databases
      summary: Get databases metrics credentials
      x-summary-source: derived
      operationId: getV2DatabasesMetricsCredentials
      x-operation-id-source: derived
    put:
      $ref: resources/databases/databases_update_cluster_metrics_credentials.yml
      tags:
      - Databases
      summary: Replace databases metrics credentials
      x-summary-source: derived
      operationId: putV2DatabasesMetricsCredentials
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/indexes:
    get:
      $ref: resources/databases/databases_list_opensearch_indexes.yml
      tags:
      - Databases
      summary: Get databases by database cluster uuid indexes
      x-summary-source: derived
      operationId: getV2DatabasesByDatabaseClusterUuidIndexes
      x-operation-id-source: derived
  /v2/databases/{database_cluster_uuid}/indexes/{index_name}:
    delete:
      $ref: resources/databases/databases_delete_opensearch_index.yml
      tags:
      - Databases
      summary: Delete databases by database cluster uuid indexes by index name
      x-summary-source: derived
      operationId: deleteV2DatabasesByDatabaseClusterUuidIndexesByIndexName
      x-operation-id-source: derived
components:
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      description: '## OAuth Authentication


        In order to interact with the DigitalOcean API, you or your application must

        authenticate.


        The DigitalOcean API handles this through OAuth, an open standard for

        authorization. OAuth allows you to delegate access to your account.

        Scopes can be used to grant full access, read-only access, or access to

        a specific set of endpoints.


        You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens)

        section of the DigitalOcean control panel for your account.


        An OAuth token functions as a complete authentication request. In effect, it

        acts as a substitute for a username and password pair.


        Because of this, it is absolutely **essential** that you keep your OAuth

        tokens secure. In fact, upon generation, the web interface will only display

        each token a single time in order to prevent the token from being compromised.


        DigitalOcean access tokens begin with an identifiable prefix in order to

        distinguish them from other similar tokens.


        - `dop_v1_` for personal access tokens generated in the control panel

        - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/)

        - `dor_v1_` for OAuth refresh tokens


        ### Scopes


        Scopes act like permissions assigned to an API token. These permissions

        determine what actions the token can perform. You can create API

        tokens that grant read-only access, full access, or limited access to

        specific endpoints by using custom scopes.


        Generally, scopes are designed to match HTTP verbs and common CRUD

        operations (Create, Read, Update, Delete).


        | HTTP Verb | CRUD Operation | Scope |

        |---|---|---|

        | GET | Read | `<resource>:read` |

        | POST | Create | `<resource>:create` |

        | PUT/PATCH | Update | `<resource>:update` |

        | DELETE | Delete | `<resource>:delete` |


        For example, creating a new Droplet by making a `POST` request to the

        `/v2/droplets` endpoint requires the `droplet:create` scope while

        listing Droplets by making a `GET` request to the `/v2/droplets`

        endpoint requires the `droplet:read` scope.


        Each endpoint below specifies which scope is required to access it when

        using custom scopes.


        ### How to Authenticate with OAuth


        In order to make an authenticated request, include a bearer-type

        `Authorization` header containing your OAuth token. All requests must be

        made over HTTPS.


        ### Authenticate with a Bearer Authorization Header


        ```

        curl -X $HTTP_METHOD -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://api.digitalocean.com/v2/$OBJECT"

        ```

        '
    inference_bearer_auth:
      type: http
      scheme: bearer
      description: '## OAuth Authentication


        In order to interact with the DigitalOcean API, you or your application must

        authenticate.


        The DigitalOcean API handles this through OAuth, an open standard for

        authorization. OAuth allows you to delegate access to your account.

        Scopes can be used to grant full access, read-only access, or access to

        a specific set of endpoints.


        You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/account/api/tokens)

        section of the DigitalOcean control panel for your account.


        An OAuth token functions as a complete authentication request. In effect, it

        acts as a substitute for a username and password pair.


        Because of this, it is absolutely **essential** that you keep your OAuth

        tokens secure. In fact, upon generation, the web interface will only display

        each token a single time in order to prevent the token from being compromised.


        DigitalOcean access tokens begin with an identifiable prefix in order to

        distinguish them from other similar tokens.


        - `dop_v1_` for personal access tokens generated in the control panel

        - `doo_v1_` for tokens generated by applications using [the OAuth flow](https://docs.digitalocean.com/reference/api/oauth-api/)

        - `dor_v1_` for OAuth refresh tokens


        ### Authenticate with a Bearer Authorization Header


        **Serverless Inference:**


        ```

        curl -X POST -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" "https://inference.do-ai.run/v1/chat/completions"

        ```


        **Agent Inference:**


        ```

        curl -X POST -H "Authorization: Bearer $AGENT_ACCESS_KEY" "https://{your-agent-url}.agents.do-ai.run/v1/chat/completions?agent=true"

        ```


        **Note:** Agent Inference APIs use an `agent_access_key` (endpoint access

        key) instead of a DigitalOcean OAuth token. The `agent_access_key` is

        provided when you provision an agent endpoint and is scoped to that

        specific agent. It is not interchangeable with DigitalOcean OAuth tokens

        (`dop_v1_*`, `doo_v1_*`, `dor_v1_*`), which are used with Serverless

        Inference and the control-plane API at `https://api.digitalocean.com`.

        '
x-tagGroups:
- name: Public APIs
  tags:
  - Public APIs Introduction
  - 1-Click Applications
  - Account
  - Actions
  - Add-Ons
  - Action Gateway
  - Action Gateway Data Plane
  - Agent Platform API
  - Apps
  - Billing
  - Block Storage
  - Block Storage Actions
  - BYOIP Prefixes
  - CDN Endpoints
  - Certificates


# --- truncated at 32 KB (32 KB total) ---
# Full source: https://artifacts.apis.io/digital-ocean/openapi/digital-ocean-databases-api-openapi.yml