DataStax Enterprise Operations API

DevOps APIs for your Astra enterprise.

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/datastax-enterprise-operations-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

datastax-enterprise-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 Enterprise 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: Enterprise Operations
  description: DevOps APIs for your Astra enterprise.
paths:
  /v2/enterprises/organizations:
    post:
      tags:
      - Enterprise Operations
      summary: Create an organization under an enterprise.
      description: Create a new organization under the given enterprise.
      operationId: createOrganizationInEnterprise
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrgInEnterpriseRequest'
      responses:
        '201':
          description: Organization created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrgInEnterpriseResponse'
        '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/enterprises/consumption:
    post:
      tags:
      - Enterprise Operations
      summary: Get enterprise usage within a date range for a given enterprise ID and request payload
      description: Provides the usage for a given enterprise ID and request payload breakdown across multiple cluster region combination within given date range (not more than 31 days)
      operationId: GetEnterpriseConsumption
      requestBody:
        description: Consists of the fromDate and toDate for the usage, requested orgids, clusters
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseConsumptionRequest'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseConsumptionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        5XX:
          $ref: '#/components/responses/ServerError'
  /v2/enterprises/billing-reports/generate-report:
    post:
      tags:
      - Enterprise Operations
      summary: Generate a report for the specified enterprise
      description: This endpoint generates a report for the specified enterprise based on the provided month and year.
      operationId: generateReport
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseGenerateReportRequest'
      responses:
        '200':
          description: Report generated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseGenerateReportResponse'
        '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'
      security:
      - BearerAuth: []
  /v2/enterprises/billing-reports/{reportId}:
    get:
      tags:
      - Enterprise Operations
      summary: Get details of a specific report
      description: This endpoint retrieves the details of the specified report for the given enterprise.
      operationId: getReportDetails
      parameters:
      - name: reportId
        in: path
        required: true
        description: Unique identifier for the report.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Report details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseReportStatusResponse'
        '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'
      security:
      - BearerAuth: []
components:
  schemas:
    EnterpriseGenerateReportRequest:
      type: object
      properties:
        month:
          type: string
          description: Month represented as a string.
        year:
          type: string
          description: Year represented as a string.
      required:
      - month
      - year
    EnterpriseReportStatusResponse:
      type: object
      properties:
        reportId:
          type: string
          format: uuid
          description: Unique identifier for the report.
        status:
          type: string
          description: Status of the report.
          enum:
          - COMPLETED
          - PENDING
          - FAILED
        month:
          type: string
          description: Month of the report.
        year:
          type: string
          description: Year of the report.
        reportDetails:
          type: object
          properties:
            csvDownloadUrl:
              type: string
              format: uri
              description: URL to download the report in CSV format.
            generatedAt:
              type: string
              format: date-time
              description: Timestamp when the report was generated.
            expirationAt:
              type: string
              format: date-time
              description: Timestamp when the report download link expires.
            isStale:
              type: boolean
              default: true
              description: The indication if the report csv file does not exist in S3 or if the report is outdated.
              example: true
      required:
      - reportId
      - status
      - month
      - year
      - reportDetails
    EnterpriseConsumptionResponse:
      description: enterprise consumption response
      type: object
      properties:
        totalCost:
          type: double
          description: Total dollar amount
        costs:
          type: array
          items:
            $ref: '#/components/schemas/CostBreakdown'
          description: List of the cost breakdown at cluster region level
    CreateOrgInEnterpriseRequest:
      type: object
      description: The create organization in enterprise model
      required:
      - name
      - email
      - enterpriseID
      - adminUserID
      properties:
        name:
          type: string
          description: The name of the organization
        email:
          type: string
          description: The email of the organization
        adminUserID:
          type: string
          description: The datastax UUID of the user who will be the admin of the organization
        enterpriseID:
          type: string
          description: The UUID of the enterprise under which the organization needs to be created
    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
    CreateOrgInEnterpriseResponse:
      type: object
      properties:
        OrganizationName:
          type: string
          example: acme production org
        OrganizationID:
          type: string
          format: uuid
          example: 8f112467-7b55-4f0a-877f-c97e2bc10074
        OrganizationEmail:
          type: string
          format: email
          example: admin@acme-enterprises.com
        MarketplaceData:
          type: object
          nullable: true
        CreatedAt:
          type: string
          format: date-time
          example: '2024-06-14T15:41:45.395919529Z'
        LastModified:
          type: string
          format: date-time
          example: '2024-06-14T15:41:45.395919529Z'
        OrgType:
          type: string
          example: organization
        EnterpriseId:
          type: string
          format: uuid
          example: 9df02cbd-fb84-47c0-a5cf-b7a912928a4e
        OrganizationGroupId:
          type: string
          format: uuid
          example: f9336a4e-e489-4db2-ab29-0939af587268
    EnterpriseGenerateReportResponse:
      type: object
      properties:
        reportId:
          type: string
          format: uuid
          description: Unique identifier for the report.
        status:
          type: string
          description: Current status of the report.
          enum:
          - INITIATED
          - COMPLETED
          - PENDING
          - FAILED
        month:
          type: string
          description: Month of the report.
        year:
          type: string
          description: Year of the report.
      required:
      - reportId
      - status
      - month
      - year
    CostBreakdown:
      description: Cost breakdown at cluster region level
      type: object
      required:
      - orgId
      - clusterID
      - region
      - cost
      properties:
        orgId:
          type: string
          description: Org ID
          example: abcfc07b-3217-494e-9831-b5058a92961f
        clusterID:
          type: string
          description: Cluster ID
          example: d75f25b7-d668-4ff9-9ed6-21a2f22f4568
        region:
          type: string
          description: region
          example: us-east-1
        cost:
          type: double
          description: breakdown cost
          example: '101.57878268880637'
    Errors:
      description: Errors is a collection of individual Error objects
      type: object
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    EnterpriseConsumptionRequest:
      description: enterprise consumption request
      type: object
      properties:
        fromDate:
          type: string
          example: '2021-05-06T06:13:23.57Z'
          description: The start of the target date range in ISO RFC3339 format
        toDate:
          type: string
          example: '2021-05-06T06:13:23.57Z'
          description: The end of the target date range in ISO RFC3339 format
        resourceIDs:
          type: array
          items:
            type: string
          description: List of the resource IDs
        orgIDs:
          type: array
          items:
            type: string
          description: List of the organization IDs
  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'
    UnprocessableEntity:
      description: The structured data in the request could not be parsed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Errors'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Errors'
    NotFound:
      description: The specified database was not found
      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