Couchbase Capella Management API (v4.0)

Download OpenAPI specification:Download

The Couchbase Capella Management API provides a set of REST APIs for creating and managing Capella instances. It enables users to perform operations such as creating new Capella instances, managing their configurations, and interacting with the Capella services. This API documentation specifies the endpoints, request and response formats, and authentication requirements for seamless integration with Couchbase Capella.

To access the Management API, you need an API key. To create an initial bootstrap API key you must use the Capella UI. Once you have created an initial bootstrap API key, you can use the Management API itself to create further API keys. To learn more, see Get Started with the Management API v4.0.

For a history of updates to the Management API, see Management API v4.0 Change Log.

API Base URL:

https://cloudapi.cloud.couchbase.com

Back to Management API v4.0 Documentation

Api Keys

Couchbase Capella Management API uses a Bearer token mechanism for authentication; each call to the Management API has to be authenticated by API key.

Create API Key

Creates a new API key under an organization.

Organization Owners can create Organization and Project scoped API keys.

Project Owner and Project Creator can create project scoped keys.

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

Request Body schema: application/json
name
required
string (APIKeyName)

Name of the API key.

description
string (APIKeyDescription)
Default: ""

Description for the API key.

expiry
number <float> (APIKeyExpiry)
Default: 180

Expiry of the API key in number of days. If set to -1, the token will not expire.

allowedCIDRs
Array of strings (APIKeyAllowedCIDRs)
Default: ["0.0.0.0/0"]

List of inbound CIDRs for the API key. The system making a request must come from one of the allowed CIDRs.

organizationRoles
required
Array of strings (APIKeyOrganizationRoles)
Items Enum: "organizationOwner" "organizationMember" "projectCreator"
Array of objects (APIKeyResources)
Default: []

Resources are the resource level permissions associated with the API key.

To learn more about Organization Roles, see Organization Roles.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "Organization Owner API Key",
  • "description": "Creates an API key with a Organization Owner role.",
  • "expiry": 720,
  • "allowedCIDRs": [
    ],
  • "organizationRoles": [
    ],
  • "resources": [ ]
}

Response samples

Content type
application/json
{
  • "id": "IS9DrRsw4KWFS72Zhbj4xmhllHvPcdCL",
  • "token": "QktxVUtFU1dKV1FlMmxwbzJBYXdnTVlRemFZdlRDZTg6eFh4dzU4JUYjekJVYWZPY3lqdUwwYkJoTjZSTmlzRWFIRHF0b1h4a08yazBpQjJ1bms1OW4yTUhAenRib3IhVQ=="
}

List API keys

Lists all the API keys under an organization.

Organization Owners can list all the API keys inside the Organization.

Organization Members and Project Creators can list all the Project scoped API key for which they are Project Owner.

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=name

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: name, expiry, description.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{}

Get API Key

Fetches the details of the given API key under an organization.

Organization Owners can get any API key inside the Organization.

Organization Members and Project Creator can get any Project scoped API key for which they are Project Owner.

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

ApiKeyId
required
string
Example: ffffffffaaaa1414eeee000000000000

The ID (Access key) of the API key.

Responses

Response samples

Content type
application/json
{
  • "id": "IS9DrRsw4KWFS72Zhbj4xmhllHvPcdCL",
  • "name": "Organization Owner API Key",
  • "description": "Creates an API key with an Organization Owner role.",
  • "expiry": 720,
  • "allowedCIDRs": [
    ],
  • "organizationRoles": [
    ],
  • "resources": [ ],
  • "audit": {
    }
}

Delete API Key

Deletes the given API key under an organization.

Organization Owners can delete any API key inside the Organization.

Organization Members and Project Creator can delete any Project scoped API key for which they are Project Owner.

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

ApiKeyId
required
string
Example: ffffffffaaaa1414eeee000000000000

The ID (Access key) of the API key.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Rotate API Key

Rotate the secret of a given API key under an organization.

Organization Owners can rotate any API key inside the Organization.

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

ApiKeyId
required
string
Example: ffffffffaaaa1414eeee000000000000

The ID (Access key) of the API key.

Request Body schema: application/json
secret
string

A secret associated with API key. One has to follow the secret key policy, such as allowed characters and a length of 64 characters. If this field is left empty, a secret will be auto-generated.

Responses

Request samples

Content type
application/json
{
  • "secret": "GaC4FQLCoUqoKUMBvl6BgRK1Ivqu5yF8OkDBhnP%#CH%S4T@bTVUdP#rY#VSicbx"
}

Response samples

Content type
application/json
{
  • "secretKey": "GaC4FQLCoUqoKUMBvl6BgRK1Ivqu5yF8OkDBhnP%#CH%S4T@bTVUdP#rY#VSicbx"
}

Projects

Projects contain and allow access to Couchbase databases. Projects are used to organize and manage groups of Couchbase databases within organizations. An organization can contain any number of projects, and a project can contain any number of databases.

Create Project

Creates a new project under the organization.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Creator

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

Request Body schema: application/json
name
required
string <= 128 characters

The name of the project (up to 128 characters).

description
string <= 256 characters

A short description of the project (up to 256 characters).

Responses

Request samples

Content type
application/json
{
  • "name": "My Project",
  • "description": "My awesome project"
}

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000"
}

List Project

Lists all the projects under the organization.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=name

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: id, name.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{}

Get Project

Fetches the details of the given project.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "description": "The description of my awesome project",
  • "name": "My-Awesome-Project",
  • "audit": {
    }
}

Update Project

Update project name and or project description.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

header Parameters
If-Match
string
Example: 12

A precondition header that specifies the entity tag of a resource.

Request Body schema: application/json
name
required
string <= 128 characters

The new project name (up to 128 characters).

description
string <= 256 characters

The new project description (up to 256 characters).

Responses

Request samples

Content type
application/json
{
  • "name": "My-New-Project",
  • "description": "The extended description of my awesome project."
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Delete Project

Deletes an existing project.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Clusters

A Couchbase cluster consists of one or more instances of Couchbase Capella, each running on an independent node. Data and services are shared across the cluster. A cluster may be referred to as a "database" in the documentation and in the Couchbase Capella user interface.

Create Cluster

Creates a new Couchbase Capella provisioned cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

Request Body schema: application/json
name
required
string <= 256 characters

Name of the cluster (up to 256 characters).

description
string <= 1024 characters

Description of the cluster (up to 1024 characters).

configurationType
string (ConfigurationType)
Deprecated
Default: ["multiNode"]
Enum: "singleNode" "multiNode"
  • Multi-node databases are best for deployments that require high availability. If your app requires high performance and high availability, choose the Multi-node option.
  • Single-node databases have resource limitations that make them a good choice for learning, prototyping, and non-production uses. They have limited availability.
  • Single-node databases should contain only 1 node and 1 Service Group. Adding number of nodes or service groups > 1 is not allowed for such databases.
  • By default the configurationType is multiNode.
required
object (CloudProvider)

The cloud provider where the cluster will be hosted. For information about providers and supported regions, see:

object (CouchbaseServer)
required
Array of objects (ServiceGroup) non-empty

The couchbase service groups to be run. - The set of nodes that share the same disk, number of nodes and services. - At least one service group must contain the data service.

required
object (Availability)
required
object (Support)
zones
Array of strings

Zones is the cloud services provider availability zones for the cluster. Currently Supported only for single AZ clusters so only 1 zone is allowed in list.

cmekId
string <uuid>

The ID of the CMEK Key.

enablePrivateDNSResolution
boolean

EnablePrivateDNSResolution signals that the cluster should have hostnames that are hosted in a public DNS zone that resolve to a private DNS address. This exists to support the use case of customers connecting from their own data centers where it is not possible to make use of a cloud service provider DNS zone.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "Test-Cluster-1",
  • "description": "My first test AWS cluster for multiple services.",
  • "cloudProvider": {
    },
  • "couchbaseServer": {
    },
  • "serviceGroups": [
    ],
  • "availability": {
    },
  • "support": {
    }
}

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000"
}

List Clusters

Lists all the clusters under the organization.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

Returned set of clusters is reduced to what the caller has access to view. To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=name

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: id, availability, cloudProvider, couchbaseServer, currentState, name.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "cursor": {}
}

Get Cluster

Fetches the details of the given cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "appServiceId": "ffffffff-aaaa-1414-eeee-000000000000",
  • "name": "Test Cluster",
  • "description": "Description of the cluster",
  • "configurationType": "multiNode",
  • "connectionString": "couchbases://cb.irxmynm6vekhe5.cloud.couchbase.com",
  • "cloudProvider": {
    },
  • "couchbaseServer": {
    },
  • "serviceGroups": [
    ],
  • "availability": {
    },
  • "support": {
    },
  • "currentState": "deploying",
  • "audit": {
    },
  • "cmekId": "ffffffff-aaaa-1414-eeee-000000000000",
  • "enablePrivateDNSResolution": true
}

Update Cluster

Updates an existing cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

header Parameters
If-Match
string
Example: 12

A precondition header that specifies the entity tag of a resource.

Request Body schema: application/json
name
required
string <= 256 characters

The new name of the cluster (up to 256 characters).

description
required
string <= 1024 characters

The new cluster description (up to 1024 characters).

required
object (Support)
required
Array of objects (ServiceGroup)

Responses

Request samples

