Exoscale dbaas API

Databases as a Service (DBaaS) provides scalable and fully-managed database solutions with high availability and performance backed by Exoscale's Compute and Storage services.

Operations 132

DELETE /dbaas-external-endpoint-opensearch/{endpoint-id} #
GET /dbaas-external-endpoint-opensearch/{endpoint-id} #
PUT /dbaas-external-endpoint-opensearch/{endpoint-id} #
GET /dbaas-opensearch/{name}/acl-config Get DBaaS OpenSearch ACL configuration #
PUT /dbaas-opensearch/{name}/acl-config Create a DBaaS OpenSearch ACL configuration #
POST /dbaas-valkey/{name}/migration/stop Stop a DBaaS Valkey migration #
PUT /dbaas-grafana/{name}/maintenance/start Initiate Grafana maintenance update #
POST /dbaas-postgres/{service}/upgrade-check #
PUT /dbaas-mysql/{service-name}/user/{username}/password/reset Reset the credentials of a DBaaS mysql user #
POST /dbaas-postgres/{service-name}/connection-pool Create a DBaaS PostgreSQL connection pool #
PUT /dbaas-mysql/{name} Update a DBaaS MySQL service #
GET /dbaas-mysql/{name} Get a DBaaS MySQL service #
POST /dbaas-mysql/{name} Create a DBaaS MySQL service #
DELETE /dbaas-mysql/{name} Delete a MySQL service #
PUT /dbaas-thanos/{name}/maintenance/start Initiate Thanos maintenance update #
DELETE /dbaas-external-endpoint-elasticsearch/{endpoint-id} #
GET /dbaas-external-endpoint-elasticsearch/{endpoint-id} #
PUT /dbaas-external-endpoint-elasticsearch/{endpoint-id} #
POST /dbaas-mysql/{service-name}/user Create a DBaaS MySQL user #
GET /dbaas-service-type DBaaS Service Types #
GET /dbaas-service List DBaaS services #
POST /dbaas-external-endpoint-rsyslog/{name} #
GET /dbaas-ca-certificate Get DBaaS CA Certificate #
GET /dbaas-settings-grafana Get DBaaS Grafana settings #
DELETE /dbaas-postgres/{service-name}/database/{database-name} Delete a DBaaS Postgres database #
POST /dbaas-postgres/{name}/migration/stop Stop a DBaaS PostgreSQL migration #
GET /dbaas-kafka/{name} Get a DBaaS Kafka service #
POST /dbaas-kafka/{name} Create a DBaaS Kafka service #
PUT /dbaas-kafka/{name} Update a DBaaS Kafka service #
DELETE /dbaas-kafka/{name} Delete a Kafka service #
POST /dbaas-kafka/{name}/schema-registry/acl-config Add a Kafka Schema Registry ACL entry #
POST /dbaas-postgres/{service-name}/user Create a DBaaS Postgres user #
GET /dbaas-external-integrations/{service-name} #
GET /dbaas-external-integration/{integration-id} #
GET /dbaas-external-endpoint-types #
GET /dbaas-kafka/{service-name}/connect/password/reveal Reveal the secrets for DBaaS Kafka Connect #
DELETE /dbaas-opensearch/{service-name}/user/{username} Delete a DBaaS OpenSearch user #
GET /dbaas-external-endpoint-prometheus/{endpoint-id} #
DELETE /dbaas-external-endpoint-prometheus/{endpoint-id} #
PUT /dbaas-external-endpoint-prometheus/{endpoint-id} #
POST /dbaas-kafka/{service-name}/user Create a DBaaS Kafka user #
PUT /dbaas-valkey/{service-name}/user/{username}/password/reset Reset the credentials of a DBaaS Valkey user #
POST /dbaas-external-integration-settings-datadog/{integration-id} #
GET /dbaas-external-integration-settings-datadog/{integration-id} #
GET /dbaas-settings-mysql Get DBaaS MySQL settings #
GET /dbaas-settings-valkey Get DBaaS Valkey settings #
POST /dbaas-postgres/{service-name}/database Create a DBaaS Postgres database #
GET /dbaas-settings-thanos Get DBaaS Thanos settings #
POST /dbaas-opensearch/{service-name}/user Create a DBaaS OpenSearch user #
GET /dbaas-integration-types #
DELETE /dbaas-postgres/{service-name}/user/{username} Delete a DBaaS Postgres user #
PUT /dbaas-postgres/{service-name}/user/{username}/allow-replication Update access control for one service user #
POST /dbaas-kafka/{name}/topic/acl-config Add a Kafka topic ACL entry #
POST /dbaas-external-endpoint-opensearch/{name} #
DELETE /dbaas-mysql/{service-name}/database/{database-name} Delete a DBaaS MySQL database #
POST /dbaas-service-logs/{service-name} Get logs of DBaaS service #
PUT /dbaas-postgres/{name}/maintenance/start Initiate PostgreSQL maintenance update #
GET /dbaas-grafana/{service-name}/user/{username}/password/reveal Reveal the secrets of a DBaaS Grafana user #
PUT /dbaas-grafana/{service-name}/user/{username}/password/reset Reset the credentials of a DBaaS Grafana user #
PUT /dbaas-valkey/{service-name}/user/{username} Update access control for one DBaaS Valkey service user #
DELETE /dbaas-valkey/{service-name}/user/{username} Delete a DBaaS Valkey user #
DELETE /dbaas-kafka/{name}/schema-registry/acl-config/{acl-id} Delete a Kafka ACL entry #
DELETE /dbaas-kafka/{service-name}/user/{username} Delete a DBaaS kafka user #
GET /dbaas-service-type/{service-type-name} Get a DBaaS service type #
POST /dbaas-external-endpoint-datadog/{name} #
PUT /dbaas-mysql/{name}/maintenance/start Initiate MySQL maintenance update #
PUT /dbaas-opensearch/{service-name}/user/{username}/password/reset Reset the credentials of a DBaaS OpenSearch user #
GET /dbaas-mysql/{service-name}/user/{username}/password/reveal Reveal the secrets of a DBaaS MySQL user #
POST /dbaas-service-metrics/{service-name} Get metrics of DBaaS service #
PUT /dbaas-mysql/{name}/enable/writes Temporarily enable writes for MySQL services in read-only mode due to filled up storage #
GET /dbaas-kafka/{service-name}/user/{username}/password/reveal Reveal the secrets of a DBaaS Kafka user #
POST /dbaas-task-migration-check/{service} #
DELETE /dbaas-external-endpoint-datadog/{endpoint-id} #
GET /dbaas-external-endpoint-datadog/{endpoint-id} #
PUT /dbaas-external-endpoint-datadog/{endpoint-id} #
POST /dbaas-external-endpoint-prometheus/{name} #
DELETE /dbaas-integration/{id} #
PUT /dbaas-integration/{id} #
GET /dbaas-integration/{id} #
GET /dbaas-integration-settings/{integration-type}/{source-type}/{dest-type} #
GET /dbaas-thanos/{service-name}/user/{username}/password/reveal Reveal the secrets of a DBaaS Thanos user #
GET /dbaas-settings-pg Get DBaaS PostgreSQL settings #
DELETE /dbaas-valkey/{name} Delete a Valkey service #
GET /dbaas-valkey/{name} #
POST /dbaas-valkey/{name} Create a DBaaS Valkey service #
PUT /dbaas-valkey/{name} #
POST /dbaas-mysql/{name}/migration/stop Stop a DBaaS MySQL migration #
GET /dbaas-external-endpoints #
PUT /dbaas-kafka/{name}/maintenance/start Initiate Kafka maintenance update #
PUT /dbaas-postgres/{service-name}/connection-pool/{connection-pool-name} Update a DBaaS PostgreSQL connection pool #
DELETE /dbaas-postgres/{service-name}/connection-pool/{connection-pool-name} Delete a DBaaS PostgreSQL connection pool #
GET /dbaas-thanos/{name} #
POST /dbaas-thanos/{name} Create a DBaaS Thanos service #
PUT /dbaas-thanos/{name} #
DELETE /dbaas-thanos/{name} Delete a Thanos service #
GET /dbaas-migration-status/{name} Get a DBaaS migration status #
DELETE /dbaas-mysql/{service-name}/user/{username} Delete a DBaaS MySQL user #
DELETE /dbaas-service/{name} Delete a DBaaS service #
POST /dbaas-mysql/{service-name}/database Create a DBaaS MySQL database #
GET /dbaas-settings-kafka Get DBaaS Kafka settings #
GET /dbaas-postgres/{service-name}/user/{username}/password/reveal Reveal the secrets of a DBaaS Postgres user #
GET /dbaas-settings-opensearch Get DBaaS OpenSearch settings #
PUT /dbaas-external-endpoint/{source-service-name}/attach #
DELETE /dbaas-grafana/{name} Delete a Grafana service #
GET /dbaas-grafana/{name} Get a DBaaS Grafana service #
PUT /dbaas-grafana/{name} Update a DBaaS Grafana service #
POST /dbaas-grafana/{name} #
DELETE /dbaas-external-endpoint-rsyslog/{endpoint-id} #
PUT /dbaas-external-endpoint-rsyslog/{endpoint-id} #
GET /dbaas-external-endpoint-rsyslog/{endpoint-id} #
POST /dbaas-external-endpoint-elasticsearch/{name} #
PUT /dbaas-opensearch/{name}/maintenance/start Initiate OpenSearch maintenance update #
GET /dbaas-kafka/{name}/acl-config Get DBaaS kafka ACL configuration #
PUT /dbaas-kafka/{service-name}/user/{username}/password/reset Reset the credentials of a DBaaS Kafka user #
GET /dbaas-opensearch/{service-name}/user/{username}/password/reveal Reveal the secrets of a DBaaS OpenSearch user #
PUT /dbaas-valkey/{name}/maintenance/start Initiate Valkey maintenance update #
POST /dbaas-opensearch/{name} Create a DBaaS OpenSearch service #
GET /dbaas-opensearch/{name} Get a DBaaS OpenSearch service #
DELETE /dbaas-opensearch/{name} Delete a OpenSearch service #
PUT /dbaas-opensearch/{name} Update a DBaaS OpenSearch service #
PUT /dbaas-external-endpoint/{source-service-name}/detach #
GET /dbaas-valkey/{service-name}/user/{username}/password/reveal Reveal the secrets of a DBaaS Valkey user #
PUT /dbaas-postgres/{name} Update a DBaaS PostgreSQL service #
GET /dbaas-postgres/{name} Get a DBaaS PostgreSQL service #
POST /dbaas-postgres/{name} Create a DBaaS PostgreSQL service #
DELETE /dbaas-postgres/{name} Delete a Postgres service #
POST /dbaas-valkey/{service-name}/user Create a DBaaS Valkey user #
GET /dbaas-valkey/{service-name}/user List DBaaS Valkey users with ACL configuration #
POST /dbaas-integration #
GET /dbaas-task/{service}/{id} Get a DBaaS task #
DELETE /dbaas-kafka/{name}/topic/acl-config/{acl-id} Delete a Kafka ACL entry #
PUT /dbaas-postgres/{service-name}/user/{username}/password/reset Reset the credentials of a DBaaS Postgres user #

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/exoscale-dbaas-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

