DataStax Database Operations API

Use these DevOps APIs to manage Astra databases.

OpenAPI Specification

datastax-database-operations-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Use this REST API to manage your DataStax Astra DB organizations and perform lifecycle actions for your Astra DB databases.</br> </br> To get started, use the /v2/clientIdSecrets endpoints to create a token to authenticate your API calls.
  version: 2.3.0
  title: Astra DevOps Access List Database Operations API
  contact:
    email: ad-astra@datastax.com
servers:
- url: https://api.astra.datastax.com/
security:
- BearerAuth:
  - org-admin
  - org-db-create
  - org-db-terminate
  - org-db-view
  - org-db-expand
  - org-db-suspend
  - org-db-addpeering
  - org-db-readpeering
  - db-keyspace-create
  - db-cql
  - accesslist-write
  - accesslist-read
  - db-manage-privateendpoint
  - db-manage-telemetry
  - db-manage-backupconfiguration
tags:
- name: Database Operations
  description: Use these DevOps APIs to manage Astra databases.
paths:
  /v2/databases:
    get:
      tags:
      - Database Operations
      summary: Returns a list of databases
      description: Get a list of databases visible to the user
      security:
      - BearerAuth:
        - org-db-view
      operationId: listDatabases
      parameters:
      - in: query
        name: include
        description: Allows filtering so that databases in listed states are returned
        required: false
        schema:
          type: string
          enum:
          - nonterminated
          - all
          - active
          - pending
          - preparing
          - prepared
          - initializing
          - parked
          - parking
          - unparking
          - terminating
          - terminated
          - resizing
          - error
          - maintenance
          - suspended
          - suspending
          default: nonterminated
      - in: query
        name: provider
        description: Allows filtering so that databases from a given provider are returned
        required: false
        schema:
          type: string
          enum:
          - ALL
          - GCP
          - AWS
          - AZURE
          default: ALL
      - in: query
        name: starting_after
        schema:
          type: string
        required: false
        description: Optional parameter for pagination purposes. Used as this value for starting retrieving a specific page of results
      - in: query
        name: limit
        schema:
          type: integer
          default: 25
          minimum: 1
          maximum: 100
        required: false
        description: Optional parameter for pagination purposes. Specify the number of items for one page of data
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Database'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        5XX:
          $ref: '#/components/responses/ServerError'
    post:
      tags:
      - Database Operations
      summary: Create a new database
      description: Takes a user provided databaseInfo and returns the uuid for a new database
      security:
      - BearerAuth:
        - org-db-create
      operationId: createDatabase
      requestBody:
        description: Definition of new database
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseInfoCreate'
      responses:
        '201':
          description: created
          headers:
            Location:
              schema:
                type: string
                description: Database UUID
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}:
    get:
      tags:
      - Database Operations
      summary: Finds database by ID
      description: Returns specified database
      security:
      - BearerAuth:
        - org-db-view
      operationId: getDatabase
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Database'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/keyspaces/{keyspaceName}:
    post:
      tags:
      - Database Operations
      summary: Adds keyspace into database
      description: Adds the specified keyspace to the database
      security:
      - BearerAuth:
        - db-keyspace-create
      operationId: addKeyspace
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      - $ref: '#/components/parameters/KeyspaceNameParam'
      responses:
        '201':
          description: created
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        5XX:
          $ref: '#/components/responses/ServerError'
    delete:
      tags:
      - Database Operations
      description: Removes the specified keyspace from the database
      operationId: removeKeyspace
      parameters:
      - description: String representation of the database ID
        explode: false
        in: path
        name: databaseID
        required: true
        schema:
          type: string
        style: simple
      - description: Name of database keyspace
        explode: false
        in: path
        name: keyspaceName
        required: true
        schema:
          type: string
        style: simple
      responses:
        '204':
          description: successful operation
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
          description: The user is unauthorized to perform the operation
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
          description: The specified database was not found
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
          description: A server error occurred
      summary: Removes keyspace
  /v2/databases/{databaseID}/keyspaces/{keyspaceName}/actions/alterWithGraphEngine:
    post:
      tags:
      - Database Operations
      summary: Alter keyspace to enable graph engine
      description: Alter the specified keyspace to enable graph engine capabilities. Only supports Managed Cluster (Classic) databases.
      operationId: alterKeyspaceWithGraphEngine
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      - $ref: '#/components/parameters/KeyspaceNameParam'
      responses:
        '202':
          description: keyspace has been well updated with graph engine capabilities.
        '204':
          description: keyspace doesn't exists.
        '400':
          description: Not a valid E Tier.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/secureBundleURL:
    post:
      summary: Obtain zip for connecting to the database
      description: 'Returns a temporary URL to download a zip file with certificates for connecting to the database. The URL expires after five minutes.<p>There are two types of the secure bundle URL: <ul><li><b>Internal</b> - Use with VPC peering connections to use private networking and avoid public internet for communication.</li> <li><b>External</b> - Use with any connection where the public internet is sufficient for communication between the application and the Astra database with MTLS.</li></ul> Both types support MTLS for communication via the driver.</p>'
      security:
      - BearerAuth:
        - db-cql
      operationId: generateSecureBundleURL
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      - $ref: '#/components/parameters/AllDatacentersParam'
      responses:
        '200':
          description: Credentials provides a link to download cluster secure-connect-*.zip file
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/CredsURL'
                - $ref: '#/components/schemas/CredsURLList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/telemetry/metrics:
    post:
      summary: Configure Astra Remote Telemetry
      description: 'Enables metrics exporting to an external system. Note: updates replace any existing config.'
      security:
      - BearerAuth:
        - telemetry
      operationId: configureTelemetry
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      tags:
      - Database Operations
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/KafkaTelemetryRequest'
              - $ref: '#/components/schemas/RemotePrometheusTelemetryRequest'
              - $ref: '#/components/schemas/CloudWatchTelemetryRequest'
              - $ref: '#/components/schemas/SplunkTelemetryRequest'
              - $ref: '#/components/schemas/PulsarTelemetryRequest'
              - $ref: '#/components/schemas/DatadogTelemetryRequest'
      responses:
        '202':
          $ref: '#/components/responses/Accepted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
    get:
      summary: Retrieve Remote Telemetry configuration
      description: Get the current Telemetry configuration for the database
      operationId: getTelemetryConfig
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      responses:
        '200':
          description: The current stored Remote Telemetry configuration for this database
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/KafkaTelemetryRequest'
                - $ref: '#/components/schemas/RemotePrometheusTelemetryRequest'
                - $ref: '#/components/schemas/CloudWatchTelemetryRequest'
                - $ref: '#/components/schemas/SplunkTelemetryRequest'
                - $ref: '#/components/schemas/PulsarTelemetryRequest'
                - $ref: '#/components/schemas/DatadogTelemetryRequest'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/terminate:
    post:
      summary: Terminates a database
      description: Terminates a database
      security:
      - BearerAuth:
        - org-db-terminate
      operationId: terminateDatabase
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      - in: query
        name: preparedStateOnly
        description: For internal use only.  Used to safely terminate prepared databases.
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '202':
          $ref: '#/components/responses/Accepted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/resize:
    post:
      summary: Resizes a database
      description: Resizes a Managed Cluster (Classic) database, specifying the desired total number of capacity units. This operation isn't applicable to Astra DB Serverless databases, and it has no relationship to Provisioned Capacity Units for Astra DB Serverless.
      security:
      - BearerAuth:
        - org-db-expand
      operationId: resizeDatabase
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      requestBody:
        description: Map containing the capacityUnits key and a value greater than the current number of capacity units. You can increase the number of CUs by no more than 3 units per operation.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CapacityUnits'
      responses:
        '202':
          $ref: '#/components/responses/Accepted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/datacenters:
    get:
      summary: List all database datacenters
      description: Returns the list of configured ACTIVE datacenters for the given database, if you want to get the TERMINATED along with ACTIVE send query param all=true
      operationId: listDatacenters
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      - in: query
        name: all
        description: Allows retrieving datacenters in TERMINATED state along with ACTIVE ones
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Datacenter'
        '401':
          $ref: '#/components/responses/Unauthorized'
        5XX:
          $ref: '#/components/responses/ServerError'
    post:
      summary: Adds datacenters
      description: Deploy a multi-region database to an additional AWS, Azure, or Google Cloud datacenter.
      operationId: addDatacenters
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      requestBody:
        description: List of values necessary to add the datacenter. Can be used to add multiple datacenters at once.
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Datacenter'
      responses:
        '201':
          $ref: '#/components/responses/Accepted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/datacenters/{datacenterID}/terminate:
    post:
      summary: Terminates a datacenter
      description: Terminates a datacenter
      operationId: terminateDatacenter
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      - $ref: '#/components/parameters/DatacenterIdParam'
      responses:
        '202':
          $ref: '#/components/responses/Accepted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/resetPassword:
    post:
      summary: Resets Password
      description: Sets a database password to the one specified in POST body
      security:
      - BearerAuth:
        - org-db-create
      operationId: resetPassword
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      requestBody:
        description: Map containing username and password. The specified password will be updated for the specified database user
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPassword'
      responses:
        '202':
          $ref: '#/components/responses/Accepted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/engineType:
    put:
      summary: Updates the database engine type
      description: Updates the engine type for the specified database. This operation is only applicable to Astra DB Serverless databases.
      security:
      - BearerAuth:
        - org-db-create
      operationId: updateEngineType
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      requestBody:
        description: Map containing the new engine type.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EngineType'
      responses:
        '202':
          $ref: '#/components/responses/Accepted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v3/databases/{databaseID}/cdc:
    post:
      summary: Enable CDC for a Database
      description: Configure CDC for specified tables in a given database
      security:
      - BearerAuth:
        - org-db-create
      operationId: enableCDC
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      requestBody:
        description: Request payload containing the necessary configuration for enabling CDC, including tables and regions
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnableCDCRequest'
      responses:
        '201':
          $ref: '#/components/responses/Created'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
    put:
      summary: Update CDC config
      description: Update CDC config for tables in a given database
      security:
      - BearerAuth:
        - org-db-create
      operationId: updateCDC
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      requestBody:
        description: Request payload with CDC config to add, remove, or update tables and regions
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnableCDCRequest'
      responses:
        '201':
          $ref: '#/components/responses/Created'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
    get:
      summary: List all active CDC configs
      description: Returns a list of all tables with active CDC configurations for the specified database
      security:
      - BearerAuth:
        - org-db-view
      operationId: getCDC
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCDCResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/ServerError'
    delete:
      summary: Delete CDC for tables in Database
      description: Delete CDC for specified tables in a given database
      security:
      - BearerAuth:
        - org-db-terminate
      operationId: deleteCDC
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      requestBody:
        description: Request payload containing details of the tables for which CDC should be removed
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteCDCRequest'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v3/databases/{databaseID}/keyspaces/{keyspaceName}/tables/{tableName}/cdc:
    get:
      summary: Check CDC status for a table
      description: Fetches the CDC status and configuration for the specified table in the given database
      security:
      - BearerAuth:
        - org-db-view
      operationId: getCDCStatus
      tags:
      - Database Operations
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      - $ref: '#/components/parameters/TableNameParam'
      - $ref: '#/components/parameters/KeyspaceNameParam'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetCDCResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/databases/{databaseID}/keyspaces/{keyspaceName}/tables/{tableName}/solr/createCorewithconfigs:
    post:
      tags:
      - Database Operations
      summary: Create a Solr index for an E tier Managed Cluster (Classic) database.
      description: 'If `generateResources` is set to `true`, the Solr index is automatically generated based on existing CQL table metadata. If `generateResources` is set to `false`, provide `<schema.xml>` and `<solrconfig.xml>` resources to create the search index.

        '
      operationId: createSolrIndex
      parameters:
      - $ref: '#/components/parameters/DatabaseIdParam'
      - $ref: '#/components/parameters/KeyspaceNameParam'
      - $ref: '#/components/parameters/TableNameParam'
      - name: generateResources
        in: query
        required: true
        schema:
          type: boolean
      - name: schema
        in: query
        required: false
        schema:
          type: string
          format: binary
          example: '@/mylocal/schema.xml'
      - name: solrconfig
        in: query
        required: false
        schema:
          type: string
          format: binary
          example: '@/mylocal/solrconfig.xml'
      responses:
        '202':
          description: The registration for SolrIndex creation has been accepted and is proceeding. Please note that this does not guarantee success at this step.
        '204':
          description: Keyspace doesn't exist.
        '400':
          description: Not a valid E Tier.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    CredsURL:
      description: CredsURL from which the creds zip may be downloaded
      type: object
      required:
      - downloadURL
      properties:
        downloadURL:
          type: string
          example: nifty.cloud.datastax.com:9092
          description: DownloadURL is only valid for about 5 minutes
        downloadURLInternal:
          type: string
          example: internal-nifty.cloud.datastax.com:9092
          description: Internal DownloadURL is only valid for about 5 minutes
        downloadURLMigrationProxy:
          type: string
          example: proxy-nifty.cloud.datastax.com:9092
          description: Migration Proxy DownloadURL is only valid for about 5 minutes
        downloadURLMigrationProxyInternal:
          type: string
          example: proxy-nifty.cloud.datastax.com:9092
          description: Internal Migration Proxy DownloadURL is only valid for about 5 minutes
        datcenterID:
          type: string
          example: dde308f5-a8b0-474d-afd6-81e5689e3e25
        region:
          type: string
          example: us-east-1
        cloudProvider:
          type: string
          example: AWS
        customDomainBundles:
          type: array
          items:
            type: object
            properties:
              domain:
                type: string
                example: example.domain.com
              cqlFQDN:
                type: string
                example: dde308f5-a8b0-474d-afd6-81e5689e3e25-us-east-1.db.example.domain.com
              apiFQDN:
                type: string
                example: dde308f5-a8b0-474d-afd6-81e5689e3e25-us-east-1.apps.example.domain.com
              dashboardFQDN:
                type: string
                example: dde308f5-a8b0-474d-afd6-81e5689e3e25-us-east-1.dashboard.example.domain.com
              downloadURL:
                type: string
                example: nifty.cloud.datastax.com:9092
    RemotePrometheusBasicAuthTelemetryRequest:
      allOf:
      - $ref: '#/components/schemas/RemotePrometheusAuthRequest'
      - type: object
        description: Telemetry Config for Prometheus Remote Write with Basic Authentication
        required:
        - user
        - password
        properties:
          user:
            type: string
            example: promuser
            description: Username for Prometheus Remote Write Authentication
          password:
            type: string
            format: password
            example: prompassword
            description: Password for Prometheus Remote Write Authentication
    SplunkTelemetryRequest:
      description: Telemetry Config for Splunk. The metric name is formatted differently from other sinks, using dot to connect namespaces. The format entails default_namespace.kubernetes_grouping_namespace. For example, a metric_name in Splunk sink would be astra.db_range_latency_seconds:rate1m.
      type: object
      properties:
        splunk:
          $ref: '#/components/schemas/SplunkTelemetryRequestBlock'
      required:
      - splunk
    DeleteCDCRequest:
      description: Request schema for deleting CDC on a database
      type: object
      required:
      - databaseID
      - tables
      properties:
        databaseID:
          type: string
          example: 1234-5678-91011121-3141
          description: Unique identifier for the database
        tables:
          type: array
          description: List of tables for which CDC needs to be deleted
          items:
            type: object
            required:
            - tableName
            - keyspaceName
            properties:
              tableName:
                type: string
                example: tableName
                description: Name of the table
              keyspaceName:
                type: string
                example: default
                description: Name of the keyspace
    Database:
      type: object
      description: Database contains the key information about a database
      required:
      - id
      - orgId
      - ownerId
      - info
      - status
      properties:
        id:
          type: string
          example: 1234-5678-91011121-3141
        orgId:
          type: string
          example: organizations/7142-1283-54249566-3707
        ownerId:
          type: string
          example: users/8243-2404-85664728-0889
        info:
          $ref: '#/components/schemas/DatabaseInfo'
        creationTime:
          type: string
          description: CreationTime in ISO RFC3339 format
          example: '2012-11-01T22:08:41+00:00'
        terminationTime:
          type: string
          description: TerminationTime in ISO RFC3339 format
          example: '2019-11-01T22:08:41+00:00'
        status:
          $ref: '#/components/schemas/StatusEnum'
        storage:
          $ref: '#/components/schemas/Storage'
        availableActions:
          type: array
          items:
            type: string
            enum:
            - park
            - unpark
            - resize
            - resetPassword
            - addKeyspace
            - addDatacenters
            - terminateDatacenter
            - getCreds
            - terminate
            - removeKeyspace
            - removeMigrationProxy
            - launchMigrationProxy
            example: addKeyspace, terminate
        message:
          type: string
          description: Message to the customer about the cluster
          example: Auto parked due to inactivity
        grafanaUrl:
          type: string
          example: http://path-to-grafana:port
        cqlshUrl:
          type: string
          example: http://path-to-cqlsh:port/cqlsh
        graphqlUrl:
          type: string
          example: http://path-to-graqphl:port/api/graphql
        dataEndpointUrl:
          type: string
          example: http://path-to-dataendpoint:port/api/rest
    KafkaTelemetryRequest:
      description: Telemetry Config for Kafka
      type: object
      properties:
        kafka:
          $ref: '#/components/schemas/KafkaTelemetryRequestBlock'
      required:
      - kafka
    CredsURLList:
      type: array
      description: an array of credsURL
      items:
        $ref: '#/components/schemas/CredsURL'
    Datacenter:
      type: object
      description: Datacenter is the definition of a cassandra datacenter
      required:
      - tier
      - cloudProvider
      - region
      - status
      properties:
        id:
          type: string
          example: 1234-5678-91011121-3141-1
        name:
          type: string
          example: dc-1234-5678-91011121-3141
        tier:
          type: string
    

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datastax/refs/heads/main/openapi/datastax-database-operations-api-openapi.yml