Content type
application/json
{
  • "name": "My-New-Cluster",
  • "description": "The extended description of my new cluster.",
  • "support": {
    },
  • "serviceGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Delete Cluster

Deletes an existing cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Turn On Cluster

Turn cluster on.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
turnOnLinkedAppService
boolean
Default: false

Set this value to true if you want to turn on the app service linked with the cluster, false if not. If set to true, the app service, if present, will turn on with the cluster. Default value for this is false, which means the linked app service will be kept off.

Responses

Request samples

Content type
application/json
Example
{
  • "turnOnLinkedAppService": true
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Turn Off Cluster

Turn cluster off.

  • Turning off your cluster turns off the compute for your cluster but the storage remains. All of the data, schema (buckets, scopes, and collections), and indexes remain, as well as cluster configuration, including users and allow lists.

  • Turning off cluster will also turn off any linked app services.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Migrate Buckets

Updates the storage backend of an existing bucket from Couchstore to Magma.

The following should be noted while doing this operation -

  1. The outcome of this migration is that all data service nodes in the cluster will be replaced.
  • During the migration all buckets will remain operational and still be able to perform read and writes. Hence applications will not incur any downtime during this migration and can continue to read/write to the cluster.
  • The re-balances that occur from the node replacements will result in the bucket(s) being migrated to Magma.
  • The status of the cluster can be monitored via the GET cluster API. The cluster will transition to healthy state after migration is completed for all listed buckets.
  1. This operation is only allowed for clusters with server version >= 7.6.0. The storage backend cannot be updated for the cluster with server versions lower than this. All the nodes must be upgraded to 7.6.0 before the bucket migration can be performed.

  2. Before migrating from Couchstore to Magma, the bucket memory allocation should be upgraded to at least the minimum amount required for a Magma bucket that is 1024 MiB.

  3. Cluster must be in a healthy state to perform this operation.

To learn more about bucket configuration, see Buckets.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
buckets
required
Array of strings <= 30 items

Names of the buckets which need to be migrated from Couchstore to Magma.

Responses

Request samples

Content type
application/json
{
  • "buckets": [
    ]
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Users

To access an organization, your Couchbase Capella user account must be added to it. Accounts are added to an organization using email invitations sent from Capella by a user with the Organization Owner organization role. All organization users are given one or more organization roles that define what they can view and manage in their organization.

Create User

Invites a new user under the organization.

After making a REST API request, an invitation email is triggered and sent to the user. Upon receiving the invitation email, the user is required to click on a provided URL, which will redirect them to a page with a user interface (UI) where they can set their username and password.

The modification of any personal information related to a user can only be performed by the user through the UI. Similarly, the user can solely conduct password updates through the UI.

The "caller" possessing Organization Owner access rights retains the exclusive user creation capability. They hold the authority to assign roles at the organization and project levels.

At present, our support is limited to the resourceType of "project" exclusively.

In order to access this endpoint, the provided API key must have the following role:

  • Organization Owner

To learn more, see Organization Roles.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

Request Body schema: application/json
name
string <= 128 characters

The name of the user.

email
required
string (Email)

Email of the user.

organizationRoles
required
Array of strings (OrganizationRoles)
Items Enum: "organizationOwner" "organizationMember" "projectCreator"
Array of objects (Resource)
Default: []

Responses

Request samples

Content type
application/json
Example

At present, our support is limited to the resourceType of "project" exclusively. Furthermore, the role designation is solely related to roles at the project level.

{
  • "name": "John",
  • "email": "john.doe@example.com",
  • "organizationRoles": [
    ],
  • "resources": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000"
}

List Users

Lists all the users in the organization and filter on the basis of projectId.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Organization Member
  • Project Creator

The results are always limited by the role and scope of the caller's privileges.

When retrieving a list of users through a GET request, if a user holds the organization owner role, the response will exclude project-level permissions for those users. This is because organization owners have full access to all resources within the organization, making project-level permissions irrelevant for them.

To learn more about the roles, see Organization Roles and Project Roles.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=name

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: id, name, email, status, inactive.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

projectId
string <uuid>
Example: projectId=ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

Responses

Response samples

Content type
application/json
Example

In the event that the API key holds "organizationOwner" access, information related to all projects within the organization will be returned.

{
  • "data": [
    ],
  • "cursor": {}
}

Get User

Fetches the details of the given user.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Organization Member
  • Project Creator

The results are always limited by the role and scope of the caller's privileges.

When performing a GET request for a user with an organization owner role, the response will exclude project-level permissions for that user. This is because organization owners have access to all resources at the organization level, rendering project-level permissions unnecessary for them.

To learn more about the roles, see Organization Roles and Project Roles.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

userId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the control plane user.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "name": "alex",
  • "email": "john.doe@example.com",
  • "status": "not-verified",
  • "inactive": false,
  • "organizationId": "ffffffff-aaaa-1414-eeee-000000000000",
  • "organizationRoles": [
    ],
  • "lastLogin": "2023-07-17T07:05:39.116124897Z",
  • "region": "North America",
  • "timeZone": "(UTC -9:00) Alaska Standard Time",
  • "enableNotifications": true,
  • "expiresAt": "2023-07-17T07:05:39.116124897Z",
  • "resources": [
    ],
  • "audit": {
    }
}

Update User

Updates organizationRole and resources of the user.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

An Organization Owner API key can be utilized to update organizational-level roles and project-level roles for all projects within the organization.

The Project Owner API key allows for updating project-level roles, solely within the projects where the API key holds the Project Owner role.

The modification of any personal information related to a user, such as password updates, can only be performed by the respective user through the user interface (UI).

The results are always limited by the role and scope of the caller's privileges. To learn more about the roles, see Organization Roles and Project Roles.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

userId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the control plane user.

Request Body schema: application/json
Array
op
required
string
Enum: "add" "remove"

Type of operation.

path
required
string

Path of resource that needs to be updated.

Organization Roles: /organizationRoles

Resources: /resources/{resourceId}

Resource Roles: /resources/{resourceId}/roles

Array of OrganizationRoles (strings) or Array of ProjectRoles (strings) or Resource (object)

Responses

Request samples

Content type
application/json
Example
[
  • {
    }
]

Response samples

Content type
application/json
Example
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "name": "Jane",
  • "email": "jane.doe@example.com",
  • "status": "verified",
  • "inactive": false,
  • "organizationId": "ffffffff-aaaa-1414-eeee-000000000000",
  • "organizationRoles": [
    ],
  • "lastLogin": "2023-07-17T07:05:39.116Z",
  • "region": "North America",
  • "timeZone": "(UTC +5:30) India Standard Time",
  • "enableNotifications": false,
  • "expiresAt": "2023-07-17T07:05:39.116Z",
  • "resources": [
    ],
  • "audit": {
    }
}

Delete User

Removes user from the organization.

In order to access this endpoint, the provided API key must have the following role:

  • Organization Owner

To learn more about the roles, see Organization Roles.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

userId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the control plane user.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Allowed CIDRs (Cluster)

Couchbase Capella only allows trusted IP addresses to connect to databases. Each database has a configurable Allowed IP list that can include up to 75 entries. Each entry can be a single IP address or an IP address space. Any IP address you add to this list can have a user-specified expiration time for temporary access, or be permanent. Capella automatically denies any connection attempts to and from an IP not in the allowed IP list.

Create Allowed CIDR

Adds a trusted CIDR to a cluster's list of allowed CIDRs.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Note that updating this resource is not supported; you must delete and recreate allowed CIDRs instead. As a result, ETags are also not supported for this resource.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
cidr
required
string

The trusted CIDR to allow the database connections from. The example represents a single IP address (i.e. a subnet mask of 32).

comment
string

A short description of the allowed CIDR.

expiresAt
string <date-time>

An RFC3339 timestamp determining when the allowed CIDR should expire. If this field is empty/omitted then the allowed CIDR is permanent and will never automatically expire.

Responses

Request samples

Content type
application/json
{
  • "cidr": "6.60.28.100/32",
  • "comment": "Allows access from my local developer machine",
  • "expiresAt": "2023-05-14T21:49:58.465Z"
}

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000"
}

List Allowed CIDRs

Lists all of the allowed CIDRs for a given cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=id

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: id, type, status.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{}

get allowed CIDR

Fetches the details for the specified allowed CIDR.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

allowedCidrId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the allowed CIDR.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "cidr": "1.23.45.67/32",
  • "comment": "Allows access from my local developer machine",
  • "expiresAt": "2023-05-14T21:49:58.465Z",
  • "status": "active",
  • "type": "temporary",
  • "audit": {
    }
}

Delete Allowed CIDR

Deletes the existing allowed CIDR.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

allowedCidrId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the allowed CIDR.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Database Credentials

Database credentials provide programmatic and application-level access to data on a database. Only database credentials can access data.

List Database Credentials

Lists all the database credential information under a cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=name

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: name, id.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{}

Create Database Credentials

Creates a new database credential under a cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

Valid fields to sort the results are: "id", "name".

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
name
required
string [ 2 .. 128 ] characters

Username for the database credential. The name should adhere to the following rules:

  1. The name must be between 2 & 128 characters.

  2. The name cannot contain spaces.

  3. The name cannot contain the following characters - ) ( > < , ; : " \ / ] [ ? = } {

  4. The name cannot begin with @ character.

password
string >= 8 characters

A password associated with the database credential. If this field is left empty, a password will be auto-generated.

  • The password should adhere to the following rules:

    1. The password should have at least 8 characters.

    2. Characters used for the password should contain at least one uppercase (A-Z), one lowercase (a-z), one numerical (0-9), and one special character.

    3. The password must not contain any of the following characters: < > ; . * & | £

required
Array of objects (Access)

Describes the access information of the database credential.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "ReadWriteOnSpecificCollections",
  • "access": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "password": "P@ssw0rd!"
}

Get Database Credentials

Fetches the details of a given cluster's database credential information.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

userId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the database credential.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "name": "ReadInventory",
  • "audit": {
    },
  • "access": [
    ]
}

Update Database Credentials

Updates an existing database credential.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

userId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the database credential.

header Parameters
If-Match
string
Example: 12

A precondition header that specifies the entity tag of a resource.

Request Body schema: application/json
Array of objects (Access)

Describes the access information of the database credential.

password
string

The updated password of the database credential.

Responses

Request samples

