{"openapi":"3.1.0","info":{"title":"Couchbase Capella (BYOK) API","version":"0.1.0","description":"Couchbase Capella (BYOK) lets an AI assistant read your own Couchbase Capella data through the Couchbase Capella API with a key you supply (Capella API key (bearer token)). Read-only: 11 tools (list_organizations, get_organization, list_projects, list_clusters, get_cluster, get_cluster_capacity, list_buckets, list_backups, list_app_services, list_allowed_cidrs, list_events). The BYOK key travels...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-couchbase-capella.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-couchbase-capella/docs"},"termsOfService":"https://connectorbay.com/byok-couchbase-capella/terms"},"servers":[{"url":"https://byok-couchbase-capella.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-couchbase-capella/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_organizations":{"post":{"operationId":"list_organizations","summary":"List the Capella organizations the API key can see, with name, subdomain and description. Use for \"Which Couchbase Capel","description":"List the Capella organizations the API key can see, with name, subdomain and description. Use for \"Which Couchbase Capella organizations can my key access\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_organizationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_organization":{"post":{"operationId":"get_organization","summary":"Get one Capella organization with its name, subdomain, description and session duration preference. Use for \"Show my Cou","description":"Get one Capella organization with its name, subdomain, description and session duration preference. Use for \"Show my Couchbase Capella organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"}},"required":["organization_id"],"title":"get_organizationArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_projects":{"post":{"operationId":"list_projects","summary":"List the projects of a Capella organization with name, description and creation date. Use for \"What projects exist in my","description":"List the projects of a Capella organization with name, description and creation date. Use for \"What projects exist in my Capella organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results per page (1 to 100, default 10).","title":"Per Page"}},"required":["organization_id"],"title":"list_projectsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_clusters":{"post":{"operationId":"list_clusters","summary":"List the Capella clusters of a project with cloud provider, region, Couchbase Server version, node groups, state and sup","description":"List the Capella clusters of a project with cloud provider, region, Couchbase Server version, node groups, state and support plan. Use for \"What Couchbase clusters do I have in this project and what state are they in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"project_id":{"description":"Capella project ID (UUID); list_projects returns it.","maxLength":200,"title":"Project Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results per page (1 to 100, default 10).","title":"Per Page"}},"required":["organization_id","project_id"],"title":"list_clustersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_cluster":{"post":{"operationId":"get_cluster","summary":"Get one Capella cluster: state, connection string, cloud and region, server version, service groups with node sizes and ","description":"Get one Capella cluster: state, connection string, cloud and region, server version, service groups with node sizes and support plan. Use for \"Give me the details and connection string of this Capella cluster\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"project_id":{"description":"Capella project ID (UUID); list_projects returns it.","maxLength":200,"title":"Project Id","type":"string"},"cluster_id":{"description":"Capella cluster ID (UUID); list_clusters returns it.","maxLength":200,"title":"Cluster Id","type":"string"}},"required":["organization_id","project_id","cluster_id"],"title":"get_clusterArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_cluster_capacity":{"post":{"operationId":"get_cluster_capacity","summary":"Get the free and total memory (MB) and the maximum replica count of a Capella cluster. Use for \"How much memory is free ","description":"Get the free and total memory (MB) and the maximum replica count of a Capella cluster. Use for \"How much memory is free on my Capella cluster\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"project_id":{"description":"Capella project ID (UUID); list_projects returns it.","maxLength":200,"title":"Project Id","type":"string"},"cluster_id":{"description":"Capella cluster ID (UUID); list_clusters returns it.","maxLength":200,"title":"Cluster Id","type":"string"}},"required":["organization_id","project_id","cluster_id"],"title":"get_cluster_capacityArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_buckets":{"post":{"operationId":"list_buckets","summary":"List the buckets of a Capella cluster with type, memory quota, replicas, eviction policy, TTL and live stats (items, ops","description":"List the buckets of a Capella cluster with type, memory quota, replicas, eviction policy, TTL and live stats (items, ops per second, disk and memory use). Use for \"What buckets are on my Capella cluster and how big are they\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"project_id":{"description":"Capella project ID (UUID); list_projects returns it.","maxLength":200,"title":"Project Id","type":"string"},"cluster_id":{"description":"Capella cluster ID (UUID); list_clusters returns it.","maxLength":200,"title":"Cluster Id","type":"string"}},"required":["organization_id","project_id","cluster_id"],"title":"list_bucketsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_backups":{"post":{"operationId":"list_backups","summary":"List the backups of a Capella cluster with bucket, status, method, source, date and size. Use for \"When was my Capella c","description":"List the backups of a Capella cluster with bucket, status, method, source, date and size. Use for \"When was my Capella cluster last backed up\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"project_id":{"description":"Capella project ID (UUID); list_projects returns it.","maxLength":200,"title":"Project Id","type":"string"},"cluster_id":{"description":"Capella cluster ID (UUID); list_clusters returns it.","maxLength":200,"title":"Cluster Id","type":"string"}},"required":["organization_id","project_id","cluster_id"],"title":"list_backupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_app_services":{"post":{"operationId":"list_app_services","summary":"List the App Services (Sync Gateway) of an organization, optionally for one project, with cluster, plan, node count, com","description":"List the App Services (Sync Gateway) of an organization, optionally for one project, with cluster, plan, node count, compute size and state. Use for \"Which Capella App Services do I run and are they healthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"project_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only App Services in this project (UUID).","title":"Project Id"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results per page (1 to 100, default 10).","title":"Per Page"}},"required":["organization_id"],"title":"list_app_servicesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_allowed_cidrs":{"post":{"operationId":"list_allowed_cidrs","summary":"List the IP ranges allowed to reach a Capella cluster, with comment, type, status and expiry. Use for \"Which IP addresse","description":"List the IP ranges allowed to reach a Capella cluster, with comment, type, status and expiry. Use for \"Which IP addresses are allowed to connect to my Capella cluster\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"project_id":{"description":"Capella project ID (UUID); list_projects returns it.","maxLength":200,"title":"Project Id","type":"string"},"cluster_id":{"description":"Capella cluster ID (UUID); list_clusters returns it.","maxLength":200,"title":"Cluster Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results per page (1 to 100, default 10).","title":"Per Page"}},"required":["organization_id","project_id","cluster_id"],"title":"list_allowed_cidrsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_events":{"post":{"operationId":"list_events","summary":"List organization events (cluster and bucket changes, alerts) from the last 24 hours or a given RFC 3339 range, with sev","description":"List organization events (cluster and bucket changes, alerts) from the last 24 hours or a given RFC 3339 range, with severity, summary and the cluster they concern. Use for \"What happened in my Capella organization in the last day\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Capella organization ID (UUID); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"from_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the range, RFC 3339, for example 2026-10-15T00:00:00Z. Default: the last 24 hours.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the range, RFC 3339. Default: now.","title":"To Time"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results per page (1 to 100, default 10).","title":"Per Page"}},"required":["organization_id"],"title":"list_eventsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}