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
Couchbase Capella Management API uses a Bearer token mechanism for authentication; each call to the Management API has to be authenticated by 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.
organizationId required | string <uuid> Example: ffffffff-aaaa-1414-eeee-000000000000 The GUID4 ID of the organization. |
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. |
{- "name": "Organization Owner API Key",
- "description": "Creates an API key with a Organization Owner role.",
- "expiry": 720,
- "allowedCIDRs": [
- "8.8.8.8/32"
], - "organizationRoles": [
- "organizationOwner"
], - "resources": [ ]
}
{- "id": "IS9DrRsw4KWFS72Zhbj4xmhllHvPcdCL",
- "token": "QktxVUtFU1dKV1FlMmxwbzJBYXdnTVlRemFZdlRDZTg6eFh4dzU4JUYjekJVYWZPY3lqdUwwYkJoTjZSTmlzRWFIRHF0b1h4a08yazBpQjJ1bms1OW4yTUhAenRib3IhVQ=="
}
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.
organizationId required | string <uuid> Example: ffffffff-aaaa-1414-eeee-000000000000 The GUID4 ID of the organization. |
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. |
{- "data": [
- {
- "id": "IS9DrRsw4KWFS72Zhbj4xmhllHvPcdCL",
- "name": "Production",
- "description": "API key to manage production Capella Cluster.",
- "expiry": 180,
- "allowedCIDRs": [
- "0.0.0.0/0"
], - "organizationRoles": [
- "organizationMember"
], - "resources": [ ],
- "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}
}
], - "cursor": {
- "pages": {
- "page": 2,
- "next": 3,
- "previous": 1,
- "last": 10,
- "perPage": 10,
- "totalItems": 10
}, - "hrefs": {
}
}
}
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.
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. |
{- "id": "IS9DrRsw4KWFS72Zhbj4xmhllHvPcdCL",
- "name": "Organization Owner API Key",
- "description": "Creates an API key with an Organization Owner role.",
- "expiry": 720,
- "allowedCIDRs": [
- "8.8.8.8/32"
], - "organizationRoles": [
- "organizationOwner"
], - "resources": [ ],
- "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}
}
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.
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. |
{- "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 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.
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. |
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. |
{- "secret": "GaC4FQLCoUqoKUMBvl6BgRK1Ivqu5yF8OkDBhnP%#CH%S4T@bTVUdP#rY#VSicbx"
}
{- "secretKey": "GaC4FQLCoUqoKUMBvl6BgRK1Ivqu5yF8OkDBhnP%#CH%S4T@bTVUdP#rY#VSicbx"
}
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.
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:
To learn more, see Organization, Project, and Database Access Overview.
organizationId required | string <uuid> Example: ffffffff-aaaa-1414-eeee-000000000000 The GUID4 ID of the organization. |
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). |
{- "name": "My Project",
- "description": "My awesome project"
}
{- "id": "ffffffff-aaaa-1414-eeee-000000000000"
}
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:
To learn more, see Organization, Project, and Database Access Overview.
organizationId required | string <uuid> Example: ffffffff-aaaa-1414-eeee-000000000000 The GUID4 ID of the organization. |
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. |
{- "data": [
- {
- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "description": "The description of my awesome project",
- "name": "My-Awesome-Project",
- "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}
}
], - "cursor": {
- "pages": {
- "page": 2,
- "next": 3,
- "previous": 1,
- "last": 10,
- "perPage": 10,
- "totalItems": 10
}, - "hrefs": {
}
}
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "description": "The description of my awesome project",
- "name": "My-Awesome-Project",
- "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
If-Match | string Example: 12 A precondition header that specifies the entity tag of a resource. |
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). |
{- "name": "My-New-Project",
- "description": "The extended description of my awesome project."
}
{- "httpStatusCode": 400,
- "code": 6007,
- "message": "The request was malformed or invalid.",
- "hint": "The request was malformed or invalid."
}
Deletes an existing project.
In order to access this endpoint, the provided API key must have at least one of the following roles:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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."
}
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.
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
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"
|
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. |
{- "name": "Test-Cluster-1",
- "description": "My first test AWS cluster for multiple services.",
- "cloudProvider": {
- "type": "aws",
- "region": "us-east-1",
- "cidr": "10.1.30.0/23"
}, - "couchbaseServer": {
- "version": "7.2"
}, - "serviceGroups": [
- {
- "node": {
- "compute": {
- "cpu": 4,
- "ram": 16
}, - "disk": {
- "storage": 50,
- "type": "gp3",
- "iops": 3000
}
}, - "numOfNodes": 3,
- "services": [
- "data",
- "query",
- "index",
- "search"
]
}, - {
- "node": {
- "compute": {
- "cpu": 4,
- "ram": 32
}, - "disk": {
- "storage": 50,
- "type": "io2",
- "iops": 3005
}
}, - "numOfNodes": 2,
- "services": [
- "analytics"
]
}
], - "availability": {
- "type": "multi"
}, - "support": {
- "plan": "developer pro",
- "timezone": "PT"
}
}
{- "id": "ffffffff-aaaa-1414-eeee-000000000000"
}
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:
Returned set of clusters is reduced to what the caller has access to view. To learn more, see Organization, Project, and Database Access Overview.
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. |
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. |
{- "data": [
- {
- "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": {
- "type": "aws",
- "region": "us-east-1",
- "cidr": "10.1.30.0/23"
}, - "couchbaseServer": {
- "version": "7.1"
}, - "serviceGroups": [
- {
- "node": {
- "compute": {
- "cpu": 4,
- "ram": 16
}, - "disk": {
- "type": "gp3",
- "storage": 50,
- "iops": 3000
}
}, - "numOfNodes": 3,
- "services": [
- "data"
]
}
], - "availability": {
- "type": "single"
}, - "support": {
- "plan": "basic",
- "timezone": "ET"
}, - "currentState": "deploying",
- "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}, - "cmekId": "ffffffff-aaaa-1414-eeee-000000000000",
- "enablePrivateDNSResolution": true
}
], - "cursor": {
- "pages": {
- "page": 2,
- "next": 3,
- "previous": 1,
- "last": 10,
- "perPage": 10,
- "totalItems": 10
}, - "hrefs": {
}
}
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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": {
- "type": "aws",
- "region": "us-east-1",
- "cidr": "10.1.30.0/23"
}, - "couchbaseServer": {
- "version": "7.1"
}, - "serviceGroups": [
- {
- "node": {
- "compute": {
- "cpu": 4,
- "ram": 16
}, - "disk": {
- "type": "gp3",
- "storage": 50,
- "iops": 3000
}
}, - "numOfNodes": 3,
- "services": [
- "data"
]
}
], - "availability": {
- "type": "single"
}, - "support": {
- "plan": "basic",
- "timezone": "ET"
}, - "currentState": "deploying",
- "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}, - "cmekId": "ffffffff-aaaa-1414-eeee-000000000000",
- "enablePrivateDNSResolution": true
}
Updates an existing cluster.
In order to access this endpoint, the provided API key must have at least one of the following roles:
To learn more, see Organization, Project, and Database Access Overview.
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. |
If-Match | string Example: 12 A precondition header that specifies the entity tag of a resource. |
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) |
{- "name": "My-New-Cluster",
- "description": "The extended description of my new cluster.",
- "support": {
- "plan": "basic",
- "timezone": "ET"
}, - "serviceGroups": [
- {
- "node": {
- "compute": {
- "cpu": 4,
- "ram": 16
}, - "disk": {
- "type": "gp3",
- "storage": 50,
- "iops": 3000
}
}, - "numOfNodes": 3,
- "services": [
- "data"
]
}
]
}
{- "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."
}
Deletes an existing cluster.
In order to access this endpoint, the provided API key must have at least one of the following roles:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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 cluster on.
In order to access this endpoint, the provided API key must have at least one of the roles referenced below:
To learn more, see Organization, Project, and Database Access Overview.
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. |
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. |
{- "turnOnLinkedAppService": true
}
{- "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 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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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."
}
Updates the storage backend of an existing bucket from Couchstore to Magma.
The following should be noted while doing this operation -
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.
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.
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
buckets required | Array of strings <= 30 items Names of the buckets which need to be migrated from Couchstore to Magma. |
{- "buckets": [
- "sample-bucket",
- "my-bucket"
]
}
{- "httpStatusCode": 400,
- "code": 6007,
- "message": "The request was malformed or invalid.",
- "hint": "The request was malformed or invalid."
}
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.
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:
To learn more, see Organization Roles.
organizationId required | string <uuid> Example: ffffffff-aaaa-1414-eeee-000000000000 The GUID4 ID of the organization. |
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: [] |
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": [
- "organizationMember"
], - "resources": [
- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "type": "project",
- "roles": [
- "projectViewer"
]
}, - {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "type": "project",
- "roles": [
- "projectDataReaderWriter"
]
}
]
}
{- "id": "ffffffff-aaaa-1414-eeee-000000000000"
}
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:
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.
organizationId required | string <uuid> Example: ffffffff-aaaa-1414-eeee-000000000000 The GUID4 ID of the organization. |
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. |
In the event that the API key holds "organizationOwner" access, information related to all projects within the organization will be returned.
{- "data": [
- {
- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "name": "John",
- "email": "john.doe@example.com",
- "status": "verified",
- "inactive": false,
- "organizationId": "ffffffff-aaaa-1414-eeee-000000000000",
- "organizationRoles": [
- "organizationMember"
], - "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": [
- {
- "id": "f98e6c87-41e3-4faa-9df4-906e8d4f1aaf",
- "type": "project",
- "roles": [
- "projectViewer"
]
}, - {
- "id": "b7c745ac-9fb8-4b63-a0e4-51230097a169",
- "type": "project",
- "roles": [
- "projectDataReaderWriter"
]
}, - {
- "id": "28b67422-63d5-46b1-9234-8ad4a1d2f7be",
- "type": "project",
- "roles": [
- "projectDataReaderWriter"
]
}, - {
- "id": "e3942eaa-0f52-43da-963d-87a5b6cb3805",
- "type": "project",
- "roles": [
- "projectDataReaderWriter"
]
}
], - "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56.000Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56.000Z",
- "version": 1
}
}
], - "cursor": {
- "pages": {
- "page": 2,
- "next": 3,
- "previous": 1,
- "last": 10,
- "perPage": 10,
- "totalItems": 10
}, - "hrefs": {
}
}
}
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:
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.
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. |
{- "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": [
- "projectCreator"
], - "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": [
- {
- "type": "project",
- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "roles": [
- "projectManager"
]
}
], - "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}
}
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:
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.
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. |
op required | string Enum: "add" "remove" Type of operation. |
path required | string Path of resource that needs to be updated. Organization Roles: Resources: Resource Roles: |
Array of OrganizationRoles (strings) or Array of ProjectRoles (strings) or Resource (object) |
[- {
- "op": "add",
- "path": "/organizationRoles",
- "value": [
- "projectCreator"
]
}
]
{- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "name": "Jane",
- "email": "jane.doe@example.com",
- "status": "verified",
- "inactive": false,
- "organizationId": "ffffffff-aaaa-1414-eeee-000000000000",
- "organizationRoles": [
- "organizationMember",
- "projectCreator"
], - "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": [
- {
- "id": "b7c745ac-9fb8-4b63-a0e4-51230097a169",
- "type": "project",
- "roles": [
- "projectViewer"
]
}, - {
- "id": "28b67422-63d5-46b1-9234-8ad4a1d2f7be",
- "type": "project",
- "roles": [
- "projectDataReaderWriter"
]
}
], - "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56.000Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56.000Z",
- "version": 2
}
}
Removes user from the organization.
In order to access this endpoint, the provided API key must have the following role:
To learn more about the roles, see Organization Roles.
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. |
{- "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."
}
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.
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:
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.
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. |
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. |
{- "cidr": "6.60.28.100/32",
- "comment": "Allows access from my local developer machine",
- "expiresAt": "2023-05-14T21:49:58.465Z"
}
{- "id": "ffffffff-aaaa-1414-eeee-000000000000"
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
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. |
{- "data": [
- {
- "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": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}
}
], - "cursor": {
- "pages": {
- "page": 2,
- "next": 3,
- "previous": 1,
- "last": 10,
- "perPage": 10,
- "totalItems": 10
}, - "hrefs": {
}
}
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}
}
Deletes the existing allowed CIDR.
In order to access this endpoint, the provided API key must have at least one of the following roles:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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 provide programmatic and application-level access to data on a database. Only database credentials can access data.
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
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. |
{- "cursor": {
- "pages": {
- "page": 2,
- "next": 3,
- "previous": 1,
- "last": 10,
- "perPage": 10,
- "totalItems": 10
}, - "hrefs": {
}
}, - "data": [
- {
- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "name": "ReadInventory",
- "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}, - "access": [
- {
- "privileges": [
- "data_reader",
- "data_writer"
], - "resources": {
- "buckets": [
- {
- "name": "travel-sample",
- "scopes": [
- {
- "name": "inventory"
}
]
}
]
}
}
]
}
]
}
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:
Valid fields to sort the results are: "id", "name".
To learn more, see Organization, Project, and Database Access Overview.
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. |
name required | string [ 2 .. 128 ] characters Username for the database credential. The name should adhere to the following rules:
|
password | string >= 8 characters A password associated with the database credential. If this field is left empty, a password will be auto-generated.
|
required | Array of objects (Access) Describes the access information of the database credential. |
{- "name": "ReadWriteOnSpecificCollections",
- "access": [
- {
- "privileges": [
- "data_reader",
- "data_writer"
], - "resources": {
- "buckets": [
- {
- "name": "travel-sample",
- "scopes": [
- {
- "name": "inventory",
- "collections": [
- "airport",
- "airline"
]
}
]
}
]
}
}
]
}
{- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "password": "P@ssw0rd!"
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "name": "ReadInventory",
- "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}, - "access": [
- {
- "privileges": [
- "data_reader",
- "data_writer",
- "read",
- "write"
], - "resources": {
- "buckets": [
- {
- "name": "travel-sample",
- "scopes": [
- {
- "name": "inventory",
- "collections": [
- "airlines",
- "airport",
- "tickets"
]
}
]
}
]
}
}
]
}
Updates an existing database credential.
In order to access this endpoint, the provided API key must have at least one of the following roles:
To learn more, see Organization, Project, and Database Access Overview.
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. |
If-Match | string Example: 12 A precondition header that specifies the entity tag of a resource. |
Array of objects (Access) Describes the access information of the database credential. | |
password | string The updated password of the database credential. |
{- "access": [
- {
- "privileges": [
- "data_reader",
- "data_writer"
], - "resources": {
- "buckets": [
- {
- "name": "travel-sample",
- "scopes": [
- {
- "name": "inventory",
- "collections": [
- "airport",
- "airline",
- "tickets"
]
}
]
}
]
}
}
]
}
{- "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."
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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."
}
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.
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
name required | string <= 100 characters Name of the bucket. This field cannot be changed later. The name should adhere to the following rules:
|
type | string (Type) Default: "couchbase" Enum: "couchbase" "ephemeral" Type of the bucket.
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.
|
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.
|
bucketConflictResolution | string (BucketConflictResolution) Default: "seqno" Enum: "seqno" "lww" The means by which conflicts are resolved during replication.
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.
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.
|
priority | integer (BucketPriority) Default: 0 Priority of the bucket.
|
{- "name": "CBExample1",
- "type": "couchbase",
- "storageBackend": "couchstore",
- "memoryAllocationInMb": 105,
- "bucketConflictResolution": "seqno",
- "durabilityLevel": "majorityAndPersistActive",
- "replicas": 2,
- "flush": true,
- "timeToLiveInSeconds": 100
}
{- "id": "dGVzdA"
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "data": [
- {
- "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": {
- "itemCount": 10,
- "opsPerSecond": 0,
- "diskUsedInMib": 17,
- "memoryUsedInMib": 50
}, - "priority": 0
}
]
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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": {
- "itemCount": 10,
- "opsPerSecond": 0,
- "diskUsedInMib": 17,
- "memoryUsedInMib": 50
}, - "priority": 0
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
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.
|
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.
|
replicas required | |
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. |
priority | integer (BucketPriority) Default: 0 Priority of the bucket.
|
{- "memoryAllocationInMb": 100,
- "durabilityLevel": "none",
- "replicas": 1,
- "flush": true,
- "timeToLiveInSeconds": 100,
- "priority": 0
}
{- "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."
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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."
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
name required | string The name of the scope. The name should adhere to the following rules:
Note that scope and collection names are case-sensitive. |
{- "name": "my-scope"
}
{- "httpStatusCode": 400,
- "code": 6007,
- "message": "The request was malformed or invalid.",
- "hint": "The request was malformed or invalid."
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "scopes": [
- {
- "name": "inventory",
- "collections": [
- {
- "name": "airport",
- "maxTTL": 0
}
]
}
]
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "name": "inventory",
- "collections": [
- {
- "name": "airport",
- "maxTTL": 0
}
]
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "httpStatusCode": 400,
- "code": 6007,
- "message": "The request was malformed or invalid.",
- "hint": "The request was malformed or invalid."
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
name required | string The name of the collection. The name should adhere to the following rules:
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. |
{- "name": "my-collection",
- "maxTTL": 100
}
{- "httpStatusCode": 400,
- "code": 6007,
- "message": "The request was malformed or invalid.",
- "hint": "The request was malformed or invalid."
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "data": [
- {
- "name": "airport",
- "maxTTL": 0
}
]
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "name": "airport",
- "maxTTL": 0
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
maxTTL required | integer Specify the new time to live (TTL) value in seconds.
|
{- "maxTTL": 100
}
{- "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."
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "httpStatusCode": 400,
- "code": 6007,
- "message": "The request was malformed or invalid.",
- "hint": "The request was malformed or invalid."
}
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.
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:
To learn more, see Organization Roles.
organizationId required | string <uuid> Example: ffffffff-aaaa-1414-eeee-000000000000 The GUID4 ID of the organization. |
{- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "name": "My-Organization",
- "subdomain": "abc",
- "description": "The description of the organization.",
- "preferences": {
- "sessionDuration": 3600
}, - "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}
}
Updates an existing organization configuration. Use this endpoint to add, update, and delete network subdomains.
Subdomains:
In order to access this endpoint, the provided API key must have the following role:
Subdomains are not automatically available. You must contact Couchbase support to enable this feature.
To learn more, see Organization, Project, and Database Access Overview.
organizationId required | string <uuid> Example: ffffffff-aaaa-1414-eeee-000000000000 The GUID4 ID of the organization. |
If-Match | string Example: 12 A precondition header that specifies the entity tag of a resource. |
subdomain required | string <= 30 characters The new name of the subdomain for the organization. |
{- "subdomain": "abc"
}
{- "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."
}
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:
To learn more, see Organization Roles.
{- "data": [
- {
- "id": "ffffffff-aaaa-1414-eeee-000000000000",
- "name": "My-Organization",
- "subdomain": "abc",
- "description": "The description of the organization.",
- "preferences": {
- "sessionDuration": 3600
}, - "audit": {
- "createdBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "createdAt": "2021-09-01T12:34:56Z",
- "modifiedBy": "ffffffff-aaaa-1414-eeee-000000000000",
- "modifiedAt": "2021-09-01T12:34:56Z",
- "version": 1
}
}
]
}
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.
In order to access this endpoint, the provided API key must have at least one of the following roles:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "certificate": "-----BEGIN CERTIFICATE-----\nMIIDFTCCAf2gAwIBAgI[...]CSYBWaK0ofivA==\n-----END CERTIFICATE-----\n"
}
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.
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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."
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "data": [
- {
- "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": {
- "sizeInMb": 0.1,
- "items": 150,
- "mutations": 150,
- "tombstones": 4,
- "gsi": 46,
- "fts": 30,
- "cbas": 30,
- "event": 25
}, - "elapsedTimeInSeconds": 30,
- "scheduleInfo": {
- "backupType": "Weekly",
- "backupTime": "2023-07-13 20:26:54.990864215 +0000 UTC",
- "increment": 4,
- "retention": "90days"
}, - "bucketDownloadsCount": 2
}
]
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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": {
- "sizeInMb": 0.1,
- "items": 150,
- "mutations": 150,
- "tombstones": 4,
- "gsi": 46,
- "fts": 30,
- "cbas": 30,
- "event": 25
}, - "elapsedTimeInSeconds": 30,
- "scheduleInfo": {
- "backupType": "Weekly",
- "backupTime": "2023-07-13 20:26:54.990864215 +0000 UTC",
- "increment": 4,
- "retention": "90days"
}
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
{- "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."
}
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:
To learn more, see Organization, Project, and Database Access Overview.
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. |
targetClusterID required |