Content type
application/json
{
  • "access": [
    ]
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Delete Database Credentials

Deletes an existing cluster's database credential.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

userId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the database credential.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Buckets, Scopes, & Collections

A bucket is the fundamental space for storing data in Couchbase Capella. Scopes and Collections are logical containers within a bucket and a way for organizing data within buckets. A scope is a mechanism for the grouping of multiple collections. A collection is a data container for related documents.

Create Bucket

Creates a new bucket configuration under a cluster.

To learn more about bucket configuration, see Buckets.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
name
required
string <= 100 characters

Name of the bucket. This field cannot be changed later. The name should adhere to the following rules:

  1. Characters used for the name should be in the ranges of A-Z, a-z, and 0-9; plus the underscore, period, dash, and percent characters.

  2. The name can be a maximum of 100 characters in length.

  3. The name cannot have 0 characters or empty. Minimum length of name is 1.

  4. The name cannot start with a . (period).

type
string (Type)
Default: "couchbase"
Enum: "couchbase" "ephemeral"

Type of the bucket.

  • If selected Ephemeral, it is not eligible for imports or App Endpoints creation. This field cannot be changed later.

  • The options may also be referred to as Memory and Disk (Couchbase), Memory Only (Ephemeral) in the Couchbase documentation.

To learn more, see Create a Bucket.

storageBackend
string (StorageBackend)
Default: "couchstore"
Enum: "couchstore" "magma"

The storage engine to be assigned to and used by the bucket.

  • Ephemeral buckets do not support StorageBackend, hence not applicable for Ephemeral buckets and throws an error if this field is added.

  • This field is only applicable for a Couchbase bucket. The default value mentioned (Couchstore) is for Couchbase bucket.

  • This field cannot be changed later.

    To learn more, see Storage Engines.

memoryAllocationInMb
integer
Default: 100

The amount of memory to allocate for the bucket memory in MiB. This is the maximum limit is dependent on the allocation of the KV service. For example, 80% of the allocation.

  • The default value (100MiB) mentioned is for Couchbase type buckets with Couchstore as the Storage Backend.

  • For Couchbase buckets, the default and minimum memory allocation changes according to the Storage Backend type as follows:

    1. For Couchstore, the default and minimum memory allocation is 100 MiB.

    2. For Magma, the default and minimum memory allocation is 1024 MiB.

  • For Ephemeral buckets, the default and minimum memory allocation is 100 MiB.

bucketConflictResolution
string (BucketConflictResolution)
Default: "seqno"
Enum: "seqno" "lww"

The means by which conflicts are resolved during replication.

  • This field may be referred to as "conflict resolution" in the Couchbase documentation, and seqno and lww may be referred to as "sequence number" and "timestamp" respectively.

  • This field cannot be changed later.

To learn more, see Conflict Resolution.

durabilityLevel
string (DurabilityLevel)
Default: "none"
Enum: "none" "majority" "majorityAndPersistActive" "persistToMajority"

This is the minimum level at which all writes to the bucket must occur.

The options for Durability level are as follows, according to the bucket type.

  • For a Couchbase bucket:

    1. None

    2. Replicate to Majority

    3. Majority and Persist to Active

    4. Persist to Majority

  • For an Ephemeral bucket:

    1. None

    2. Replicate to Majority

To learn more, see Create a Bucket.

replicas
integer (Replicas)
Default: 1
Enum: 1 2 3

The number of replicas for the bucket. To learn more, see Create a Bucket.

flush
boolean
Deprecated
Default: false

Replaced by flushEnabled. This property is deprecated and will be removed in a future release.

Determines whether flushing is enabled on the bucket. Enable Flush to delete all items in this bucket at the earliest opportunity. Disable Flush to avoid inadvertent data loss.

flushEnabled
boolean
Default: false

Determines whether bucket flush is enabled. Set flushEnabled to true to be able to delete all items in this bucket using the /flush endpoint. Disable flushEnabled to avoid inadvertent data loss by calling the /flush endpoint .

timeToLiveInSeconds
integer
Default: 0

Specify the time to live (TTL) value in seconds. This is the maximum time to live for items in the bucket. Default is 0, that means TTL is disabled. This is a non-negative value.

evictionPolicy
string (EvictionPolicy)
Default: "fullEviction"
Enum: "fullEviction" "noEviction" "nruEviction"

The policy which Capella adopts to prevent data loss due to memory exhaustion. This may be also known as Ejection Policy in the Couchbase documentation.

  • For Couchbase bucket, Eviction Policy is fullEviction by default.

  • For Ephemeral buckets, Eviction Policy is a required field, and should be one of the following:

    1. noEviction

    2. nruEviction

    To learn more, see Ejection Policy.

priority
integer (BucketPriority)
Default: 0

Priority of the bucket.

  • Specify relative bucket priority so that buckets will be recovered in the order specified during failover.

  • Bucket ranking/priority is only available in Couchbase Server 7.6 and above

  • Default bucket priority is 0 and can be set to a value between 0 and 1000. 1000 is the highest priority and 0 is the lowest.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "CBExample1",
  • "type": "couchbase",
  • "storageBackend": "couchstore",
  • "memoryAllocationInMb": 105,
  • "bucketConflictResolution": "seqno",
  • "durabilityLevel": "majorityAndPersistActive",
  • "replicas": 2,
  • "flush": true,
  • "timeToLiveInSeconds": 100
}

Response samples

Content type
application/json
{
  • "id": "dGVzdA"
}

List Buckets

Lists all the buckets under the cluster.

To learn more about bucket configuration, see Buckets.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Bucket

Fetches the configuration of the given bucket.

To learn more about bucket configuration, see Buckets.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Responses

Response samples

Content type
application/json
{
  • "id": "dGVzdA",
  • "name": "My-First-Bucket",
  • "type": "string",
  • "storageBackend": "couchstore",
  • "memoryAllocationInMb": 100,
  • "bucketConflictResolution": "string",
  • "durabilityLevel": "string",
  • "replicas": 0,
  • "flush": false,
  • "flushEnabled": false,
  • "timeToLiveInSeconds": 100,
  • "evictionPolicy": "fullEviction",
  • "stats": {
    },
  • "priority": 0
}

Update Bucket

Updates an existing bucket.

To learn more about bucket configuration, see Buckets.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Request Body schema: application/json
memoryAllocationInMb
required
integer

The new amount of memory to allocate for the bucket memory in MiB. The maximum limit is dependent on the allocation of the KV service; for example, 80% of the allocation.

  • For Couchbase buckets, the default and minimum memory allocation changes according to the Storage Backend type, as follows:

    1. For Couchstore, the default and minimum memory allocation is 100 MiB.

    2. For Magma, the default and minimum memory allocation is 1024 MiB.

  • For Ephemeral buckets, the default and minimum memory allocation is 100 MiB.

durabilityLevel
required
string
Enum: "none" "majority" "majorityAndPersistActive" "persistToMajority"

This is the minimum level at which all writes to the bucket must occur.

The options for Durability level are as follows, according to the bucket type.

  • For a Couchbase bucket:

    1. None

    2. Replicate to Majority

    3. Majority and Persist to Active

    4. Persist to Majority

  • For an Ephemeral bucket:

    1. None

    2. Replicate to Majority

    To learn more, see Create a Bucket.

replicas
required
integer
Enum: 1 2 3

The number of replicas for the bucket. To learn more, see Create a Bucket.

flush
boolean
Deprecated
Default: false

Replaced by flushEnabled. This property is deprecated and will be removed in a future release.

The new value of flush property. This determines whether bucket flush is enabled. Enable Flush to be able to delete all items in this bucket at the earliest opportunity using /flush endpoint. Disable Flush to avoid inadvertent data loss by calling the /flush endpoint

flushEnabled
boolean
Default: false

This determines whether bucket flush is enabled. Enable flushEnabled to delete all items in this bucket at the earliest opportunity by calling the /flush endpoint. Disable flushEnabled to avoid inadvertent data loss by calling the /flush endpoint.

timeToLiveInSeconds
required
integer

Specify the new time to live (TTL) value in seconds. This is the maximum time to live for items in the bucket. If specified as 0, TTL is disabled. This is a non-negative value.

priority
integer (BucketPriority)
Default: 0

Priority of the bucket.

  • Specify relative bucket priority so that buckets will be recovered in the order specified during failover.

  • Bucket ranking/priority is only available in Couchbase Server 7.6 and above

  • Default bucket priority is 0 and can be set to a value between 0 and 1000. 1000 is the highest priority and 0 is the lowest.

Responses

Request samples

