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

apikeys

Couchbase Capella Public API uses a Bearer token mechanism for authentication; each call to the Public 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
required
string (ConfigurationType)
Enum: "singleNode" "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)

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": "singleNode",
  • "connectionString": "couchbases://cb.irxmynm6vekhe5.aws-cb.couchbase.com",
  • "cloudProvider": {
    },
  • "couchbaseServer": {
    },
  • "serviceGroups": [
    ],
  • "availability": {
    },
  • "support": {
    },
  • "currentState": "deploying",
  • "audit": {
    }
}

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."
}

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

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."
}

allowedCIDRs(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."
}

databaseCredentials

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 be according 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 be according to the following rules:

    1. Password should have at least 8 or more 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. Forbidden special characters for the password are: < > ; . * & | £

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

A bucket is the fundamental space for storing data in Couchbase Capella. Each bucket contains a hierarchy of scopes and collections to group keys and values logically.

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 be according 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
Default: false

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.

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.

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,
  • "timeToLiveInSeconds": 100,
  • "evictionPolicy": "fullEviction",
  • "stats": {
    }
}

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
required
boolean

The new value of flush. This 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.

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.

Responses

Request samples

Content type
application/json
{
  • "memoryAllocationInMb": 100,
  • "durabilityLevel": "none",
  • "replicas": 1,
  • "flush": true,
  • "timeToLiveInSeconds": 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 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."
}

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",
  • "description": "The description of the organization.",
  • "preferences": {
    },
  • "audit": {
    }
}

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

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

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": [
    ]
}

appServices

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.

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
{}

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"
}

Get AppService

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": {
    }
}

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."
}

Update AppService specs.

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."
}