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 Organization 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: Organization Operations description: DevOps APIs for your Astra organization. paths: /v2/currentOrg: get: tags: - Organization Operations summary: Get the current organization from the passed token description: Retrieve the details for the organization in the provided token operationId: getCurrentOrganization responses: '200': description: successful operation content: application/json: schema: items: $ref: '#/components/schemas/Organization' '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/organizations/{orgID}/telemetry/auditLogs: post: tags: - Organization Operations summary: Configure Audit Logging description: Enables audit log exporting to an external system. security: - BearerAuth: - org-audits-read operationId: setAuditLogExporterConfig parameters: - $ref: '#/components/parameters/OrgIdParam' requestBody: content: application/json: schema: anyOf: - $ref: '#/components/schemas/PulsarTelemetryRequest' 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: tags: - Organization Operations summary: Retrieve Remote Audit Log Configuration or Check Status description: Get the current audit log configuration or verify the setup status for the organization. security: - BearerAuth: - org-audits-read operationId: getAuditLogExporterConfig parameters: - $ref: '#/components/parameters/OrgIdParam' responses: '200': description: The current stored Remote Audit Log configuration for this organization content: application/json: schema: anyOf: - $ref: '#/components/schemas/PulsarTelemetryRequest' '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' delete: tags: - Organization Operations summary: Delete Audit Log Configuration description: Remove audit logging for the organization. security: - BearerAuth: - org-audits-read operationId: deleteAuditLogExporterConfig parameters: - $ref: '#/components/parameters/OrgIdParam' 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' 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' Accepted: description: The request was accepted Conflict: description: The database is not in a valid state to perform the operation content: application/json: schema: $ref: '#/components/schemas/Errors' schemas: PulsarTelemetryRequestBlock: description: Telemetry Config oneOf: - $ref: '#/components/schemas/PulsarTokenAuthTelemetryRequest' - $ref: '#/components/schemas/PulsarOAuth2TelemetryRequest' discriminator: propertyName: auth_strategy mapping: token: '#/components/schemas/PulsarTokenAuthTelemetryRequest' oauth2: '#/components/schemas/PulsarOAuth2TelemetryRequest' PulsarAuthRequest: description: The base object for a Pulsar object type: object required: - endpoint - topic - auth_strategy properties: endpoint: type: string example: pulsar+ssl://pulsar.example.com description: URL for your Pulsar Broker auth_strategy: type: string enum: - token - oauth2 description: "The authentication strategy used by your Pulsar broker.\n * `token` - a bearer token is provided to authenticate\n * `oauth2` - OAuth2 is used to authenticate\n" topic: type: string example: persistent://test/default/my-topic-123 description: The full name of Pulsar topic to publish telemetry to auth_name: type: string example: foobar description: The basic authentication name. 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 PulsarOAuth2TelemetryRequest: allOf: - $ref: '#/components/schemas/PulsarAuthRequest' - type: object description: Telemetry config required: - oauth2_credentials_url - oauth2_issuer_url properties: oauth2_credentials_url: type: string description: Credentials URL For OAuth2 oauth2_issuer_url: type: string description: Issuer URL for OAuth2 example: https://astra-oauth2.example.com oauth2_audience: type: string description: Audience for OAuth2 example: astra-pulsar oauth2_scope: type: string description: Scope for OAuth2 example: db-telemetry PulsarTelemetryRequest: description: Telemetry Config for Pulsar servers type: object properties: pulsar: $ref: '#/components/schemas/PulsarTelemetryRequestBlock' required: - pulsar PulsarTokenAuthTelemetryRequest: allOf: - $ref: '#/components/schemas/PulsarAuthRequest' - type: object description: Telemetry config required: - token properties: token: type: string format: password example: AstraTelemetry123 description: Bearer Token for Pulsar Authentication Organization: type: object description: An organization required: - id properties: id: type: string description: The organization UUID example: d04d1eb2-6a52-483e-ab16-faaad3d077a9 Errors: description: Errors is a collection of individual Error objects type: object required: - errors properties: errors: type: array items: $ref: '#/components/schemas/Error' parameters: OrgIdParam: in: path name: orgID required: true description: String representation of the organization ID schema: type: string 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