{"openapi":"3.1.0","info":{"title":"Cockroach Cluster Ops (BYOK) API","version":"0.1.0","description":"Cockroach Cluster Ops (BYOK) lets an AI assistant read your own Cockroach Cluster Ops data through the Cockroach Cluster Ops API with a key you supply (service account API key secret). Read-only: 9 tools (get_backup_configuration, list_restores, get_restore, get_maintenance_window, list_blackout_windows, get_version_deferral, list_egress_rules, list_private_endpoint_services,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-cockroach-cluster-ops.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-cockroach-cluster-ops/docs"},"termsOfService":"https://connectorbay.com/byok-cockroach-cluster-ops/terms"},"servers":[{"url":"https://byok-cockroach-cluster-ops.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-cockroach-cluster-ops/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/get_backup_configuration":{"post":{"operationId":"get_backup_configuration","summary":"Get a cluster's managed backup settings: whether backups are on, how often they run in minutes and how many days they ar","description":"Get a cluster's managed backup settings: whether backups are on, how often they run in minutes and how many days they are kept. Use for \"How often is my CockroachDB cluster backed up and for how long are backups kept\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"CockroachDB Cloud cluster id (UUID); get it from the Cockroach Cloud connector's list_clusters.","maxLength":100,"title":"Cluster Id","type":"string"}},"required":["cluster_id"],"title":"get_backup_configurationArguments","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_restores":{"post":{"operationId":"list_restores","summary":"List restore jobs of a cluster with status, type, source and destination cluster, backup used, progress and any error me","description":"List restore jobs of a cluster with status, type, source and destination cluster, backup used, progress and any error message. Can filter by time range. Use for \"Did the last CockroachDB restore finish\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"CockroachDB Cloud cluster id (UUID); get it from the Cockroach Cloud connector's list_clusters.","maxLength":100,"title":"Cluster Id","type":"string"},"start_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only restores started at or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Start Time"},"end_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only restores started before this ISO 8601 time.","title":"End Time"},"sort_order":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"ASC (default) or DESC.","title":"Sort Order"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return per page (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Page token copied from pagination.next_page of the previous answer; leave empty for the first page.","title":"Page"}},"required":["cluster_id"],"title":"list_restoresArguments","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_restore":{"post":{"operationId":"get_restore","summary":"Get one restore job: status, type, clusters involved, backup used, progress and error message. Use for \"What is the stat","description":"Get one restore job: status, type, clusters involved, backup used, progress and error message. Use for \"What is the status of CockroachDB restore r1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"CockroachDB Cloud cluster id (UUID); get it from the Cockroach Cloud connector's list_clusters.","maxLength":100,"title":"Cluster Id","type":"string"},"restore_id":{"description":"Restore job id (UUID), as returned by list_restores.","maxLength":100,"title":"Restore Id","type":"string"}},"required":["cluster_id","restore_id"],"title":"get_restoreArguments","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_maintenance_window":{"post":{"operationId":"get_maintenance_window","summary":"Get a cluster's maintenance window: when it starts (offset from Monday 00:00 UTC) and how long it lasts. Use for \"When i","description":"Get a cluster's maintenance window: when it starts (offset from Monday 00:00 UTC) and how long it lasts. Use for \"When is the CockroachDB maintenance window for my cluster\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"CockroachDB Cloud cluster id (UUID); get it from the Cockroach Cloud connector's list_clusters.","maxLength":100,"title":"Cluster Id","type":"string"}},"required":["cluster_id"],"title":"get_maintenance_windowArguments","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_blackout_windows":{"post":{"operationId":"list_blackout_windows","summary":"List a cluster's blackout windows, during which maintenance is not applied, with start and end time. Use for \"Are there ","description":"List a cluster's blackout windows, during which maintenance is not applied, with start and end time. Use for \"Are there blackout windows scheduled for my CockroachDB cluster\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"CockroachDB Cloud cluster id (UUID); get it from the Cockroach Cloud connector's list_clusters.","maxLength":100,"title":"Cluster Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return per page (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Page token copied from pagination.next_page of the previous answer; leave empty for the first page.","title":"Page"}},"required":["cluster_id"],"title":"list_blackout_windowsArguments","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_version_deferral":{"post":{"operationId":"get_version_deferral","summary":"Get a cluster's version upgrade deferral policy (not deferred, 30, 60 or 90 days, or fixed) and the date until which upg","description":"Get a cluster's version upgrade deferral policy (not deferred, 30, 60 or 90 days, or fixed) and the date until which upgrades are deferred. Use for \"Is my CockroachDB cluster deferring major version upgrades\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"CockroachDB Cloud cluster id (UUID); get it from the Cockroach Cloud connector's list_clusters.","maxLength":100,"title":"Cluster Id","type":"string"}},"required":["cluster_id"],"title":"get_version_deferralArguments","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_egress_rules":{"post":{"operationId":"list_egress_rules","summary":"List a cluster's outbound traffic (egress) rules with name, destination, type (FQDN or CIDR), allowed ports and state. U","description":"List a cluster's outbound traffic (egress) rules with name, destination, type (FQDN or CIDR), allowed ports and state. Use for \"Which outbound destinations may my CockroachDB cluster reach\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"CockroachDB Cloud cluster id (UUID); get it from the Cockroach Cloud connector's list_clusters.","maxLength":100,"title":"Cluster Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return per page (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Page token copied from pagination.next_page of the previous answer; leave empty for the first page.","title":"Page"}},"required":["cluster_id"],"title":"list_egress_rulesArguments","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_private_endpoint_services":{"post":{"operationId":"list_private_endpoint_services","summary":"List the private endpoint services of a cluster (for example AWS PrivateLink) with cloud provider, region, status and se","description":"List the private endpoint services of a cluster (for example AWS PrivateLink) with cloud provider, region, status and service name. Use for \"Does my CockroachDB cluster expose a private endpoint service\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"CockroachDB Cloud cluster id (UUID); get it from the Cockroach Cloud connector's list_clusters.","maxLength":100,"title":"Cluster Id","type":"string"}},"required":["cluster_id"],"title":"list_private_endpoint_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_major_versions":{"post":{"operationId":"list_major_versions","summary":"List the CockroachDB major versions available on CockroachDB Cloud with release type, support status, support end date a","description":"List the CockroachDB major versions available on CockroachDB Cloud with release type, support status, support end date and allowed upgrade targets. Use for \"Which CockroachDB major versions does Cloud support and when does support end\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return per page (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Page token copied from pagination.next_page of the previous answer; leave empty for the first page.","title":"Page"}},"title":"list_major_versionsArguments","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}}}}