Content type
application/json
{
  • "memoryAllocationInMb": 100,
  • "durabilityLevel": "none",
  • "replicas": 1,
  • "flush": false,
  • "flushEnabled": false,
  • "timeToLiveInSeconds": 100,
  • "priority": 0
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Delete Bucket

Deletes an existing bucket.

To learn more about bucket configuration, see Buckets.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Flush Bucket Data

Flushing of the bucket occurs, causing all items in the bucket to be deleted by the system at the earliest opportunity. This operation can only be performed if the bucket has been configured with flushEnabled to true. If it is disabled, it will throw an error.

It is recommended not to run with the flushEnabled configuration set to true in production; due to the danger of all a bucket's data being inadvertently lost.

To learn more about bucket configuration, see Buckets.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Create Scope

Creates a new scope in a bucket.

To learn more about scopes and collections, see Buckets, Scopes, and Collections.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Request Body schema: application/json
name
required
string

The name of the scope. The name should adhere to the following rules:

  1. The name must be between 1 and 251 characters in length.

  2. The name can contain only the characters A-Z, a-z, 0-9, and the symbols _, -, and %.

  3. The name cannot start with _ or %.

Note that scope and collection names are case-sensitive.

Responses

Request samples

Content type
application/json
{
  • "name": "my-scope"
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

List Scopes

Lists all the scopes in the bucket.

To learn more about scopes and collections, see Buckets, Scopes, and Collections.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Responses

Response samples

Content type
application/json
{
  • "scopes": [
    ]
}

Get Scope

Fetches the details of the given scope.

To learn more about scopes and collections, see Buckets, Scopes, and Collections.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

scopeName
required
string
Example: inventory

The name of the scope.

Responses

Response samples

Content type
application/json
{
  • "name": "inventory",
  • "collections": [
    ]
}

Delete Scope

Deletes an existing scope.

To learn more about scopes and collections, see Buckets, Scopes, and Collections.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

scopeName
required
string
Example: inventory

The name of the scope.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Create Collection

Creates a new collection in a scope.

To learn more about scopes and collections, see Buckets, Scopes, and Collections.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

scopeName
required
string
Example: inventory

The name of the scope.

Request Body schema: application/json
name
required
string

The name of the collection. The name should adhere to the following rules:

  1. The name must be between 1 and 251 characters in length.

  2. The name can contain only the characters A-Z, a-z, 0-9, and the symbols _, -, and %.

  3. The name cannot start with _ or %.

Note that scope and collection names are case-sensitive.

maxTTL
integer

Specify the time to live (TTL) value in seconds. Defines the duration (Seconds) for which the documents in a collection are kept before automatic removal from the database. - For server versions < 7.6.0, this is a non-negative value. Set to 0 to use the bucket's maxTTL value. - For server versions >= 7.6.0, this value should be >= -1. Set to -1 to disable expiry for that collection. Set to 0 to use the bucket's maxTTL value. - The maximum value that can be set for maxTTL is 2147483647.

Responses

Request samples

Content type
application/json
{
  • "name": "my-collection",
  • "maxTTL": 100
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

List Collections

Lists all the collections in a scope.

To learn more about scopes and collections, see Buckets, Scopes, and Collections.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

scopeName
required
string
Example: inventory

The name of the scope.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Collection

Fetches the details of the given collection.

To learn more about scopes and collections, see Buckets, Scopes, and Collections.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

scopeName
required
string
Example: inventory

The name of the scope.

collectionName
required
string
Example: airline

The name of the collection.

Responses

Response samples

Content type
application/json
{
  • "name": "airport",
  • "maxTTL": 0
}

Update Collection

Updates an existing collection.

This operation is only allowed for a cluster with server version >= 7.6.0. A collection cannot be updated for the server versions lower than this.

This allows to update the maxTTL of the given collection.

To learn more about scopes and collections, see Buckets, Scopes, and Collections.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

scopeName
required
string
Example: inventory

The name of the scope.

collectionName
required
string
Example: airline

The name of the collection.

Request Body schema: application/json
maxTTL
required
integer

Specify the new time to live (TTL) value in seconds.

  • This value should be >= -1. Set to -1 to disable expiry for that collection.
  • Set to 0 to use the bucket's maxTTL value.
  • The maximum value that can be set for maxTTL is 2147483647.

Responses

Request samples

Content type
application/json
{
  • "maxTTL": 100
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Delete Collection

Deletes an existing collection.

To learn more about scopes and collections, see Buckets, Scopes, and Collections.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

scopeName
required
string
Example: inventory

The name of the scope.

collectionName
required
string
Example: airline

The name of the collection.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Organizations

Couchbase Capella uses an ordered hierarchy to help you keep all of your data organized and securely accessible. The entity at the top of the hierarchy is called an organization. Everything you do in Capella, whether it's creating a cluster or managing billing, happens within the scope of an organization.

Get Organization

Fetches the details of an organization by ID.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Creator
  • Organization Member

To learn more, see Organization Roles.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "name": "My-Organization",
  • "subdomain": "abc",
  • "description": "The description of the organization.",
  • "preferences": {
    },
  • "audit": {
    }
}

Update Organization Configuration

Updates an existing organization configuration. Use this endpoint to add, update, and delete network subdomains.

Subdomains:

  • Can have a maximum of 30 alphanumeric characters.
  • Must be a unique string and not already in use in another tenant or organization. Empty strings are allowed.
  • Only affect new clusters. You cannot update existing clusters to include a new subdomain.
  • Currently only supported for AWS clusters.

In order to access this endpoint, the provided API key must have the following role:

  • Organization Owner

Subdomains are not automatically available. You must contact Couchbase support to enable this feature.

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

header Parameters
If-Match
string
Example: 12

A precondition header that specifies the entity tag of a resource.

Request Body schema: application/json
subdomain
required
string <= 30 characters

The new name of the subdomain for the organization.

Responses

Request samples

Content type
application/json
Example
{
  • "subdomain": "abc"
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

List Organizations

Returns a list of all organizations the user has access to.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Creator
  • Organization Member

To learn more, see Organization Roles.

Authorizations:
token

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Certificates

Couchbase Capella supports the use of x.509 certificates, for clients and servers. This ensures that only approved users, applications, machines, and endpoints have access to system resources. Consequently, the mechanism can be used by Couchbase SDK clients to access Couchbase Services, and by source clusters that use XDCR to replicate data to target clusters. Clients can verify the identity of Couchbase Capella, thereby ensuring that they are not exchanging data with a rogue entity.

Get Certificate

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "certificate": "-----BEGIN CERTIFICATE-----\nMIIDFTCCAf2gAwIBAgI[...]CSYBWaK0ofivA==\n-----END CERTIFICATE-----\n"
}

Backups & Restore (Bucket)

Couchbase supports a robust scheduled backup and retention time policy as part of an overall disaster recovery plan for production data. Couchbase Capella supports scheduled and on-demand backups of bucket data. A backup can be restored to the same database where it was created or another database in the same organization. An on-demand backup of a bucket is always a Full backup. Capella schedules on-demand backup to start immediately.

Create Backup

Creates an on-demand backup for a bucket.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

List Cluster Backups

Lists the latest backup for all buckets in a cluster.

Note: This endpoint doesn’t return queued backups and only returns ones that are actively being processed or are completed/failed.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Backup

Fetches the details of an existing backup.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

backupId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the backup.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "clusterID": "ffffffff-aaaa-1414-eeee-000000000000",
  • "tenantID": "ffffffff-aaaa-1414-eeee-000000000000",
  • "projectID": "ffffffff-aaaa-1414-eeee-000000000000",
  • "cycleID": "string",
  • "date": "2021-09-01T12:34:56Z",
  • "restoreBefore": "2021-09-02T12:34:56Z",
  • "status": "pending",
  • "method": "incremental",
  • "bucketName": "My-First-Bucket",
  • "bucketID": "dGVzdA",
  • "source": "scheduled",
  • "provider": "aws",
  • "stats": {
    },
  • "elapsedTimeInSeconds": 30,
  • "scheduleInfo": {
    }
}

Delete Backup Cycle

Deletes the backup records that belong to the same cycle from the DB by using the backup ID.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

backupId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the backup.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Restore Backup

Creates an on-demand restore job for a backup immediately.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

backupId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the backup.

Request Body schema: application/json
targetClusterID
required
string <uuid>

The ID of the target cluster to restore to.

sourceClusterID
required
string <uuid>

The ID of the source cluster the restore is based on.

backupID
required
string <uuid>

The backup record ID that contains the backup to restore from.

services
required
Array of strings (Services)
Items Enum: "data" "query"
forceUpdates
boolean

Forces data in the Couchbase cluster to be overwritten even if the data in the cluster is newer.

autoRemoveCollections
boolean

Automatically delete scopes/collections which are known to be deleted in the backup.

filterKeys
string

Only restore data where the key matches a particular regular expression.

filterValues
string

Only restore data where the value matches a particular regular expression.

includeData
string

Restores only the data specified here.

excludeData
string

Skips restoring the data specified here.

mapData
string

Specified when you want to restore source data into a different location.

replaceTTL
string
Enum: "none" "all" "expired"

Sets a new expiration (time-to-live) value for the specified keys.

replaceTTLWith
string

Updates the expiration for the keys.

Responses

Request samples

Content type
application/json
{
  • "targetClusterID": "ffffffff-aaaa-1414-eeee-000000000000",
  • "sourceClusterID": "ffffffff-aaaa-1414-eeee-000000000000",
  • "backupID": "ffffffff-aaaa-1414-eeee-000000000000",
  • "services": [
    ],
  • "forceUpdates": true,
  • "autoRemoveCollections": true,
  • "filterKeys": "",
  • "filterValues": "",
  • "includeData": "bucket-1.scope1",
  • "excludeData": "bucket-1.scope1.coll1",
  • "mapData": "bucket1=new1",
  • "replaceTTL": "all",
  • "replaceTTLWith": "2021-09-01T12:34:56Z"
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Backup Schedule (Bucket)

Couchbase supports a robust scheduled backup and retention time policy as part of an overall disaster recovery plan for production data. Couchbase Capella supports scheduled and on-demand backups of bucket data. A backup can be restored to the same database where it was created or another database in the same organization. On setting up a backup schedule, the bucket automatically backs up the bucket based on the chosen schedule.

Create Backup Schedule

Creates a scheduled backup for a bucket.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Request Body schema: application/json
type
string
Value: "weekly"
object

Schedule a full backup once a week with regular incrementals.

Responses

Request samples

Content type
application/json
{
  • "type": "weekly",
  • "weeklySchedule": {
    }
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Get Backup Schedule

Fetched the backup schedule for a bucket in a cluster.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Responses

Response samples

Content type
application/json
{
  • "type": "weekly",
  • "clusterID": "ffffffff-aaaa-1414-eeee-000000000000",
  • "bucketId": "dGVzdA",
  • "weeklySchedule": {
    }
}

Update Backup Schedule

Updates an existing backup schedule.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Request Body schema: application/json
type
string
Value: "weekly"
object

Schedule a full backup once a week with regular incrementals.

Responses

Request samples

Content type
application/json
{
  • "type": "weekly",
  • "weeklySchedule": {
    }
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Delete Backup Schedule

Deletes an existing backup schedule

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

List Cycles

Lists the cycles for a bucket in a cluster.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

query Parameters
startDate
string <date>
Example: startDate=2023-07-19

Filters bucket backups beginning from the start date. Specify the start date to retrieve relevant bucket backups from start date.

endDate
string <date>
Example: endDate=2023-07-21

Filters bucket backups till the end date. Specify the end date to retrieve relevant bucket backups till end date.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List Backups

Lists the backups for a cycle in a bucket.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

cycleId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cycle.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

App Services

App Services synchronizes data between the Couchbase Capella database and your apps running on mobile applications. App Services is a fully managed application backend designed to provide data synchronization for mobile/IoT applications and the Capella Cloud Service.

Create App Service

Creates a new App Service.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
name
required
string <= 256 characters

Name of the cluster (up to 256 characters).

description
string

A short description of the App Service.

nodes
integer

Number of nodes configured for the App Service. Number of nodes configured for the App Service. The number of nodes can range from 2 to 12.

object (AppServiceCompute)

The CPU and RAM configuration of the App Service. The supported combinations are:

CPU (cores) RAM (GB)
2 4
4 8
8 16
16 32
36 72
version
string

The version of the App Service server. If left empty, it will be defaulted to the latest available version.

Responses

Request samples

Content type
application/json
{
  • "name": "MyAppSyncService",
  • "description": "My app sync service.",
  • "nodes": 2,
  • "compute": {
    },
  • "version": "3.0"
}

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000"
}

List AppServices

Lists all the clusters under the organization.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

Returned set of clusters is reduced to what the caller has access to view. To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=name

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: name, id, description.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

projectId
string <uuid>
Example: projectId=ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

Responses

Response samples

Content type
application/json
{}

Get App Service

Fetches the details of the given App Service.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "name": "My App Service",
  • "description": "Description of the App Service.",
  • "cloudProvider": "aws",
  • "nodes": 2,
  • "compute": {
    },
  • "clusterId": "ffffffff-aaaa-1414-eeee-000000000000",
  • "currentState": "deploying",
  • "version": "3.141.5",
  • "audit": {
    }
}

Update App Service

Updates an existing App Service.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

header Parameters
If-Match
string
Example: 12

A precondition header that specifies the entity tag of a resource.

Request Body schema: application/json
nodes
required
integer

Number of nodes configured for the App Service. The number of nodes can range from 2 to 12.

required
object (AppServiceCompute)

The CPU and RAM configuration of the App Service. The supported combinations are:

CPU (cores) RAM (GB)
2 4
4 8
8 16
16 32
36 72

Responses

Request samples

Content type
application/json
{
  • "nodes": 2,
  • "compute": {
    }
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Delete App Service

Deletes an existing App Service.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Turn On App Service

Turn app service on.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Turn Off App Service

Turn app service off.

Turn off an App Service to temporarily deactivate it and reduce its consumption of compute resources. The App Service itself and its related infrastructure will be removed once turned off.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Sample Bucket

The sampleBucket endpoint lets users easily create a bucket filled with sample data. This is a quick way for users to try out features and learn how things work with ready-to-use data.

Load Sample Data

Loads predefined sample data into a cluster by selecting from three available options:

  • travel-sample
  • gamesim-sample
  • beer-sample

Upon a successful request, a new bucket is created within the cluster, and populated with the chosen sample data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
name
required
string
Enum: "travel-sample" "gamesim-sample" "beer-sample"

The name of the sample dataset to be loaded. The name has to be one of the following sample datasets.

  • travel-sample
  • gamesim-sample
  • beer-sample

Responses

Request samples

Content type
application/json
{
  • "name": "travel-sample"
}

Response samples

Content type
application/json
{
  • "bucketId": "dGVzdA",
  • "name": "travel-sample"
}

List Sample Data Import Buckets

Lists all the sample buckets under the organization.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Sample Import Bucket

Fetches the configuration of the given bucket.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Responses

Response samples

Content type
application/json
{
  • "id": "dGVzdA",
  • "name": "My-First-Bucket",
  • "type": "string",
  • "storageBackend": "couchstore",
  • "memoryAllocationInMb": 100,
  • "bucketConflictResolution": "string",
  • "durabilityLevel": "string",
  • "replicas": 0,
  • "flush": false,
  • "flushEnabled": false,
  • "timeToLiveInSeconds": 100,
  • "evictionPolicy": "fullEviction",
  • "stats": {
    },
  • "priority": 0
}

Delete Sample Import Bucket

Deletes an existing bucket which was loaded with sample data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

bucketId
required
string
Example: dGVzdA

The ID of the bucket. It is the URL-compatible base64 encoding of the bucket name.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

CMEK

The CMEK (Customer Managed Encryption Keys) endpoints facilitate the management of encryption keys used by clusters for data encryption. They allow organizations to register, list, retrieve, rotate, and delete the metadata associated with their own encryption keys within Capella. This suite of endpoints ensures that organizations have full control over the lifecycle of their keys, enhancing security and compliance by allowing encryption keys that are managed in external key management services like AWS KMS or GCP KMS to be used within the organization's clusters.

Get Cloud Accounts

Fetches the cloud account ID associated with the organization. Use this account ID when adding CMEK to other AWS databases in your organization.

To learn more, see CMEK at Rest.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Creator
  • Organization Member

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

Responses

Response samples

Content type
application/json
{
  • "gcp-capella-project": "MyApp-Prod-Project",
  • "aws-capella-account": "MyApp-Prod-Project",
  • "azure-capella-subscription": "MyApp-Prod-Project"
}

Create Key Metadata

Initializes the metadata record for a customer-managed encryption key stored in AWS or GCP, linking it to the organization.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

Request Body schema: application/json
name
required
string <= 128 characters

Name of the key (up to 256 characters).

description
string <= 512 characters

Description of the key (up to 1024 characters).

required
AWSConfig (object) or GCPConfig (object)

Responses

Request samples

Content type
application/json
{
  • "name": "Test Key",
  • "description": "Description of the Key",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000"
}

List Key Metadata

Retrieves detailed metadata for all customer-managed encryption keys associated with the organization.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Organization Member

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=name

Sets the order of how you would like to sort the results and the key you would like to order by.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{}

List Key Rotation History

Retrieves the full history of rotations for a specific customer-managed encryption key within the organization. In order to access this endpoint, the provided API key must have at least one of the following roles:

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

cmekId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the KMS Key metadata.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
string
Enum: "active" "associatedAt" "associatedBy" "key"
Example: sortBy=active

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: active, associatedAt, associatedBy, key

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{
  • "cursor": {
    },
  • "data": [
    ]
}

Get Key Metadata

Retrieves the full metadata details for a specific customer-managed encryption key within the organization.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Organization Member

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

cmekId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the KMS Key metadata.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "name": "Test Key",
  • "description": "Description of the cluster",
  • "config": {
    },
  • "audit": {
    }
}

Rotate Key

Initiates the process to rotate a customer-managed encryption key and update its associated metadata within the system.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

cmekId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the KMS Key metadata.

Request Body schema: application/json
required
AWSConfig (object) or GCPConfig (object)

Responses

Request samples

Content type
application/json
{
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Delete Key Metadata

Permanently removes the specified customer-managed encryption key's metadata from the organization's account.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

cmekId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the KMS Key metadata.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Associate Key with Cluster

Redeploys the cluster and encrypts the disks with the newly associated customer-managed encryption key. Throws an error before redeploying the cluster if the customer-managed encryption key is inaccessible.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

cmekId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the KMS Key metadata.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Unassociate Key from Cluster

Removes the customer-managed encryption key associated with the cluster, which redeploys the cluster and removes any encryption on the disks. This does not delete the customer-managed encryption key itself since the same key could be used across clusters.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

cmekId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the KMS Key metadata.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Alert Integration

Couchbase Capella supports sending Capella alert notifications to the most common service like ServiceNow.

Create Alert Integration

Creates a new alert integration for a project.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

Request Body schema: application/json
kind
required
string
Value: "webhook"

Type of alert integration, currently supports only 'webhook'.

name
required
string <= 1024 characters

Name of the alert integration (up to 1024 characters).

required
object (RequestConfig)

Responses

Request samples

Content type
application/json
{
  • "kind": "webhook",
  • "name": "test alert 1",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000"
}

List Alert Integrations

Lists all the alert integrations under the project.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Organization Member
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=name

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: id, name.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{}

Get Alert Integration

Fetches the details of the given alert integration.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Organization Member
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

alertIntegrationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the alert integration.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "name": "test alert 1",
  • "tenantId": "ffffffff-aaaa-1414-eeee-000000000000",
  • "projectId": "ffffffff-aaaa-1414-eeee-000000000000",
  • "kind": "webhook",
  • "configKey": "ffffffff-aaaa-1414-eeee-000000000000-alert-integration",
  • "status": "healthy",
  • "enabled": false,
  • "config": {
    },
  • "audit": {
    }
}

Update Alert Integration

Update the details of the given alert integration.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

alertIntegrationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the alert integration.

Request Body schema: application/json
name
string <= 1024 characters

Name of the alert integration (up to 1024 characters).

required
object (RequestConfig)

Responses

Request samples

Content type
application/json
{
  • "name": "test alert 1",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Delete Alert Integration

Deletes an existing alert integration.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

alertIntegrationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the alert integration.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Test Alert Integration

Tests a new alert integration for a project.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

Request Body schema: application/json
kind
required
string
Value: "webhook"

Type of alert integration, currently supports only 'webhook'.

required
object (RequestConfig)

Responses

Request samples

Content type
application/json
{
  • "kind": "webhook",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

On/Off Schedule

The On/Off Schedule endpoint enables you to schedule when your provisioned database should turn on or off to save costs. Turning off your database only turns off the compute; all of your data, schema (buckets, scopes, and collections), and indexes remain, as well as your cluster configuration, including users and allow lists. When you turn your provisioned database off, you will be charged the OFF amount for the database. You can turn the cluster and any linked app services on or off on demand using the cluster API.

Create Cluster On/Off schedule

This provides the means to add a new cluster on/off schedule.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
timezone
required
string
Enum: "Pacific/Midway" "US/Hawaii" "US/Alaska" "US/Pacific" "US/Mountain" "US/Central" "US/Eastern" "America/Puerto_Rico" "Canada/Newfoundland" "America/Argentina/Buenos_Aires" "Atlantic/Cape_Verde" "Europe/London" "Europe/Amsterdam" "Europe/Athens" "Africa/Nairobi" "Asia/Tehran" "Indian/Mauritius" "Asia/Karachi" "Asia/Calcutta" "Asia/Dhaka" "Asia/Bangkok" "Asia/Hong_Kong" "Asia/Tokyo" "Australia/North" "Australia/Sydney" "Pacific/Ponape" "Antarctica/South_Pole"

Timezone for the schedule

required
Array of objects (Days)

Responses

Request samples

Content type
application/json
Example
{
  • "timezone": "US/Pacific",
  • "days": [
    ]
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Get Cluster On/Off schedule

Fetches the details of the cluster on/off schedule for the given cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "timezone": "US/Pacific",
  • "days": [
    ]
}

Update Cluster On/Off schedule

This provides the means to update an existing cluster on/off schedule.

In order to access this endpoint, the provided API key must have at least one of the roles referenced below:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
timezone
required
string
Enum: "Pacific/Midway" "US/Hawaii" "US/Alaska" "US/Pacific" "US/Mountain" "US/Central" "US/Eastern" "America/Puerto_Rico" "Canada/Newfoundland" "America/Argentina/Buenos_Aires" "Atlantic/Cape_Verde" "Europe/London" "Europe/Amsterdam" "Europe/Athens" "Africa/Nairobi" "Asia/Tehran" "Indian/Mauritius" "Asia/Karachi" "Asia/Calcutta" "Asia/Dhaka" "Asia/Bangkok" "Asia/Hong_Kong" "Asia/Tokyo" "Australia/North" "Australia/Sydney" "Pacific/Ponape" "Antarctica/South_Pole"

Timezone for the schedule

required
Array of objects (Days)

Responses

Request samples

Content type
application/json
{
  • "timezone": "US/Pacific",
  • "days": [
    ]
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Delete Cluster On/Off schedule

Deletes the cluster on/off schedule for the given cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Cloud Snapshot Backups & Restore

Couchbase supports a robust scheduled backup and retention time policy as part of an overall disaster recovery plan for production data. Couchbase Capella supports scheduled and on-demand backups of cloud snapshot data. A backup can be restored to the same database where it was created or another database in the same organization. An on-demand backup of a bucket is always a Full backup. Capella schedules on-demand backup to start immediately.

Create Cloud Snapshot Backup

Creates a cloud snapshot backup for a cluster.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
retention
integer

Represents interval in hours to retain the backup.

Responses

Request samples

Content type
application/json
{
  • "retention": 730
}

Response samples

Content type
application/json
{
  • "backupId": "IS9DrRsw4KWFS72Zhbj4xmhllHvPcdCL"
}

List Cloud Snapshot Backups

List the backups belonging to a cluster.

Note: This endpoint doesn’t return queued backups and only returns ones that are actively being processed or are completed/failed.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=createdAt

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: id, createdAt, expiration, retention, sizee, type.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{
  • "cursor": {
    },
  • "data": [
    ],
  • "permissions": {
    }
}

List Cloud Snapshot Restores

Lists the restores that have taken place for a given cluster.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=createdAt

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: id, createdAt, expiration, retention, sizee, type.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{
  • "cursor": {
    },
  • "data": [
    ],
  • "permissions": {
    }
}

Edit Backup Retention

Edits the retention time for a backup.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

backupId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the backup.

Request Body schema: application/json
retention
integer

Represents interval in hours to retain the backup.

Responses

Request samples

Content type
application/json
{
  • "retention": 730
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Delete Backup

Deletes the backup.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

backupId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the backup.

Responses

Response samples

Content type
application/json
{ }

Restore Backup

Creates a restore job for a backup immediately.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

backupId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the backup.

Responses

Response samples

Content type
application/json
{
  • "restoreId": "IS9DrRsw4KWFS72Zhbj4xmhllHvPcdCL"
}

Cloud Snapshot Backups Schedule

Couchbase supports a robust scheduled backup and retention time policy as part of an overall disaster recovery plan for production data. Couchbase Capella supports scheduled and on-demand backups of cloud snapshot data. A backup can be restored to the same database where it was created or another database in the same organization. On setting up a backup schedule, the bucket automatically backs up the bucket based on the chosen schedule.

Upsert Backup Schedule

Creates or updates a cloud snapshot backup schedule for a cluster.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
interval
integer

Represents the time interval.

retention
integer

Represents interval in hours to retain the backup.

startTime
string <date-time>

Represents the start time in ISO 8601 format.

Responses

Request samples

Content type
application/json
{
  • "interval": 1,
  • "retention": 24,
  • "startTime": "2024-01-05T16:00:00+00:00"
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Get Backup Schedule

Retrieves the cloud snapshot backup schedule for a cluster.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "interval": 1,
  • "retention": 24,
  • "startTime": "2024-01-05T16:00:00+00:00"
}

Delete Backup Schedule

Deletes the backup schedule for a cluster.

To learn more about backup and restore, see Backup and Restore Data.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Audit Logs

Users can configure audit log support on Capella database and can export audit logs from cloud blob storage to an AWS S3 bucket. Users can retrieve audit logs from a pre-signed download URL. Logs are retained for 30 days.

Update Cluster Audit Log Configuration

Updates the audit log configuration for the cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
auditEnabled
required
boolean

Determines whether audit logging is enabled or not on the cluster.

required
Array of objects (AuditSettingsDisabledUsers)

List of users whose filterable events will not be logged.

enabledEventIDs
required
Array of integers <int32> [ items <int32 > ]

List of enabled filterable audit events for the cluster.

Responses

Request samples

Content type
application/json
{
  • "auditEnabled": true,
  • "disabledUsers": [
    ],
  • "enabledEventIDs": [
    ]
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Get Cluster Audit Log Configuration

Fetches information on whether audit logging is enabled, and which event IDs are enabled.

To learn more about cluster audit logs, please refer to audit management.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "auditEnabled": true,
  • "disabledUsers": [
    ],
  • "enabledEventIDs": [
    ]
}

List Filterable Audit Log Events

Retrieves a list of audit event IDs. The list of filterable event IDs can be specified while configuring audit log for cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "events": [
    ]
}

Create Cluster Audit Log Export job

Creates a new audit log export job.

Audit Logs for the last 30 days can be requested, otherwise they are purged. A pre-signed URL to a s3 bucket location is returned, which is used to download these audit logs.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
start
required
string <date-time>

Specifies the audit log's start date and time.

end
required
string <date-time>

Specifies the audit log's end date and time.

Responses

Request samples

Content type
application/json
{
  • "start": "2022-09-04T00:56:07.000Z",
  • "end": "2022-09-05T04:56:07.000Z"
}

Response samples

Content type
application/json
{
  • "exportId": "ffffffff-aaaa-1414-eeee-000000000000"
}

List Cluster Audit Log Export Jobs

Lists all the audit log export jobs and shows the status for each job.

It will show the pre-signed URL if the export was successful, a failure error if it was unsuccessful or a message saying no audit logs available if there were no audit logs found.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

Responses

Response samples

Content type
application/json
{}

Get Cluster Audit Log Export

Fetches the status of a single audit log export job.

It will show the pre-signed URL if the export was successful, a failure error if it was unsuccessful or a message saying no audit logs available if there were no audit logs found during the given timeframe.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

auditLogExportId
required
string
Example: ffffffff-aaaa-1414-eeee-000000000000

The export ID of the audit log export job.

Responses

Response samples

Content type
application/json
Example
{
  • "createdAt": "2023-05-16T04:00:08.870Z",
  • "auditLogExportId": "40b9318a-cc93-458d-bc3e-7d4ffa778386",
  • "start": "2023-05-15T04:56:07.000Z",
  • "end": "2023-05-16T04:56:07.000Z",
  • "status": "In Progress"
}

App Services Audit Logging

Users can configure audit log support on Capella App Services and can export audit logs from cloud blob storage to an AWS S3 bucket. Users can retrieve audit logs from a pre-signed download URL. Logs are retained for 30 days.

Enable or Disable App Service Audit Logging

Enable or disable Audit Logging for an App Service.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Request Body schema: application/json
auditEnabled
required
boolean

Determines whether audit logging is enabled or not on the App Service.

Responses

Request samples

Content type
application/json
{
  • "auditEnabled": true
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Get App Service Audit Log State

Retrieves the audit logging state for a specific App Service.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Responses

Response samples

Content type
application/json
{
  • "auditEnabled": true
}

List App Endpoint Audit Log Event IDs

Retrieves all audit log event ids, their descriptions and enabled status for an App Endpoint. The list of filterable event IDs can be specified while configuring audit logging for the App Service.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

AppEndpointName
required
string
Example: endpoint1

The name of the app endpoint.

Responses

Response samples

Content type
application/json
{
  • "events": {
    }
}

Update App Endpoint Audit Logging Config

Updates the audit logging configuration for a specific App Endpoint. Operations performed by disabled users and roles are excluded from audit logs. See a list of event IDs by calling /auditLogEvents, add event IDs to the enabledEventIds field to enable audit logging for those events.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

AppEndpointName
required
string
Example: endpoint1

The name of the app endpoint.

Request Body schema: application/json
auditEnabled
boolean

Determines whether audit logging is enabled

Array of objects
Array of objects (DisabledUserRoles)
Array of objects (DisabledUserRoles)

Responses

Request samples

Content type
application/json
{
  • "auditEnabled": true,
  • "enabledEventIds": [
    ],
  • "disabledUsers": [
    ],
  • "disabledRoles": [
    ]
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Get App Endpoint Audit Logging Config

Retrieves the audit logging configuration for a specific App Endpoint.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

AppEndpointName
required
string
Example: endpoint1

The name of the app endpoint.

Responses

Response samples

Content type
application/json
{
  • "auditEnabled": true,
  • "enabledEventIds": [
    ],
  • "disabledUsers": [
    ],
  • "disabledRoles": [
    ]
}

Configure App Service Audit Log Streaming

Sets up audit log streaming for a specific App Service with filters. If streamingEnabled is true log streaming will begin.

Ensure you have provided collector credentials if you wish to begin streaming; log streaming cannot be enabled without credentials. Refer to schema below to see required fields for your log collection provider. Providers include Datadog, Sumo Logic, and generic HTTP.

To start or resume streaming, set streamingEnabled to true while providing the rest of the log collector config.

To disable log streaming and remove the log streaming config including credentials, set streamingEnabled to false and leave the rest of the payload empty.

To pause log streaming, set streamingEnabled to false while providing the rest of the log collector config.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Request Body schema: application/json
streamingEnabled
boolean

Determines whether audit log streaming is enabled or not. To start or resume streaming, set this to true. To disable or pause log streaming, set this to false.

disabledAppEndpoints
Array of strings

List of App Endpoints to be excluded from audit log streaming.

outputType
string

The type of output for the audit log streaming. Required when starting, resuming or pausing log streaming.

datadog (object) or sumoLogic (object) or httpCredentials (object)

Secrets for audit log streaming configuration. Required when starting, resuming or pausing log streaming.

Responses

Request samples

Content type
application/json
{
  • "streamingEnabled": true,
  • "disabledAppEndpoints": [
    ],
  • "outputType": "datadog",
  • "credentials": {
    }
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Start or Resume Audit Log Streaming

To start or resume streaming, set streamingEnabled to true. To pause log streaming, set streamingEnabled to false.

If log streaming is paused we will retain the collector credentials. To clear these use the PUT request.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Request Body schema: application/json
op
required
string
Value: "update"

Type of operation.

path
required
string

Path of resource that needs to be updated.

value
required
boolean

Determines whether audit log streaming is enabled or not.

Responses

Request samples

Content type
application/json
{
  • "op": "update",
  • "path": "/streamingEnabled",
  • "value": true
}

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Get App Service Audit Log Streaming State

Retrieves the current state of audit log streaming for a specific App Service, as well as the output type and enabled App endpoints.

The audit log streaming states are:

  • disabled
  • disabling
  • enabled
  • enabling
  • paused
  • pausing
  • errored

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Responses

Response samples

Content type
application/json
{
  • "streamingEnabled": true,
  • "logStreamingState": "enabling",
  • "disabledAppEndpoints": [
    ],
  • "outputType": "datadog"
}

Initiate Audit Log Export

Initiates an audit log export for a specific App Service.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

Request Body schema: application/json
start
required
string <date-time>

Specifies the audit log's start date and time.

end
required
string <date-time>

Specifies the audit log's end date and time.

Responses

Request samples

Content type
application/json
{
  • "start": "2022-09-04T00:56:07.000Z",
  • "end": "2022-09-05T04:56:07.000Z"
}

Response samples

Content type
application/json
{
  • "exportId": "ffffffff-aaaa-1414-eeee-000000000000"
}

List Audit Log Export Jobs

Retrieves a list of all audit log export jobs for an App Service.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{}

Get Audit Log Export Job

Retrieves details of a specific audit log export job for a given App Service.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

appServiceId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the appService.

auditLogExportId
required
string
Example: ffffffff-aaaa-1414-eeee-000000000000

The export ID of the audit log export job.

Responses

Response samples

Content type
application/json
{}

Network Peers

Network Peering enables you to configure a secure private network connection between the Virtual Private Cloud (VPC) hosting your applications and the VPC of your Couchbase Capella database. You can set a network peering connection from a Couchbase Capella database hosted with Amazon Web Services (AWS), Google Cloud (GCP) or Azure.

Create Network Peering

Creates a network peering record for Capella. Capella does not support peering of networks between different cloud providers. For example, you cannot peer GCP VPC that hosts Capella cluster with an AWS VPC hosting an application.

  • Create configures a Couchbase Capella private networking with the cloud provider. Setting up a private network enables your application to interact with Couchbase Capella over a private connection by co-locating them through network peering.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
name
required
string

Name of the peering relationship. - The name of the peering relationship must be at least 2 characters long. - The name can not exceed 128 characters.

providerType
required
string

Type of the cloud provider for which the peering connection is created. Which are- 1. aws 2. gcp 3. azure

required
AWSConfigData (object) or GCPConfigData (object) or AzureConfigData (object)

The config data for a peering relationship for a cluster on AWS, GCP, or Azure.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "VPCPeerTestAWS",
  • "providerType": "aws",
  • "providerConfig": {
    }
}

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000"
}

List Network Peering Records

Lists all the network peering records.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Example: sortBy=name

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: id, name, status.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

Responses

Response samples

Content type
application/json
{}

Get Network Peering record

Fetches the details of the network peering meta data based on the peerID provided.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

peerId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The ID of the network peer record.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000000",
  • "name": "VPCPeerTest",
  • "status": {
    },
  • "commands": [
    ],
  • "providerConfig": {
    },
  • "audit": {
    }
}

Delete Network Peering

Deletes the network peering relationship.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

peerId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The ID of the network peer record.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 403,
  • "code": 1002,
  • "message": "Access Denied.",
  • "hint": "Your access to the requested resource is denied. Please make sure you have the necessary permissions to access the resource."
}

Get Azure VNET Peering CLI Command

Retrieves the role assignment command or script to be executed in the Azure CLI to assign a new network contributor role. It scopes only to the specified subscription and the virtual network within that subscription.

  • Before using this API, please make sure that the Admin consent granting process has been completed through the Capella UI.

  • This process to grant consent to the VNET peering service principal in the external Azure tenant needs to be done only once for the organization i.e. the first time when the VNET peering is created.

  • Consenting to this permission request creates a service principal that grants Capella access to the Azure tenant to perform VNET peering.

  • To complete the admin consent granting process, the Organization owner should follow the steps below -

    1. Login to the Capella UI.
    2. Deploy an Azure Cluster or open an existing one you want to peer with your application.
    3. Click the Settings tab, in the navigation pane click VNET Peering.
    4. Click Setup VNET Peering.
    5. Confirm that you have a user with the Global Administrator Role.
    6. Add the Azure configuration details to allow peering access.
    7. Click Allow Peering Access - A new browser tab opens. Sign in to Azure if you have not already.
    8. In Azure, accept Capella’s permissions request - The Azure permissions request page is open in the new browser tab and consent to the new permissions request. For more information refer [docs]- https://docs.couchbase.com/cloud/clouds/vpc-peering/peer-azure.html
  • On accepting the new permission, you automatically return to the Capella VNET peering page. The Capella VNET peering page shows a notice indicating that peering access is successful.

  • The Organization Owner should set this up once, then for network peering, use the public API -

    1. Use this Get Azure VNET Peering CLI Command API to fetch the command.
    2. Run the role assignment command in the Azure CLI.
    3. Use the Create VPC Peering API to create the network peering.
  • In order to access this endpoint, the provided API key must have at least one of the following roles:

    • Organization Owner
    • Project Owner
Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
tenantId
required
string

The Azure tenant ID. To find your tenant ID, see How to find your Azure Active Directory tenant ID.

subscriptionId
required
string

Subscription ID is a GUID that uniquely identifies your subscription to use Azure services. To find your subscription ID, see Find your Azure subscription.

resourceGroup
required
string

The resource group name holding the resource you’re connecting with Capella.

vnetId
required
string

The VNet ID is the name of the virtual network in Azure.

vnetPeeringServicePrincipal
required
string

The enterprise application object ID for the Capella service principal. You can find the enterprise application object ID in Azure by selecting Azure Active Directory -> Enterprise applications. Next, select the application name, the object ID is in the Object ID box.

Responses

Request samples

Content type
application/json
{
  • "tenantId": "ffffffff-aaaa-1414-eeee-000000000000",
  • "subscriptionId": "ffffffff-aaaa-1414-eeee-000000000000",
  • "resourceGroup": "sample-resource-group",
  • "vnetId": "sample-vnet",
  • "vnetPeeringServicePrincipal": "ffffffff-aaaa-1414-eeee-000000000000"
}

Response samples

Content type
application/json
{
  • "command": "az role assignment create \\ --assignee-object-id ffffffff-aaaa-1414-eeee-000000000000 \\ --role \"Network Contributor\" \\ --scope /subscriptions/ffffffff-aaaa-1414-eeee-000000000000/resourceGroups/cb-private-net-demo/providers/Microsoft.Network/virtualNetworks/vnet-test \\ --assignee-principal-type ServicePrincipal"
}

Private Endpoint Service

Access your Capella cluster from your cloud provider's private network.

Get Private Endpoint Service Status

Private endpoint service allows you to access your Capella cluster from your private network, using private endpoints.

This endpoint determines if the endpoint service is enabled or disabled on your cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "enabled": true
}

Enable Private Endpoint Service

Enable private endpoint service on your cluster.

Supporting infrastructure is deployed and it may take a few minutes for private endpoints to be available. After it's enabled, you can create private endpoint in your network. You can do this using the cloud provider's CLI. For an example, use the POST privateEndpointService/endpointCommand endpoint to get the command.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Manager
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Disable Private Endpoint Service

Disable private endpoint service on your cluster.

Supporting infrastructure is removed and it may take a few minutes before private endpoints is disabled.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

List Private Endpoints

Returns a list of private endpoints associated with the endpoint service for your Capella cluster, along with the endpoint state. Each private endpoint connects a private network to the Capella cluster.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Creator
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Responses

Response samples

Content type
application/json
{
  • "endpoints": [
    ]
}

Get Private Endpoint CLI Command required to setup private endpoint for specific CSP

Retrieve the command or script to be executed in order to create the private endpoint which will provides a private connection between the specified VPC and the specified Capella private endpoint service. An example for AWS:

aws ec2 create-vpc-endpoint \
  --vpc-id vpc-1234 \
  --region us-east-1 \
  --service-name com.amazonaws.vpce.us-east-1.vpce-svc-1234 \
  --vpc-endpoint-type Interface \
  --subnet-ids subnet-1234

An example for Azure:

az network private-endpoint create \
  --connection-name connection-1 \
  --name private-endpoint \
  --private-connection-resource-id svc-1 \
  --resource-group test-rg \
  --subnet subnet-1 \
  --group-id sites \
  --vnet-name vnet-1

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
One of
vpcID
required
string [ 12 .. 21 ] characters

The ID of your virtual network

subnetIDs
required
Array of strings

Responses

Request samples

Content type
application/json
Example
{
  • "vpcID": "vpc-1234",
  • "subnetIDs": [
    ]
}

Response samples

Content type
application/json
{
  • "command": "aws ec2 create-vpc-endpoint --vpc-id vpc-1234 --region us-east-1 --service-name com.amazonaws.vpce.us-east-1.vpce-svc-1234 --vpc-endpoint-type Interface --subnet-ids subnet-1234"
}

Accept Private Endpoint Request

Accept a new private endpoint connection request so that it is associated with the endpoint service. This means the private endpoint is available for use.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

endpointId
required
string
Example: vpce-1234

The VPC endpoint ID.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Reject or disassociate Private Endpoint

Removes the private endpoint associated with the endpoint service. This means the private endpoint is no longer able to connect to the private endpoint service.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

endpointId
required
string
Example: vpce-1234

The VPC endpoint ID.

Responses

Response samples

Content type
application/json
{
  • "httpStatusCode": 400,
  • "code": 6007,
  • "message": "The request was malformed or invalid.",
  • "hint": "The request was malformed or invalid."
}

Events

Events represent a trail of actions that users performs within Capella at an organization or project level

List Events

Lists all the events information under a organization.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Creator
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader
  • Database Data Reader/Writer

The results are always limited by the role and scope of the caller's privileges. Currently, only the tags filter is multi-valued; all other filters are single-valued.

By default, to is set to the request time, and from is set to 24 hours before the request time. If 'to' is set and 'from' is not set, then 'from' is set to 24 hours before 'to'.

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Items Enum: "timestamp" "severity"
Example: sortBy=timestamp

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: severity, timestamp.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

userIds
Array of strings <uuid> [ items <uuid > ]
Example: userIds=ffffffff-aaaa-1414-eeee-000000000000

Filter by user UUID. Default is to return events corresponding to all users.

clusterIds
Array of strings <uuid> [ items <uuid > ]
Example: clusterIds=ffffffff-aaaa-1414-eeee-000000000000

List of clusterIds to filter on. By default events corresponding to all clusters are returned.

projectIds
Array of strings <uuid> [ items <uuid > ]
Example: projectIds=ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of projects to filter on. By default, events corresponding to all projects are returned

severityLevels
Array of strings
Items Enum: "info" "warning" "critical"

Filter by severity levels. Default is to return events corresponding to all supported severity levels.

tags
Array of strings
Items Enum: "availability" "billing" "maintenance" "performance" "security" "alert"
Example: tags=availability&tags=billing&tags=maintenance&tags=performance&tags=security&tags=alert

Filter by tags. Default is to return events corresponding to all supported tag. Tags are availability, billing, maintenance, performance, security, alert.

from
string <date-time>
Example: from=2024-04-24T12:53:59.000Z

Start date in RFC3339 format. If not provided, events starting from last 24 hours are returned.

to
string <date-time>
Example: to=2024-04-25T12:53:59.000Z

End datetime in the last 24 hours, RFC3339 format. Defaults to Now.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Event

Fetches the details of an event by ID.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Creator
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader
  • Database Data Reader/Writer

The results are always limited by the role and scope of the caller's privileges.

To learn more, see Organization Roles.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

eventId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The event ID of the event.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000001",
  • "source": "System",
  • "key": "cluster_down",
  • "severity": "critical",
  • "timestamp": "2024-04-24T08:30:00Z",
  • "projectId": "ffffffff-aaaa-1414-eeee-000000000003",
  • "projectName": "example-project",
  • "clusterId": "ffffffff-aaaa-1414-eeee-000000000004",
  • "clusterName": "example-cluster",
  • "appServiceId": "ffffffff-aaaa-1414-eeee-000000000006",
  • "appServiceName": "example-appService",
  • "userId": "ffffffff-aaaa-1414-eeee-000000000008",
  • "userName": "John Doe",
  • "userEmail": "john.doe@example.com",
  • "sessionId": "ffffffff-aaaa-1414-eeee-000000000009",
  • "requestId": "ffffffff-aaaa-1414-eeee-000000000010",
  • "kv": {
    },
  • "summary": "Cluster is down due to network outage.",
  • "incidentIds": [
    ],
  • "occurrenceCount": 3,
  • "alertKey": "cluster_down_example"
}

List Events

Lists all the events information under a project.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader
  • Database Data Reader/Writer

The results are always limited by the role and scope of the caller's privileges. Currently, only the tags filter is multi-valued; all other filters are single-valued.

By default, to is set to the request time, and from is set to 24 hours before the request time. If 'to' is set and 'from' is not set, then 'from' is set to 24 hours before 'to'.

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

query Parameters
page
integer

Sets the page you would like to view.

perPage
integer

Sets the number of results you would like to have on each page.

sortBy
Array of strings
Items Enum: "timestamp" "severity"
Example: sortBy=timestamp

Sets the order of how you would like to sort the results and the key you would like to order by. Valid fields to sort the results are: severity, timestamp.

sortDirection
string
Enum: "asc" "desc"
Example: sortDirection=asc

The order in which the items will be sorted.

userIds
Array of strings <uuid> [ items <uuid > ]
Example: userIds=ffffffff-aaaa-1414-eeee-000000000000

Filter by user UUID. Default is to return events corresponding to all users.

clusterIds
Array of strings <uuid> [ items <uuid > ]
Example: clusterIds=ffffffff-aaaa-1414-eeee-000000000000

List of clusterIds to filter on. By default events corresponding to all clusters are returned.

severityLevels
Array of strings
Items Enum: "info" "warning" "critical"

Filter by severity levels. Default is to return events corresponding to all supported severity levels.

tags
Array of strings
Items Enum: "availability" "billing" "maintenance" "performance" "security" "alert"
Example: tags=availability&tags=billing&tags=maintenance&tags=performance&tags=security&tags=alert

Filter by tags. Default is to return events corresponding to all supported tag. Tags are availability, billing, maintenance, performance, security, alert.

from
string <date-time>
Example: from=2024-04-24T12:53:59.000Z

Start date in RFC3339 format. If not provided, events starting from last 24 hours are returned.

to
string <date-time>
Example: to=2024-04-25T12:53:59.000Z

End datetime in the last 24 hours, RFC3339 format. Defaults to Now.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Project Event

Fetches the details of an event by ID within a project.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Project Manager
  • Project Viewer
  • Database Data Reader
  • Database Data Reader/Writer

The results are always limited by the role and scope of the caller's privileges.

To learn more, see Organization Roles.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

eventId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The event ID of the event.

Responses

Response samples

Content type
application/json
{
  • "id": "ffffffff-aaaa-1414-eeee-000000000001",
  • "source": "System",
  • "key": "cluster_down",
  • "severity": "critical",
  • "timestamp": "2024-04-24T08:30:00Z",
  • "projectId": "ffffffff-aaaa-1414-eeee-000000000003",
  • "projectName": "example-project",
  • "clusterId": "ffffffff-aaaa-1414-eeee-000000000004",
  • "clusterName": "example-cluster",
  • "appServiceId": "ffffffff-aaaa-1414-eeee-000000000006",
  • "appServiceName": "example-appService",
  • "userId": "ffffffff-aaaa-1414-eeee-000000000008",
  • "userName": "John Doe",
  • "userEmail": "john.doe@example.com",
  • "sessionId": "ffffffff-aaaa-1414-eeee-000000000009",
  • "requestId": "ffffffff-aaaa-1414-eeee-000000000010",
  • "kv": {
    },
  • "summary": "Cluster is down due to network outage.",
  • "incidentIds": [
    ],
  • "occurrenceCount": 3,
  • "alertKey": "cluster_down_example"
}

Query Indexes

Used to manage primary and secondary indexes on your Capella cluster. You can CREATE/ALTER/DROP/BUILD indexes.

It is recommended to use deferred index builds, especially for larger indexes. When creating indexes in bulk, we do not recommend sending requests to create all of them at once. Instead, we strongly recommend creating indexes in batches of 100 or less.

Manage Query Indexes

CREATE/DROP/ALTER/BUILD primary and secondary indexes.

To learn more about indexes please refer to the documentation.

It is recommended to use deferred index builds, especially for larger indexes. When creating indexes in bulk, we do not recommend sending requests to create all of them at once. Instead, we strongly recommend creating indexes in batches of 100 or less.

To access this endpoint the API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Database Data Reader/Writer

To learn more, see Organization Roles.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

Request Body schema: application/json
definition
required
string

The index DDL statement. This can be a CREATE/DROP/ALTER/BUILD statement.

Multiple delimited queries are not allowed.

It is recommended to use deferred index builds, especially for larger indexes. When creating indexes in bulk, we do not recommend sending requests to create all of them at once. Instead, we strongly recommend creating indexes in batches of 100 or less.

Responses

Request samples

Content type
application/json
Example
{
  • "definition": "create index idx1 on `travel-sample`.inventory.route(airline, destinationairport, sourceairport) partition by hash(airline) where id in [1000,2000,3000]"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get List Of Index Definitions

Get index definitions in a keyspace.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

query Parameters
bucket
required
string
Example: bucket=bucket=travel-sample

Specifies the bucket part of the key space. To learn more about scopes and collections, see Buckets, Scopes, and Collections.

scope
string
Example: scope=scope=inventory

Specifies the scope part of the key space. If unspecified, this will be the default scope. To learn more about scopes and collections, see Buckets, Scopes, and Collections.

collection
string
Example: collection=collection=hotel

Specifies the collection part of the key space. If unspecified, this will be the default collection. To learn more about scopes and collections, see Buckets, Scopes, and Collections.

Responses

Response samples

Content type
application/json
{
  • "definitions": [
    ]
}

Get Index Properties

Get the index properties of a specified index in a keyspace.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

indexName
required
string
Example: def_city

The name of the index.

query Parameters
bucket
required
string
Example: bucket=bucket=travel-sample

Specifies the bucket part of the key space. To learn more about scopes and collections, see Buckets, Scopes, and Collections.

scope
string
Example: scope=scope=inventory

Specifies the scope part of the key space. If unspecified, this will be the default scope. To learn more about scopes and collections, see Buckets, Scopes, and Collections.

collection
string
Example: collection=collection=hotel

Specifies the collection part of the key space. If unspecified, this will be the default collection. To learn more about scopes and collections, see Buckets, Scopes, and Collections.

Responses

Response samples

Content type
application/json
{
  • "defnId": 14488149950011906000,
  • "indexName": "idx10",
  • "bucket": "travel-sample",
  • "scope": "inventory",
  • "collection": "airline",
  • "isPrimary": false,
  • "secExprs": [
    ],
  • "where": "name is valued",
  • "numReplica": 1
}

Get Index Build Status

Monitor the build status of an index.

In order to access this endpoint, the provided API key must have at least one of the following roles:

  • Organization Owner
  • Project Owner
  • Database Data Reader/Writer
  • Database Data Reader

To learn more, see Organization, Project, and Database Access Overview.

Authorizations:
token
path Parameters
organizationId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the organization.

projectId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the project.

clusterId
required
string <uuid>
Example: ffffffff-aaaa-1414-eeee-000000000000

The GUID4 ID of the cluster.

indexName
required
string
Example: def_city

The name of the index.

query Parameters
bucket
required
string
Example: bucket=bucket=travel-sample

Specifies the bucket part of the key space. To learn more about scopes and collections, see Buckets, Scopes, and Collections.

scope
string
Example: scope=scope=inventory

Specifies the scope part of the key space. If unspecified, this will be the default scope. To learn more about scopes and collections, see Buckets, Scopes, and Collections.

collection
string
Example: collection=collection=hotel

Specifies the collection part of the key space. If unspecified, this will be the default collection. To learn more about scopes and collections, see Buckets, Scopes, and Collections.

Responses

Response samples

Content type
application/json
{
  • "status": "Ready"
}