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 SCIM 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: SCIM description: SCIM 2.0 endpoints for user and group provisioning and management. paths: /v2/scim/ServiceProviderConfig: get: tags: - SCIM summary: Get SCIM Service Provider Configuration description: Returns the SCIM 2.0 service provider configuration, including supported features and authentication schemes. operationId: getSCIMServiceProviderConfig responses: '200': description: successful operation content: application/scim+json: schema: $ref: '#/components/schemas/SCIMServiceProviderConfig' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /v2/scim/Schemas: get: tags: - SCIM summary: Get SCIM Schemas description: Returns the list of SCIM 2.0 schemas supported by this service provider. operationId: getSCIMSchemas responses: '200': description: successful operation content: application/scim+json: schema: $ref: '#/components/schemas/SCIMSchemasListResponse' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /v2/scim/ResourceTypes: get: tags: - SCIM summary: Get SCIM Resource Types description: Returns the list of SCIM 2.0 resource types supported by this service provider. operationId: getSCIMResourceTypes responses: '200': description: successful operation content: application/scim+json: schema: $ref: '#/components/schemas/SCIMResourceTypesListResponse' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /v2/scim/users: get: tags: - SCIM summary: List SCIM Users description: Returns a paginated list of users in the organization. Supports filtering and pagination. operationId: listSCIMUsers parameters: - in: query name: startIndex schema: type: integer minimum: 1 default: 1 description: 1-based index of the first result in the current set of search results - in: query name: count schema: type: integer minimum: 1 maximum: 1000 default: 100 description: Specifies the desired maximum number of query results per page - in: query name: filter schema: type: string description: SCIM filter expression (e.g., "userName eq \"user@example.com\"") responses: '200': description: successful operation content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUserListResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/ServerError' post: tags: - SCIM summary: Create SCIM User description: Creates a new user in the organization via SCIM 2.0. operationId: createSCIMUser requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUser' responses: '201': description: User created successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUser' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/ServerError' /v2/scim/users/{userID}: get: tags: - SCIM summary: Get SCIM User description: Retrieves a specific user by ID. operationId: getSCIMUser parameters: - in: path name: userID required: true schema: type: string format: uuid description: The unique identifier of the user responses: '200': description: successful operation content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUser' '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' put: tags: - SCIM summary: Update SCIM User description: Updates a user using SCIM 2.0 PUT (full replacement). operationId: updateSCIMUser parameters: - in: path name: userID required: true schema: type: string format: uuid description: The unique identifier of the user requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUser' responses: '200': description: User updated successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUser' '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' patch: tags: - SCIM summary: Patch SCIM User description: Partially updates a user using SCIM 2.0 PATCH operations. operationId: patchSCIMUser parameters: - in: path name: userID required: true schema: type: string format: uuid description: The unique identifier of the user requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/SCIMPatchRequest' responses: '200': description: User updated successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUser' '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' delete: tags: - SCIM summary: Delete SCIM User description: Deletes a user from the organization. operationId: deleteSCIMUser parameters: - in: path name: userID required: true schema: type: string format: uuid description: The unique identifier of the user responses: '204': $ref: '#/components/responses/NoContent' '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/scim/groups: get: tags: - SCIM summary: List SCIM Groups description: Returns a paginated list of groups (roles) in the organization. Supports filtering and pagination. operationId: listSCIMGroups parameters: - in: query name: startIndex schema: type: integer minimum: 1 default: 1 description: 1-based index of the first result in the current set of search results - in: query name: count schema: type: integer minimum: 1 maximum: 1000 default: 100 description: Specifies the desired maximum number of query results per page - in: query name: filter schema: type: string description: SCIM filter expression (e.g., "displayName eq \"Admin\"") responses: '200': description: successful operation content: application/scim+json: schema: $ref: '#/components/schemas/SCIMGroupListResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/ServerError' post: tags: - SCIM summary: Create SCIM Group description: Creates a new group (role) in the organization via SCIM 2.0. operationId: createSCIMGroup requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/SCIMGroup' responses: '201': description: Group created successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMGroup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/ServerError' /v2/scim/groups/{groupID}: get: tags: - SCIM summary: Get SCIM Group description: Retrieves a specific group (role) by ID. operationId: getSCIMGroup parameters: - in: path name: groupID required: true schema: type: string format: uuid description: The unique identifier of the group responses: '200': description: successful operation content: application/scim+json: schema: $ref: '#/components/schemas/SCIMGroup' '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' put: tags: - SCIM summary: Update SCIM Group description: Updates a group using SCIM 2.0 PUT (full replacement). operationId: updateSCIMGroup parameters: - in: path name: groupID required: true schema: type: string format: uuid description: The unique identifier of the group requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/SCIMGroup' responses: '200': description: Group updated successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMGroup' '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' patch: tags: - SCIM summary: Patch SCIM Group description: Partially updates a group using SCIM 2.0 PATCH operations. Supports adding/removing members and updating displayName. operationId: patchSCIMGroup parameters: - in: path name: groupID required: true schema: type: string format: uuid description: The unique identifier of the group requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/SCIMPatchRequest' responses: '200': description: Group updated successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMGroup' '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' delete: tags: - SCIM summary: Delete SCIM Group description: Deletes a group (role) from the organization. operationId: deleteSCIMGroup parameters: - in: path name: groupID required: true schema: type: string format: uuid description: The unique identifier of the group responses: '204': $ref: '#/components/responses/NoContent' '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: schemas: SCIMGroupMember: type: object description: A member of a SCIM group required: - value - $ref properties: value: type: string format: uuid description: Identifier of the member of this Group $ref: type: string description: The URI corresponding to a SCIM resource that is a member of this Group display: type: string description: A human-readable name for the member SCIMGroup: type: object description: SCIM 2.0 Group resource (maps to roles) required: - schemas - id - displayName properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:schemas:core:2.0:Group id: type: string format: uuid description: Unique identifier for the group displayName: type: string description: A human-readable name for the Group members: type: array items: $ref: '#/components/schemas/SCIMGroupMember' meta: $ref: '#/components/schemas/SCIMGroupMeta' SCIMPatchRequest: type: object description: SCIM 2.0 PATCH request required: - schemas - Operations properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:api:messages:2.0:PatchOp Operations: type: array items: $ref: '#/components/schemas/SCIMPatchOperation' SCIMResourceTypesListResponse: type: object description: SCIM 2.0 Resource Types List Response required: - schemas - totalResults - Resources properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:api:messages:2.0:ListResponse totalResults: type: integer Resources: type: array items: $ref: '#/components/schemas/SCIMResourceType' SCIMUser: type: object description: SCIM 2.0 User resource required: - schemas - id - userName - active properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:schemas:core:2.0:User id: type: string format: uuid description: Unique identifier for the user externalId: type: string description: A String that is an identifier for the resource as defined by the provisioning client userName: type: string description: Unique identifier for the User, typically an email address name: type: object properties: givenName: type: string description: The given name of the user familyName: type: string description: The family name of the user emails: type: array items: type: object required: - value - primary properties: value: type: string format: email description: Email address for the user primary: type: boolean description: A Boolean value indicating the 'primary' or preferred attribute value active: type: boolean description: A Boolean value indicating the user's administrative status meta: $ref: '#/components/schemas/SCIMUserMeta' SCIMServiceProviderMeta: type: object properties: location: type: string resourceType: type: string example: ServiceProviderConfig SCIMPatchOperation: type: object description: A single SCIM PATCH operation required: - op properties: op: type: string enum: - add - replace - remove description: The operation to perform path: type: string description: The attribute path (e.g., "active", "name.givenName", "members") value: description: The value to use for the operation. Can be a string, boolean, object, or array depending on the operation and path. 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 SCIMGroupMeta: type: object properties: resourceType: type: string example: Group created: type: string format: date-time description: The date and time the resource was created lastModified: type: string format: date-time description: The date and time the resource was last modified location: type: string description: The URI of the resource SCIMUserMeta: type: object properties: resourceType: type: string example: User created: type: string format: date-time description: The date and time the resource was created lastModified: type: string format: date-time description: The date and time the resource was last modified location: type: string description: The URI of the resource Errors: description: Errors is a collection of individual Error objects type: object required: - errors properties: errors: type: array items: $ref: '#/components/schemas/Error' SCIMSchema: type: object description: A SCIM 2.0 schema definition required: - schemas - id - name properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:schemas:core:2.0:Schema id: type: string example: urn:ietf:params:scim:schemas:core:2.0:User name: type: string example: User description: type: string attributes: type: array items: $ref: '#/components/schemas/SCIMAttribute' meta: $ref: '#/components/schemas/SCIMSchemaMeta' SCIMSchemasListResponse: type: object description: SCIM 2.0 Schemas List Response required: - schemas - totalResults - Resources properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:api:messages:2.0:ListResponse totalResults: type: integer Resources: type: array items: $ref: '#/components/schemas/SCIMSchema' SCIMResourceTypeMeta: type: object properties: location: type: string resourceType: type: string example: ResourceType SCIMGroupListResponse: type: object description: SCIM 2.0 List Response for Groups required: - schemas - totalResults - Resources properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:api:messages:2.0:ListResponse totalResults: type: integer description: The total number of results returned startIndex: type: integer description: The 1-based index of the first result in the current set of search results itemsPerPage: type: integer description: The number of resources returned in a list response page Resources: type: array items: $ref: '#/components/schemas/SCIMGroup' SCIMAuthenticationScheme: type: object properties: type: type: string example: oauthbearertoken name: type: string example: OAuth Bearer Token description: type: string specUri: type: string primary: type: boolean SCIMAttribute: type: object properties: name: type: string type: type: string multiValued: type: boolean description: type: string required: type: boolean caseExact: type: boolean mutability: type: string returned: type: string uniqueness: type: string subAttributes: type: array items: $ref: '#/components/schemas/SCIMAttribute' SCIMSchemaMeta: type: object properties: location: type: string resourceType: type: string example: Schema SCIMServiceProviderConfig: type: object description: SCIM 2.0 Service Provider Configuration required: - schemas properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig patch: type: object properties: supported: type: boolean bulk: type: object properties: supported: type: boolean maxOperations: type: integer maxPayloadSize: type: integer filter: type: object properties: supported: type: boolean maxResults: type: integer changePassword: type: object properties: supported: type: boolean sort: type: object properties: supported: type: boolean etag: type: object properties: supported: type: boolean authenticationSchemes: type: array items: $ref: '#/components/schemas/SCIMAuthenticationScheme' meta: $ref: '#/components/schemas/SCIMServiceProviderMeta' SCIMResourceType: type: object description: A SCIM 2.0 resource type definition required: - schemas - id - name - endpoint - schema properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:schemas:core:2.0:ResourceType id: type: string example: User name: type: string example: User endpoint: type: string example: /v2/scim/users description: type: string schema: type: string example: urn:ietf:params:scim:schemas:core:2.0:User meta: $ref: '#/components/schemas/SCIMResourceTypeMeta' SCIMUserListResponse: type: object description: SCIM 2.0 List Response for Users required: - schemas - totalResults - Resources properties: schemas: type: array items: type: string example: - urn:ietf:params:scim:api:messages:2.0:ListResponse totalResults: type: integer description: The total number of results returned startIndex: type: integer description: The 1-based index of the first result in the current set of search results itemsPerPage: type: integer description: The number of resources returned in a list response page Resources: type: array items: $ref: '#/components/schemas/SCIMUser' responses: NoContent: description: The request succeeded and no content is returned in response body Conflict: description: The database is not in a valid state to perform the operation 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' BadRequest: description: Bad request 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' ServerError: description: A server error occurred 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