exoscale-dbaas-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  termsOfService: https://exoscale.com/terms
  contact:
    email: support@exoscale.com
    name: Exoscale Support
    url: https://portal.exoscale.com/tickets
  title: Exoscale ai-api-key Dbaas API
  description: Infrastructure automation API, allowing programmatic access to all Exoscale products and services.
servers:
- url: https://api-{zone}.exoscale.com/v2
  variables:
    zone:
      default: ch-gva-2
      enum:
      - ch-gva-2
      - ch-dk-2
      - de-fra-1
      - de-muc-1
      - at-vie-1
      - at-vie-2
      - bg-sof-1
      - hr-zag-1
tags:
- description: Databases as a Service (DBaaS) provides scalable and fully-managed database solutions with high availability and performance backed by Exoscale's Compute and Storage services.
  externalDocs:
    description: Read more
    url: https://community.exoscale.com/product/dbaas/
  name: dbaas
  x-display-name: DBaaS
  x-weight: 400
  x-icon: exo-dbaas
paths:
  /dbaas-external-endpoint-opensearch/{endpoint-id}:
    delete:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: '[BETA] Delete OpenSearch logs external integration endpoint'
      parameters:
      - in: path
        required: true
        name: endpoint-id
        schema:
          type: string
          format: uuid
      summary: ''
      operationId: delete-dbaas-external-endpoint-opensearch
    get:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbaas-endpoint-opensearch-output'
      description: '[BETA] Get OpenSearch Logs external integration endpoint settings'
      parameters:
      - in: path
        required: true
        name: endpoint-id
        schema:
          type: string
          format: uuid
      summary: ''
      operationId: get-dbaas-external-endpoint-opensearch
    put:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: '[BETA] Update OpenSearch Logs external integration endpoint'
      parameters:
      - in: path
        required: true
        name: endpoint-id
        schema:
          type: string
          format: uuid
      summary: ''
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dbaas-endpoint-opensearch-input-update'
      operationId: update-dbaas-external-endpoint-opensearch
  /dbaas-opensearch/{name}/acl-config:
    get:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbaas-opensearch-acl-config'
      description: null
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Get DBaaS OpenSearch ACL configuration
      operationId: get-dbaas-opensearch-acl-config
    put:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: null
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Create a DBaaS OpenSearch ACL configuration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dbaas-opensearch-acl-config'
      operationId: update-dbaas-opensearch-acl-config
  /dbaas-valkey/{name}/migration/stop:
    post:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: null
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Stop a DBaaS Valkey migration
      operationId: stop-dbaas-valkey-migration
  /dbaas-grafana/{name}/maintenance/start:
    put:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: null
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Initiate Grafana maintenance update
      operationId: start-dbaas-grafana-maintenance
  /dbaas-postgres/{service}/upgrade-check:
    post:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbaas-task'
      description: Check whether you can upgrade Postgres service to a newer version
      parameters:
      - in: path
        required: true
        name: service
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: ''
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                target-version:
                  $ref: '#/components/schemas/dbaas-pg-target-versions'
                  description: Target version for upgrade
              required:
              - target-version
      operationId: create-dbaas-pg-upgrade-check
  /dbaas-mysql/{service-name}/user/{username}/password/reset:
    put:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: If no password is provided one will be generated automatically.
      parameters:
      - in: path
        required: true
        name: service-name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      - in: path
        required: true
        name: username
        schema:
          $ref: '#/components/schemas/dbaas-user-username'
      summary: Reset the credentials of a DBaaS mysql user
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                password:
                  $ref: '#/components/schemas/dbaas-mysql-user-password'
                  description: New password
                authentication:
                  $ref: '#/components/schemas/enum-mysql-authentication-plugin'
                  description: Authentication method
      operationId: reset-dbaas-mysql-user-password
  /dbaas-postgres/{service-name}/connection-pool:
    post:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: ''
      parameters:
      - in: path
        required: true
        name: service-name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Create a DBaaS PostgreSQL connection pool
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  $ref: '#/components/schemas/dbaas-pg-pool-name'
                  description: Connection pool name
                database-name:
                  $ref: '#/components/schemas/dbaas-database-name'
                  description: Service database name
                mode:
                  $ref: '#/components/schemas/enum-pg-pool-mode'
                  description: PGBouncer pool mode
                size:
                  $ref: '#/components/schemas/dbaas-pg-pool-size'
                  description: Size of PGBouncer's PostgreSQL side connection pool
                username:
                  $ref: '#/components/schemas/dbaas-pg-pool-username'
                  description: Pool username
              required:
              - name
              - database-name
      operationId: create-dbaas-pg-connection-pool
  /dbaas-mysql/{name}:
    put:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: Update a DBaaS MySQL service
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Update a DBaaS MySQL service
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                maintenance:
                  type: object
                  properties:
                    dow:
                      type: string
                      enum:
                      - saturday
                      - tuesday
                      - never
                      - wednesday
                      - sunday
                      - friday
                      - monday
                      - thursday
                      description: Day of week for installing updates
                    time:
                      type: string
                      maxLength: 8
                      minLength: 8
                      description: Time for installing updates, UTC
                  required:
                  - dow
                  - time
                  description: Automatic maintenance settings
                plan:
                  type: string
                  maxLength: 128
                  minLength: 1
                  description: Subscription plan
                termination-protection:
                  type: boolean
                  description: Service is protected against termination and powering off
                ip-filter:
                  type: array
                  items:
                    type: string
                  description: Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
                mysql-settings:
                  $ref: '#/components/schemas/json-schema-mysql'
                  description: MySQL-specific settings
                migration:
                  type: object
                  properties:
                    host:
                      type: string
                      maxLength: 255
                      minLength: 1
                      description: Hostname or IP address of the server where to migrate data from
                    port:
                      type: integer
                      format: int64
                      minimum: 1
                      maximum: 65535
                      description: Port number of the server where to migrate data from
                    password:
                      type: string
                      maxLength: 255
                      minLength: 1
                      description: Password for authentication with the server where to migrate data from
                    ssl:
                      type: boolean
                      description: The server where to migrate data from is secured with SSL
                    username:
                      type: string
                      maxLength: 255
                      minLength: 1
                      description: User name for authentication with the server where to migrate data from
                    dbname:
                      type: string
                      maxLength: 63
                      minLength: 1
                      description: Database name for bootstrapping the initial connection
                    ignore-dbs:
                      type: string
                      maxLength: 2048
                      minLength: 1
                      description: Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
                    method:
                      $ref: '#/components/schemas/enum-migration-method'
                      description: The migration method to be used
                  required:
                  - host
                  - port
                  description: Migrate data from existing server
                binlog-retention-period:
                  type: integer
                  format: int64
                  minimum: 600
                  maximum: 86400
                  description: The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default for example if using the MySQL Debezium Kafka connector.
                backup-schedule:
                  type: object
                  properties:
                    backup-hour:
                      type:
                      - integer
                      - 'null'
                      format: int64
                      minimum: 0
                      maximum: 23
                      description: The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
                    backup-minute:
                      type:
                      - integer
                      - 'null'
                      format: int64
                      minimum: 0
                      maximum: 59
                      description: The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
      operationId: update-dbaas-service-mysql
    get:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbaas-service-mysql'
      description: Get a DBaaS MySQL service
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Get a DBaaS MySQL service
      operationId: get-dbaas-service-mysql
    post:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: Create a DBaaS MySQL service
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Create a DBaaS MySQL service
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                backup-schedule:
                  type: object
                  properties:
                    backup-hour:
                      type:
                      - integer
                      - 'null'
                      format: int64
                      minimum: 0
                      maximum: 23
                      description: The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
                    backup-minute:
                      type:
                      - integer
                      - 'null'
                      format: int64
                      minimum: 0
                      maximum: 59
                      description: The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
                integrations:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - read_replica
                        description: Integration type
                      source-service:
                        $ref: '#/components/schemas/dbaas-service-name'
                        description: A source service
                      dest-service:
                        $ref: '#/components/schemas/dbaas-service-name'
                        description: A destination service
                      settings:
                        type: object
                        description: Integration settings
                    required:
                    - type
                  description: Service integrations to be enabled when creating the service.
                ip-filter:
                  type: array
                  items:
                    type: string
                  description: Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
                termination-protection:
                  type: boolean
                  description: Service is protected against termination and powering off
                fork-from-service:
                  $ref: '#/components/schemas/dbaas-service-name'
                  description: Service to fork from
                recovery-backup-time:
                  type: string
                  minLength: 1
                  description: ISO time of a backup to recover from for services that support arbitrary times
                mysql-settings:
                  $ref: '#/components/schemas/json-schema-mysql'
                  description: MySQL-specific settings
                maintenance:
                  type: object
                  properties:
                    dow:
                      type: string
                      enum:
                      - saturday
                      - tuesday
                      - never
                      - wednesday
                      - sunday
                      - friday
                      - monday
                      - thursday
                      description: Day of week for installing updates
                    time:
                      type: string
                      maxLength: 8
                      minLength: 8
                      description: Time for installing updates, UTC
                  required:
                  - dow
                  - time
                  description: Automatic maintenance settings
                admin-username:
                  type: string
                  maxLength: 64
                  minLength: 1
                  pattern: ^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$
                  description: Custom username for admin user. This must be set only when a new service is being created.
                version:
                  type: string
                  minLength: 1
                  description: MySQL major version
                plan:
                  type: string
                  maxLength: 128
                  minLength: 1
                  description: Subscription plan
                admin-password:
                  $ref: '#/components/schemas/dbaas-mysql-user-password'
                  description: Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.
                migration:
                  type: object
                  properties:
                    host:
                      type: string
                      maxLength: 255
                      minLength: 1
                      description: Hostname or IP address of the server where to migrate data from
                    port:
                      type: integer
                      format: int64
                      minimum: 1
                      maximum: 65535
                      description: Port number of the server where to migrate data from
                    password:
                      type: string
                      maxLength: 255
                      minLength: 1
                      description: Password for authentication with the server where to migrate data from
                    ssl:
                      type: boolean
                      description: The server where to migrate data from is secured with SSL
                    username:
                      type: string
                      maxLength: 255
                      minLength: 1
                      description: User name for authentication with the server where to migrate data from
                    dbname:
                      type: string
                      maxLength: 63
                      minLength: 1
                      description: Database name for bootstrapping the initial connection
                    ignore-dbs:
                      type: string
                      maxLength: 2048
                      minLength: 1
                      description: Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
                    method:
                      $ref: '#/components/schemas/enum-migration-method'
                      description: The migration method to be used
                  required:
                  - host
                  - port
                  description: Migrate data from existing server
                binlog-retention-period:
                  type: integer
                  format: int64
                  minimum: 600
                  maximum: 86400
                  description: The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default for example if using the MySQL Debezium Kafka connector.
              required:
              - plan
      operationId: create-dbaas-service-mysql
    delete:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: null
      parameters:
      - in: path
        required: true
        name: name
        schema:
          type: string
      summary: Delete a MySQL service
      operationId: delete-dbaas-service-mysql
  /dbaas-thanos/{name}/maintenance/start:
    put:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: null
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Initiate Thanos maintenance update
      operationId: start-dbaas-thanos-maintenance
  /dbaas-external-endpoint-elasticsearch/{endpoint-id}:
    delete:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: '[BETA] Delete ElasticSearch logs external integration endpoint'
      parameters:
      - in: path
        required: true
        name: endpoint-id
        schema:
          type: string
          format: uuid
      summary: ''
      operationId: delete-dbaas-external-endpoint-elasticsearch
    get:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbaas-endpoint-elasticsearch-output'
      description: '[BETA] Get ElasticSearch Logs external integration endpoint settings'
      parameters:
      - in: path
        required: true
        name: endpoint-id
        schema:
          type: string
          format: uuid
      summary: ''
      operationId: get-dbaas-external-endpoint-elasticsearch
    put:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: '[BETA] Update ElasticSearch Logs external integration endpoint'
      parameters:
      - in: path
        required: true
        name: endpoint-id
        schema:
          type: string
          format: uuid
      summary: ''
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dbaas-endpoint-elasticsearch-input-update'
      operationId: update-dbaas-external-endpoint-elasticsearch
  /dbaas-mysql/{service-name}/user:
    post:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: null
      parameters:
      - in: path
        required: true
        name: service-name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Create a DBaaS MySQL user
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  $ref: '#/components/schemas/dbaas-user-username'
                  description: Username
                authentication:
                  $ref: '#/components/schemas/enum-mysql-authentication-plugin'
                  description: Authentication option
              required:
              - username
      operationId: create-dbaas-mysql-user
  /dbaas-service-type:
    get:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  dbaas-service-types:
                    type: array
                    items:
                      $ref: '#/components/schemas/dbaas-service-type'
      description: List available service types for DBaaS
      parameters: []
      summary: DBaaS Service Types
      operationId: list-dbaas-service-types
  /dbaas-service:
    get:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  dbaas-services:
                    type: array
                    items:
                      $ref: '#/components/schemas/dbaas-service-common'
      description: List DBaaS services
      parameters: []
      summary: List DBaaS services
      operationId: list-dbaas-services
  /dbaas-external-endpoint-rsyslog/{name}:
    post:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: '[BETA] Create RSyslog external integration endpoint'
      parameters:
      - in: path
        required: true
        name: name
        schema:
          type: string
      summary: ''
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dbaas-endpoint-rsyslog-input-create'
      operationId: create-dbaas-external-endpoint-rsyslog
  /dbaas-ca-certificate:
    get:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  certificate:
                    type: string
      description: Returns a CA Certificate required to reach a DBaaS service through a TLS-protected connection.
      parameters: []
      summary: Get DBaaS CA Certificate
      operationId: get-dbaas-ca-certificate
  /dbaas-settings-grafana:
    get:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  settings:
                    type: object
                    properties:
                      grafana:
                        type: object
                        properties:
                          properties:
                            type: object
                          additionalProperties:
                            type: boolean
                          type:
                            type: string
                          title:
                            type: string
                        description: Grafana configuration values
      description: Get DBaaS Grafana settings
      parameters: []
      summary: Get DBaaS Grafana settings
      operationId: get-dbaas-settings-grafana
  /dbaas-postgres/{service-name}/database/{database-name}:
    delete:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: null
      parameters:
      - in: path
        required: true
        name: service-name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      - in: path
        required: true
        name: database-name
        schema:
          $ref: '#/components/schemas/dbaas-pg-database-name'
      summary: Delete a DBaaS Postgres database
      operationId: delete-dbaas-pg-database
  /dbaas-postgres/{name}/migration/stop:
    post:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: null
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Stop a DBaaS PostgreSQL migration
      operationId: stop-dbaas-pg-migration
  /dbaas-kafka/{name}:
    get:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbaas-service-kafka'
      description: null
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Get a DBaaS Kafka service
      operationId: get-dbaas-service-kafka
    post:
      tags:
      - dbaas
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/operation'
      description: Create a DBaaS Kafka service
      parameters:
      - in: path
        required: true
        name: name
        schema:
          $ref: '#/components/schemas/dbaas-service-name'
      summary: Create a DBaaS Kafka service
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                authentication-methods:
                  type: object
                  properties:
                    certificate:
                      type: boolean
                      description: Enable certificate/SSL authentication
                    sasl:
                      type: boolean
                      description: Enable SASL authentication
                  description: Kafka authentication methods
                kafka-rest-enabled:
                  type: boolean
                  description: Enable Kafka-REST servic

# --- truncated at 32 KB (369 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/exoscale/refs/heads/main/openapi/exoscale-dbaas-api-openapi.yml