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 PCU 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: PCU description: Use the DevOps API to manage provisioned capacity units for eligible organizations and databases. paths: /v2/pcus/actions/get: post: tags: - PCU summary: Gets the PCU groups description: Gets the PCU groups operationId: pcuGet requestBody: description: PCU group UUIDs required: true content: application/json: schema: $ref: '#/components/schemas/PCUGroupGetRequest' responses: '200': description: Returns the PCU group content: application/json: schema: type: array items: $ref: '#/components/schemas/PCUGroup' '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' /v2/pcus/types: post: tags: - PCU summary: Gets the PCU Types description: Gets the PCU Types operationId: pcuGetTypes requestBody: description: PCU Types request required: true content: application/json: schema: $ref: '#/components/schemas/PCUGroupTypesRequest' responses: '200': description: Returns the PCU Types content: application/json: schema: type: array items: $ref: '#/components/schemas/PCUGroupTypeResponse' '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' /v2/pcus/actions/get/{datacenterUUID}: get: tags: - PCU summary: Gets the PCU Group that contains the Datacenter UUID description: Given datacenter UUID it retrieves the PCU Group that this datacenter belongs to, if any operationId: pcuGroupGetByDatacenterUUID parameters: - in: path name: datacenterUUID required: true description: The DatacenterUUID we want the PCU Group for schema: type: string responses: '200': description: Returns the PCU Group content: application/json: schema: type: array items: $ref: '#/components/schemas/PCUGroup' '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' /v2/pcus/{pcuGroupUUID}: delete: tags: - PCU summary: Deletes a PCU Group description: Deletes a flexible capacity PCU group, based on the given PCU Group UUID. operationId: pcuDelete parameters: - in: path name: pcuGroupUUID required: true description: The PCU Group UUID to delete schema: type: string responses: '200': description: PCU Group deleted '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' /v2/pcus: post: tags: - PCU summary: Creates a PCU group description: Given PCU group information, creates a PCU group operationId: pcuCreate requestBody: description: PCU group model. required: true content: application/json: schema: type: array minItems: 1 maxItems: 1 items: $ref: '#/components/schemas/PCUGroupCreateRequest' responses: '201': description: Returns the created PCU groups content: application/json: schema: type: array items: $ref: '#/components/schemas/PCUGroup' '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' put: tags: - PCU summary: Updates one or more PCU groups description: Given PCU group information, updates the PCU groups operationId: pcuUpdate requestBody: description: PCU Group model. required: true content: application/json: schema: type: array minItems: 1 maxItems: 1 items: $ref: '#/components/schemas/PCUGroupUpdateRequest' responses: '200': description: PCU groups updated '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' /v2/pcus/association/{pcuGroupUUID}: get: tags: - PCU summary: Gets a PCU group UUID returns all associated datacenters and their status description: Given a PCU group UUID, returns all associated datacenters and their status operationId: pcuAssociationGet parameters: - in: path name: pcuGroupUUID required: true description: The PCU group UUID to get the associated datacenters and their status schema: type: string responses: '200': description: Returns the associated datacenters and their status content: application/json: schema: type: array items: $ref: '#/components/schemas/PCUAssociation' '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' /v2/pcus/association/transfer: post: tags: - PCU summary: Transfers a PCU group association description: Transfers a database, specified by datacenter ID, from one PCU group to another. operationId: pcuAssociationTransfer requestBody: description: PCUAssociation Transfer Request. required: true content: application/json: schema: $ref: '#/components/schemas/PCUAssociationTransferRequest' responses: '202': description: Successfully accepted the PCU Association Transfer request '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' /v2/pcus/association/{pcuGroupUUID}/{datacenterUUID}: post: tags: - PCU summary: Creates a PCU group association description: Given PCU group UUID and datacenter UUID, creates a PCU group association operationId: pcuAssociationCreate parameters: - in: path name: pcuGroupUUID required: true description: The PCU group UUID part of this association schema: type: string - in: path name: datacenterUUID required: true description: The datacenter UUID part of this association schema: type: string responses: '201': description: Created PCU association '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' delete: tags: - PCU summary: Deletes a PCU group association description: Given datacenter UUID and PCU group UUID, delete the association operationId: pcuAssociationDelete parameters: - in: path name: pcuGroupUUID required: true description: The PCU group UUID part of this association schema: type: string - in: path name: datacenterUUID required: true description: The datacenter UUID part of this association schema: type: string responses: '200': description: PCU association deleted '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' /v2/pcus/park/{pcuGroupUUID}: post: tags: - PCU summary: Parks a PCU group description: Parks a flexible capacity PCU group operationId: pcuGroupPark parameters: - in: path name: pcuGroupUUID required: true description: The PCU Group UUID to park schema: type: string responses: '200': description: Successfully initialized the parking operation '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' /v2/pcus/unpark/{pcuGroupUUID}: post: tags: - PCU summary: Unparks a PCU group description: Unparks a flexible capacity PCU group operationId: pcuGroupUnpark parameters: - in: path name: pcuGroupUUID required: true description: The PCU Group UUID to unpark schema: type: string responses: '200': description: Successfully initialized the unparking operation '400': $ref: '#/components/responses/BadRequest' 5XX: $ref: '#/components/responses/ServerError' components: schemas: PCUGroupUpdateRequest: type: object description: PCU Group Update Request Model properties: pcuGroupUUID: type: string description: UUID of the PCU group to update example: 9aaddbb5-4622-447c-9bc5-b036bb9d7ed8 title: type: string description: Title of the PCU group example: some title instanceType: type: string description: Instance type of the PCU group example: standard provisionType: type: string description: Provision type of the PCU group example: shared min: type: integer description: Minimum shared hourly PCUs in the PCU group example: 1 max: type: integer description: Maximum shared hourly PCUs in the PCU group example: 1 reserved: type: integer description: Absolute required PCUs in the PCU group example: 1 description: type: string description: Description of the PCU group example: some-description PCUGroupTypesRequest: type: object description: This object is used to fetch the types available for PCU Group properties: region: type: string description: region for which to get the PCU Group types example: eu-west1 provider: type: string description: provider (cloud) to filter the PCU Group sizes by example: shared PCUAssociation: type: object description: PCUAssociation information properties: datacenterUUID: type: string description: Datacenter UUID of the PCU association example: 48de8fc3-b8ec-4ed2-8951-4aeaf4c9e626 pcuGroupUUID: type: string description: PCU group this association belongs to example: 48de8fc3-b8ec-4ed2-8951-4aeaf4c9e626 provisioningStatus: type: string description: Provisioning status of the PCU association example: Accepted createdAt: type: string description: Creation time of the PCU association example: '2021-06-01T12:00:00.000Z' updatedAt: type: string description: Update time of the PCU association example: '2021-06-01T12:00:00.000Z' createdBy: type: string description: User who created the PCU association example: user updatedBy: type: string description: User who updated the PCU association example: user PCUGroup: type: object description: PCU Group Model properties: uuid: type: string description: UUID of the PCU group example: 9aaddbb5-4622-447c-9bc5-b036bb9d7ed8 orgId: type: string description: Organization ID example: org-id title: type: string description: Title of the PCU group example: some title cloudProvider: type: string description: Cloud provider of the PCU group example: - AWS - GCP - AZURE region: type: string description: Region of the PCU group example: us-east-1 instanceType: type: string description: Instance type of the PCU group example: standard pcuType: $ref: '#/components/schemas/PCUGroupTypeResponse' provisionType: type: string description: Provision type of the PCU group example: shared min: type: integer description: Minimum shared hourly PCUs in the PCU group example: 1 max: type: integer description: Maximum shared hourly PCUs in the PCU group example: 1 reserved: type: integer description: Absolute required PCUs in the PCU group example: 1 description: type: string description: Description of the PCU group example: some description createdAt: type: string description: Creation time of the PCU group example: '2021-06-01T12:00:00.000Z' updatedAt: type: string description: Update time of the PCU group example: '2021-06-01T12:00:00.000Z' createdBy: type: string description: User who created the PCU group example: user updatedBy: type: string description: User who updated the PCU group example: user status: type: string description: Status of the PCU Group example: INITIALIZING PCUGroupGetRequest: type: object description: PCU groups to get properties: pcuGroupUUIDs: type: array description: PCU group UIDs required: false items: type: string example: 1 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 PCUGroupTypeResponse: type: object description: This object is used for the response of the PCU Group types request properties: type: type: string description: the size of the PCU Group type given the PCU Group types request example: standard region: type: string description: the region of that PCU Group type given the PCU Group types request example: eu-west-1 provider: type: string description: the provider (cloud) of the PCU Group type given the PCU Group types request example: aws details: $ref: '#/components/schemas/PCUGroupTypeDetails' PCUAssociationTransferRequest: type: object description: PCU association transfer properties: fromPCUGroupUUID: type: string description: The PCU Group UUID from which we want to move an association example: 48de8fc3-b8ec-4ed2-8951-4aeaf4c9e626 toPCUGroupUUID: type: string description: The PCU Group UUID to which we want to move the association example: 48de8fc3-b8ec-4ed2-8951-4aeaf4c9e626 datacenterUUID: type: string description: The Datacenter UUID that is part of the fromPCUGroupUUID which we want to move to the toPCUGroupUUID example: 48de8fc3-b8ec-4ed2-8951-4aeaf4c9e626-1 Errors: description: Errors is a collection of individual Error objects type: object required: - errors properties: errors: type: array items: $ref: '#/components/schemas/Error' PCUGroupCreateRequest: type: object description: PCU Group Create Request Model properties: orgID: type: string description: OrganizationID of the PCU group, ignored for authenticated users example: some-org title: type: string description: Title of the PCU group example: some title cloudProvider: type: string description: Cloud provider of the PCU group example: - AWS - GCP - AZURE region: type: string description: Region of the PCU group example: us-east-1 instanceType: type: string description: Instance type of the PCU group example: standard provisionType: type: string description: Provision type of the PCU group example: shared min: type: integer description: Minimum shared hourly PCUs in the PCU group example: 1 max: type: integer description: Maximum shared hourly PCUs in the PCU group example: 1 reserved: type: integer description: Absolute required PCUs in the PCU group example: 1 description: type: string description: Description of the PCU group example: some-description PCUGroupTypeDetails: type: object description: This object holds the details regarding the PCU Type properties: vCPU: type: integer format: int32 description: vCPUs for this pcu type memory: type: string description: memory for this pcu type disk_cache: type: string description: disk cache for this pcu type responses: ServerError: description: A server error occurred content: application/json: schema: $ref: '#/components/schemas/Errors' BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/Errors' 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