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.

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 Clone 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: Clone description: Use the DevOps API to clone databases. paths: /v2/databases/{databaseID}/snapshots: get: tags: - Clone summary: List a database's snapshots. description: List a database's snapshots. security: - BearerAuth: - org-db-view operationId: listSnapshots parameters: - $ref: '#/components/parameters/DatabaseIdParam' - in: query name: from description: Optional timestamp in RFC3339 format. Sets the earliest time from which to fetch snapshots. If alone, fetches all available snapshots recorded on or after the given time. Use with 'to' to create a defined range. required: false schema: type: string description: Optional timestamp from which to list the snapshots in RFC3339 format. example: 2006-01-02T15:04:05Z07:00 - in: query name: to description: Optional timestamp in RFC3339 format. Sets the latest time from which to fetch snapshots. If alone, fetches all available snapshots recorded on or before the given time. Use with 'from' to create a defined range. required: false schema: type: string description: Optional timestamp until which to list the snapshots in RFC3339 format. example: 2006-01-02T15:04:05Z07:00 - in: query name: sourceRegion required: false description: When set then identifies which region to use as the source. schema: type: string /v2/databases/{targetDBID}/cloneFrom/{sourceDBID}: post: tags: - Clone summary: Start a clone operation description: Start a clone operation. security: - BearerAuth: - org-db-create operationId: cloneFromDB parameters: - in: path name: targetDBID required: true description: The ID of the target database that you want to clone to. schema: type: string - in: path name: sourceDBID required: true description: The ID of the source database that you want to clone. schema: type: string - in: query name: snapshotID description: The ID of the snapshot from the source DB to use as the basis of the clone operation. required: true schema: type: string - in: query name: sourceRegion required: false description: The name of the region to use as the source, if cloning from a secondary region of a multi-region database. schema: type: string responses: '200': description: The clone operation successfully started. content: application/json: schema: $ref: '#/components/schemas/CloneStatus' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/ServerError' /v2/databases/{targetDBID}/cloneStatus/{operationID}: get: tags: - Clone summary: Get the status of a clone operation. description: Get the status of a clone operation. security: - BearerAuth: - org-db-view operationId: cloneStatus parameters: - in: path name: targetDBID required: true description: The ID of the target database that you want to clone to. schema: type: string - in: path name: operationID required: true description: The ID of the clone operation. schema: type: string responses: '200': description: The clone operation successfully started. content: application/json: schema: $ref: '#/components/schemas/CloneStatus' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/ServerError' components: responses: ServerError: description: A server error occurred content: application/json: schema: $ref: '#/components/schemas/Errors' Unauthorized: description: The user is unauthorized to perform the operation content: application/json: schema: $ref: '#/components/schemas/Errors' Forbidden: description: The user is forbidden to perform the operation content: application/json: schema: $ref: '#/components/schemas/Errors' NotFound: description: The specified database was not found content: application/json: schema: $ref: '#/components/schemas/Errors' BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/Errors' parameters: DatabaseIdParam: in: path name: databaseID required: true description: String representation of the database ID schema: type: string schemas: Error: description: ModelError information that is returned to users type: object required: - id - message properties: ID: type: integer example: 123 description: API specific error code message: type: string example: Something is broken description: User-friendly description of error CloneStatus: description: Status information about an ongoing DB Clone operation. type: object properties: operationID: type: string description: ID of the ongoing operation. status: type: string enum: - RUNNING - DONE - ERROR Errors: description: Errors is a collection of individual Error objects type: object required: - errors properties: errors: type: array items: $ref: '#/components/schemas/Error' securitySchemes: BearerAuth: description: An application token must be passed in header in order to access the API. https://docs.datastax.com/en/astra-db-serverless/administration/manage-application-tokens.html type: http scheme: bearer