CockroachDB was designed to create the source-available database we would want to use: one that is both scalable and consistent. Developers often have questions about how we’ve achieved this, and this guide sets out to detail the inner workings of as a means of explanation.However, you definitely do not need to understand the underlying architecture to use CockroachDB. These pages give serious users and database enthusiasts a high-level framework to explain what’s happening under the hood.
If these docs interest you, consider taking the free Intro to Distributed SQL course on Cockroach University.
This guide is broken out into pages detailing each layer of CockroachDB. We recommended reading through the layers sequentially, starting with this overview and then proceeding to the .If you’re looking for a high-level understanding of CockroachDB, you can read the Overview section of each layer. For more technical detail — for example, if you’re interested in contributing to the project — you should read the Components sections as well.
This guide details how CockroachDB is built, but does not explain how to build an application using CockroachDB.
CockroachDB was designed to meet the following goals:
Make life easier for humans. This means being low-touch and highly automated for and simple to reason about for developers.
Offer industry-leading consistency, even on massively scaled deployments. This means enabling distributed , as well as removing the pain of eventual consistency issues and stale reads.
Create an always-on database that accepts reads and writes on all nodes without generating conflicts.
Allow flexible deployment in any environment, without tying you to any platform or vendor.
Support familiar tools for working with relational data (i.e., ).
With the confluence of these features, we hope that CockroachDB helps you build global, scalable, resilient deployments and applications.
CockroachDB starts running on machines with two commands:
with a --join flag for all of the initial nodes in the cluster, so the process knows all of the other machines it can communicate with.
to perform a one-time initialization of the cluster.
Once the CockroachDB cluster is initialized, developers interact with CockroachDB through a SQL API. Thanks to the symmetrical behavior of all nodes in a cluster, you can send to any node; this makes CockroachDB easy to integrate with .After receiving SQL remote procedure calls (RPCs), nodes convert them into key-value (KV) operations that work with our .As these RPCs start filling your cluster with data, CockroachDB starts , breaking the data up into chunks that we call ranges. Each range is replicated to at least to ensure survivability. This ensures that if any nodes go down, you still have copies of the data which can be used for:
Continuing to serve reads and writes.
Consistently the data to other nodes.
If a node receives a read or write request it cannot directly serve, it finds the node that can handle the request, and communicates with that node. This means you do not need to know where in the cluster a specific portion of your data is stored; CockroachDB tracks it for you, and enables symmetric read/write behavior from each node.Any changes made to the data in a range rely on a to ensure that the majority of the range’s replicas agree to commit the change. This is how CockroachDB achieves the industry-leading isolation guarantees that allow it to provide your application with consistent reads and writes, regardless of which node you communicate with.Ultimately, data is written to and read from disk using an efficient , which is able to keep track of the data’s timestamp. This has the benefit of letting us support the SQL standard clause, letting you find historical data for a period of time.While the high-level overview above gives you a notion of what CockroachDB does, looking at how CockroachDB operates at each of these layers will give you much greater understanding of our architecture.
At the highest level, CockroachDB converts clients’ SQL statements into key-value (KV) data, which is distributed among nodes and written to disk. CockroachDB’s architecture is manifested as a number of layers, each of which interacts with the layers directly above and below it as relatively opaque services.The following pages describe the function each layer performs, while mostly ignoring the details of other layers. This description is true to the experience of the layers themselves, which generally treat the other layers as black-box APIs. There are some interactions that occur between layers that require an understanding of each layer’s function to understand the entire process.
The requirement that a transaction must change affected data only in allowed ways. CockroachDB uses “consistency” in both the sense of ACID semantics and the CAP theorem, albeit less formally than either definition.
The degree to which a transaction may be affected by other transactions running at the same time. CockroachDB provides the SERIALIZABLE and READ COMMITTED isolation levels. For more information, see .
The process of reaching agreement on whether a transaction is committed or aborted. CockroachDB uses the Raft consensus protocol. In CockroachDB, when a range receives a write, a quorum of nodes containing replicas of the range acknowledge the write. This means your data is safely stored and a majority of nodes agree on the database’s current state, even if some of the nodes are offline.When a write does not achieve consensus, forward progress halts to maintain consistency within the cluster.
The process of creating and distributing copies of data, as well as ensuring that those copies remain consistent. CockroachDB requires all writes to propagate to a quorum of copies of the data before being considered committed. This ensures the consistency of your data.
A set of operations performed on a database that satisfy the requirements of ACID semantics. This is a crucial feature for a consistent system to ensure developers can trust the data in their database. For more information about how transactions work in CockroachDB, see .
A is unable to complete due to another concurrent or recent transaction attempting to write to the same data. This is also called lock contention.
A transaction is because it could not be placed into a among all of the currently executing transactions. This is also called a serialization conflict. If the automatic retry is not possible or fails, a is emitted to the client, requiring a client application running under SERIALIZABLE isolation to .
A consensus-based notion of high availability that lets each node in the cluster handle reads and writes for a subset of the stored data (on a per-range basis). This is in contrast to active-passive replication, in which the active node receives 100% of request traffic, and active-active replication, in which all nodes accept requests but typically cannot guarantee that reads are both up-to-date and fast.
A SQL user is an identity capable of executing SQL statements and performing other cluster actions against CockroachDB clusters. SQL users must authenticate with an option permitted on the cluster (username/password, single sign-on (SSO), or certificate). Note that a SQL/cluster user is distinct from a CockroachDB Cloud organization user.
A group of interconnected CockroachDB nodes that function as a single distributed SQL database server. Nodes collaboratively organize transactions, and rebalance workload and data storage to optimize performance and fault-tolerance.Each cluster has its own authorization hierarchy, meaning that users and roles must be defined on that specific cluster.A CockroachDB cluster can be run in CockroachDB Cloud, within a customer , or can be self-hosted.
CockroachDB stores all user data (tables, indexes, etc.) and almost all system data in a sorted map of key-value pairs. This keyspace is divided into contiguous chunks called ranges, such that every key is found in one range.From a SQL perspective, a table and its secondary indexes initially map to a single range, where each key-value pair in the range represents a single row in the table (also called the primary index because the table is sorted by the primary key) or a single row in a secondary index. As soon as the size of a range reaches , it is . This process continues for these new ranges as the table and its indexes continue growing.
The replica that holds the “range lease.” This replica receives and coordinates all read and write requests for the range.For most types of tables and queries, the leaseholder is the only replica that can serve consistent reads (reads that return “the latest” data).
The employed in CockroachDB that ensures that your data is safely stored on multiple nodes and that those nodes agree on the current state even if some of them are temporarily disconnected.
For each range, the replica that is the “leader” for write requests. The leader uses the Raft protocol to ensure that a majority of replicas (the leader and enough followers) agree, based on their Raft logs, before committing the write. The Raft leader is almost always the same replica as the leaseholder.
A time-ordered log of writes to a range that its replicas have agreed on. This log exists on-disk with each replica and is the range’s source of truth for consistent replication.
Start by learning about what CockroachDB does with your SQL statements at the .
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"CockroachDB","colors":{"primary":"#9059FF","light":"#9059FF","dark":"#9059FF"},"logo":{"light":"https://mintcdn.com/cockroachlabs/4WvUnbVuGZfqM4kW/images/CockroachLabs_Wordmark_Black.png?fit=max\u0026auto=format\u0026n=4WvUnbVuGZfqM4kW\u0026q=85\u0026s=54ccae625c9986bf1df8ddc7b2c571f0","dark":"https://mintcdn.com/cockroachlabs/4WvUnbVuGZfqM4kW/images/CockroachLabs_Wordmark_White.png?fit=max\u0026auto=format\u0026n=4WvUnbVuGZfqM4kW\u0026q=85\u0026s=0dd9b66973a1c7d3dd72aa67b6094efe","href":"https://www.cockroachlabs.com/"},"favicon":{"light":"https://mintcdn.com/cockroachlabs/2yihO7vMXnL0G_07/images/favicon.svg?fit=max\u0026auto=format\u0026n=2yihO7vMXnL0G_07\u0026q=85\u0026s=01f9aa59c9f275e1f35cd424a27d2551","dark":"https://mintcdn.com/cockroachlabs/2yihO7vMXnL0G_07/images/favicon.svg?fit=max\u0026auto=format\u0026n=2yihO7vMXnL0G_07\u0026q=85\u0026s=01f9aa59c9f275e1f35cd424a27d2551"},"api":{"examples":{"defaults":"required","languages":["curl"]}},"appearance":{"default":"light"},"navbar":{"primary":{"type":"button","label":"Get started free","href":"https://cockroachlabs.cloud/signup?referralId=cc_nav_global\u0026_ga=2.242886210.1147139380.1759903632-41552699.1759903632"}},"footer":{"socials":{"youtube":"https://www.youtube.com/@cockroachdb","x":"https://x.com/CockroachDB","linkedin":"https://www.linkedin.com/company/cockroach-labs/mycompany/verification","instagram":"https://www.instagram.com/cockroachdb"},"links":[{"header":"Product","items":[{"label":"CockroachDB","href":"https://www.cockroachlabs.com/product"},{"label":"CockroachDB Cloud","href":"https://www.cockroachlabs.com/product/cockroachcloud"},{"label":"Compare","href":"https://www.cockroachlabs.com/compare"},{"label":"Pricing","href":"https://www.cockroachlabs.com/pricing"},{"label":"Get CockroachDB","href":"https://www.cockroachlabs.com/get-started-cockroachdb"},{"label":"Sign In","href":"https://cockroachlabs.cloud/"}]},{"header":"Resources","items":[{"label":"Guides","href":"https://resources.cockroachlabs.com/guides"},{"label":"Webinars","href":"https://www.cockroachlabs.com/community/webinars"},{"label":"Videos","href":"https://www.cockroachlabs.com/resources/video"},{"label":"Architecture Overview","href":"https://www.cockroachlabs.com/docs/stable/architecture/overview"},{"label":"FAQ","href":"https://www.cockroachlabs.com/docs/stable/frequently-asked-questions"},{"label":"Security","href":"https://www.cockroachlabs.com/security"}]},{"header":"Learn \u0026 Support","items":[{"label":"Docs","href":"https://www.cockroachlabs.com/docs"},{"label":"University","href":"https://learn.cockroachlabs.com/"},{"label":"Developers","href":"https://www.cockroachlabs.com/developers"},{"label":"Forum","href":"https://forum.cockroachlabs.com/"},{"label":"Slack","href":"https://cockroa.ch/slack"},{"label":"Support Portal","href":"https://support.cockroachlabs.com/hc/en-us"},{"label":"Contact Us","href":"https://www.cockroachlabs.com/contact"}]},{"header":"Company","items":[{"label":"About","href":"https://www.cockroachlabs.com/about"},{"label":"Blog","href":"https://www.cockroachlabs.com/blog"},{"label":"Careers","href":"https://www.cockroachlabs.com/careers"},{"label":"Customers","href":"https://www.cockroachlabs.com/customers"},{"label":"News","href":"https://www.cockroachlabs.com/press"},{"label":"Privacy","href":"https://www.cockroachlabs.com/privacy"},{"label":"Terms of Use","href":"https://www.cockroachlabs.com/website-terms-of-use"}]}]},"fonts":{"heading":{"family":"Poppins"},"body":{"family":"Open Sans"}},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":{"light":"catppuccin-mocha","dark":"catppuccin-mocha"}},"latex":true},"integrations":{"gtm":{"tagId":"GTM-NR8LC4"}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"The page you're looking for doesn't exist. [Return to docs home](/index.html)."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"global":{"anchors":[{"anchor":"University","icon":"graduation-cap","href":"https://learn.cockroachlabs.com/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cockroachlabs","hasAudioNarration":false,"actualSubdomain":"cockroachlabs","customDomains":["docs.cockroachlabs.com"],"gitSource":{"type":"github","owner":"cockroachlabs","repo":"docs","deployBranch":"main","contentDirectory":"cockroachlabs-preview-main","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adc24f9d1a26b8362e3268c","collectionId":"7d02ecdd-010f-452c-a839-1542479b4ee8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adc24f9d1a26b8362e3268c"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adc24f9d1a26b8362e3268c","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"CockroachDB","count":6968},{"language":"default","tag":"Docs","count":3238},{"language":"default","tag":"SQL","count":2562},{"language":"default","tag":"Statements","count":1710},{"language":"default","tag":"Self-Hosted Deployments","count":1479},{"language":"default","tag":"Reference","count":774},{"language":"default","tag":"Cloud Deployments","count":616},{"language":"default","tag":"Endpoints","count":528},{"language":"default","tag":"Cloud API Reference","count":518},{"language":"default","tag":"Get Started","count":441}],"searchSettings":{"isFiltersEnabled":false}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":":root{--inline-code-bg-light:rgb(var(--gray-200) / 0.92);--inline-code-bg-dark:rgb(255 255 255 / 0.08)}.prose :not(pre)>code{background-color:var(--inline-code-bg-light)!important}.dark .prose :not(pre)>code{background-color:var(--inline-code-bg-dark)!important}@media (min-width:1536px){#navbar>.max-w-8xl,[class*=\"peer-[.is-not-custom]:peer-[.is-not-center]:max-w-8xl\"]{width:100%!important;max-width:none!important}}#navigation-items{display:flex;flex-direction:column}#navigation-items>ul:not(.sidebar-group){order:1;margin-top:1.5rem}.crdb-fixed-table table,.crdb-metrics-table table{table-layout:fixed!important;width:100%!important;min-width:0!important;max-width:100%!important;border-collapse:collapse}.crdb-fixed-table table td,.crdb-fixed-table table th,.crdb-metrics-table table td,.crdb-metrics-table table th{min-width:0!important;overflow-wrap:anywhere;word-break:break-word}.bg-cover{background-size:cover;background-repeat:no-repeat;background-position:center center}.bg-cover__bg-3-1{background-image:url(https://cockroach-labs-docs.imgix.net/bg-3-1.png?auto=format,compress\u0026w=1200\u0026q=40)}.home-header{border-radius:.5rem;margin-bottom:2rem!important;padding:2rem}.card{border:1px solid #e5e7eb;border-radius:.75rem;background-color:#fff}.dark .card{background-color:#0d1117;border-color:rgba(255,255,255,.1)}.card-link,.card-link:hover{transform:none!important;box-shadow:none!important}.card-link{text-decoration:none!important;overflow:hidden}.card-link:hover{outline:1px solid rgba(105,51,255,.55);outline-offset:-1px}.card-link a,.card-link a:hover,.card-link h3,.card-link h3:hover,.card-link p,.card-link p:hover{border:0!important;text-decoration:none!important;transform:none!important}.card-link a{display:block;width:100%}.card-link h3{font-size:1rem!important;font-weight:600!important}.card-body{padding:1.5rem}.landing-column-title{margin-bottom:1rem}.article-lists h3,.overline{text-transform:uppercase;letter-spacing:.05em}.btn-redirect{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid #e5e7eb;border-radius:.5rem;text-decoration:none;transition:border-color .2s}.btn-redirect:hover{border-color:#6933ff}.btn-block{display:flex;width:100%;justify-content:center}.dark .btn-redirect{border-color:rgba(255,255,255,.1)}.article-section-title{font-size:1.25rem!important}.article-lists h3{font-size:.875rem!important;font-weight:600!important;color:#6b7280!important}.dark .article-lists h3,.dark .card-link .card-desc{color:#9ca3af!important}.article-lists ul{font-size:.875rem}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}.bg-dark-wing{background-color:#152849;border-radius:.5rem}.text-ice-temple{color:#1bf8ec!important;display:inline-flex;align-items:center;gap:.375rem}.text-ice-temple img{display:inline-block;margin:0}.bg-dark-wing h2{font-size:clamp(1.25rem,1rem + 1.5vw,1.75rem)!important}@media (max-width:576px){.card-body.bg-dark-wing{padding:1.25rem!important}}.text-decoration-none{text-decoration:none!important}.text-muted{color:#6b7280!important}.card-link .card-desc{font-size:.9375rem!important;font-weight:400!important;line-height:1.5!important;text-align:left!important;color:#4b5563!important;width:100%;margin-top:.5rem}.report-tag{display:inline-block;padding:.25rem .75rem;border-radius:.25rem;background-color:rgba(84,42,189,.08);color:#542abd}.dark .report-tag{background-color:rgba(84,42,189,.3);color:#b39dff}.resilience-report-img{background-image:url(/images/state-resilience.png);background-size:cover;background-position:center;min-height:150px;border-radius:.5rem}.row{flex-wrap:wrap;margin-left:-.75rem;margin-right:-.75rem}.display-flex,.row{display:flex!important}.col-lg-4{flex:0 0 auto;width:100%;padding-left:.75rem;padding-right:.75rem}@media (min-width:992px){.col-lg-4{width:33.333333%!important}}.col-lg-3,.col-sm-6,.col-xs-12{flex:0 0 auto;width:100%!important;padding-left:.75rem;padding-right:.75rem}@media (min-width:992px){.col-lg-3{width:25%!important}}@media (min-width:576px){.col-sm-6{width:50%!important}}.col-12{width:100%!important}.col-lg-12{width:100%;padding-left:.75rem;padding-right:.75rem}@media (min-width:992px){.col-lg-12{width:100%!important}}.col-md-4,.col-md-8{flex:0 0 auto;width:100%;padding-left:.75rem;padding-right:.75rem}@media (min-width:768px){.col-md-4{width:33.333333%!important}.col-md-8{width:66.666667%!important}}.h-100{height:100%}.d-flex{display:flex}.flex-column{flex-direction:column}.mb-3{margin-bottom:1rem!important}.mb-5{margin-bottom:3rem!important}.pb-5{padding-bottom:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.mt-auto{margin-top:auto!important}.mt-0{margin-top:0!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-5:not(.code-block){margin-top:3rem!important}.code-block.mb-8{margin-bottom:calc(var(--spacing)*5)}.pt-5{padding-top:3rem!important}.m-0{margin:0!important}.ml-2{margin-left:.5rem!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem!important}.mb-4{margin-bottom:1.5rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.ml-1{margin-left:.25rem!important}.mr-auto{margin-right:auto!important}.justify-content-center{justify-content:center!important}.align-items-center{align-items:center!important}@media (min-width:1200px){.p-xl-5{padding:3rem!important}}.mx-0{margin-left:0!important;margin-right:0!important}.text-center{text-align:center}.dark .text-black,.text-white{color:#fff!important}.text-black{color:#000!important}.container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.card-header-overlap-text{position:relative}@media (min-width:768px){.p-md-5{padding:3rem!important}}@media (min-width:992px){.d-lg-flex{display:flex!important}.mb-lg-0{margin-bottom:0!important}}.prose table{border-collapse:collapse!important}.prose table td,.prose table th{border:1px solid rgb(var(--gray-200))!important}.dark .prose table td,.dark .prose table th{border-color:rgb(var(--gray-700)/.5)!important}.prose table th{padding:.571429em;font-weight:600;vertical-align:bottom;color:var(--tw-prose-headings);text-align:left}.prose table th.center-align{text-align:center}.prose table td{padding:.571429em;vertical-align:baseline}[data-component-part=accordion-description]{font-size:.875rem!important}.accordion.mb-3{margin-bottom:.25rem!important}@media (max-width:991.98px){[id^=kapa-widget-container] button{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;font-size:0!important}[id^=kapa-widget-container] button svg{width:18px!important;height:18px!important}[id^=kapa-widget-container] button span{display:none!important}}table.crdb-fixed-table{table-layout:fixed!important;min-width:0!important;width:100%}table.crdb-fixed-table td,table.crdb-fixed-table th{min-width:0!important;overflow-wrap:break-word;word-break:normal}.sql-grammar svg .line{fill:none;stroke:#262626}.sql-grammar svg .bold-line{stroke:#0a0a0a;shape-rendering:crispEdges;stroke-width:2}.sql-grammar svg .thin-line{stroke:#0f0f0f;shape-rendering:crispEdges}.sql-grammar svg .filled{fill:#262626;stroke:none}.sql-grammar svg text.terminal{font-family:Verdana,Sans-serif;font-size:12px;fill:#0a0a0a;font-weight:700}.sql-grammar svg text.nonterminal,.sql-grammar svg text.regexp{font-family:Verdana,Sans-serif;font-size:12px;fill:#05f}.sql-grammar svg text.regexp{fill:#0f0f0f}.sql-grammar svg circle,.sql-grammar svg polygon,.sql-grammar svg rect{fill:#262626;stroke:#262626}.sql-grammar svg polygon.regexp,.sql-grammar svg rect.nonterminal,.sql-grammar svg rect.terminal{fill:#fff;stroke:#262626}.sql-grammar svg rect.text{fill:none;stroke:none}.sql-grammar svg{background-color:#fff}.sql-grammar a[name]::before{content:'';display:block;height:80px;margin:-80px 0 0}.sql-grammar a[name]:focus{outline:0}pre[language=sql][data-crdb-prompt-stripped] code::before{content:\"> \";color:#94e2d5;user-select:none}.mark-yes{color:#008a5e;font-weight:600}.dark .mark-yes{color:#3ddc97}"}],"page":{"pagePath":"docs/v24.2/architecture/overview","slug":"/docs/v24.2/architecture/overview","pageMetadata":{"title":"Architecture Overview","old_description":"Learn about the inner-workings of the CockroachDB architecture.","canonical":"https://docs.cockroachlabs.com/docs/stable/architecture/overview","description":null,"href":"/docs/v24.2/architecture/overview"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const InternalLink=({version,path=``,children,...props})=>{const _components={a:`a`,..._provideComponents()};let detectedVersion=version||`stable`;if(typeof window!==`undefined`\u0026\u0026!version){const match=window.location.pathname.match(/\\/docs\\/([^/]+)/);if(match){detectedVersion=match[1]}}const normalizedPath=path.startsWith(`/`)?path.slice(1):path;return _jsx(_components.a,{href:`/docs/${detectedVersion}/${normalizedPath}`,...props,children})};function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Table,Tip,_MdxComponentBoundary}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`CockroachDB was designed to create the source-available database we would want to use: one that is both scalable and consistent. Developers often have questions about how we’ve achieved this, and this guide sets out to detail the inner workings of `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsxs(InternalLink,{path:`cockroach-commands`,children:[`the `,_jsx(_components.code,{children:`cockroach`}),` process`]})}),` as a means of explanation.`]}),`\n`,_jsx(_components.p,{children:`However, you definitely do not need to understand the underlying architecture to use CockroachDB. These pages give serious users and database enthusiasts a high-level framework to explain what’s happening under the hood.`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`If these docs interest you, consider taking the free `,_jsx(_components.a,{href:`https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about`,children:`Intro to Distributed SQL`}),` course on Cockroach University.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`using-this-guide`,children:`Using this guide`}),`\n`,_jsxs(_components.p,{children:[`This guide is broken out into pages detailing each layer of CockroachDB. We recommended reading through the layers sequentially, starting with this overview and then proceeding to the `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/sql-layer`,children:`SQL layer`})}),`.`]}),`\n`,_jsxs(_components.p,{children:[`If you’re looking for a high-level understanding of CockroachDB, you can read the `,_jsx(_components.strong,{children:`Overview`}),` section of each layer. For more technical detail — for example, if you’re interested in `,_jsx(_components.a,{href:`https://cockroachlabs.atlassian.net/wiki/x/QQFdB`,children:`contributing to the project`}),` — you should read the `,_jsx(_components.strong,{children:`Components`}),` sections as well.`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`This guide details how CockroachDB is built, but does not explain how to build an application using CockroachDB.`})}),`\n`,_jsx(Heading,{level:`2`,id:`goals-of-cockroachdb`,children:`Goals of CockroachDB`}),`\n`,_jsx(_components.p,{children:`CockroachDB was designed to meet the following goals:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Make life easier for humans. This means being low-touch and highly automated for `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`recommended-production-settings`,children:`operators`})}),` and simple to reason about for developers.`]}),`\n`,_jsxs(_components.li,{children:[`Offer industry-leading `,_jsx(_components.a,{href:`#consistency`,children:`consistency`}),`, even on massively scaled deployments. This means enabling distributed `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/transaction-layer`,children:`transactions`})}),`, as well as removing the pain of eventual consistency issues and stale reads.`]}),`\n`,_jsx(_components.li,{children:`Create an always-on database that accepts reads and writes on all nodes without generating conflicts.`}),`\n`,_jsx(_components.li,{children:`Allow flexible deployment in any environment, without tying you to any platform or vendor.`}),`\n`,_jsxs(_components.li,{children:[`Support familiar tools for working with relational data (i.e., `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/sql-layer`,children:`SQL`})}),`).`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`With the confluence of these features, we hope that CockroachDB helps you build global, scalable, resilient deployments and applications.`}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`CockroachDB starts running on machines with two commands:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`cockroach-start`,children:_jsx(_components.code,{children:`cockroach start`})})}),` with a `,_jsx(_components.code,{children:`--join`}),` flag for all of the initial nodes in the cluster, so the process knows all of the other machines it can communicate with.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`cockroach-init`,children:_jsx(_components.code,{children:`cockroach init`})})}),` to perform a one-time initialization of the cluster.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Once the CockroachDB cluster is initialized, developers interact with CockroachDB through a `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`postgresql-compatibility`,children:`PostgreSQL-compatible`})}),` SQL API. Thanks to the symmetrical behavior of all nodes in a cluster, you can send `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/sql-layer`,children:`SQL requests`})}),` to any node; this makes CockroachDB easy to integrate with `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`recommended-production-settings#load-balancing`,children:`load balancers`})}),`.`]}),`\n`,_jsxs(_components.p,{children:[`After receiving SQL remote procedure calls (RPCs), nodes convert them into key-value (KV) operations that work with our `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/transaction-layer`,children:`distributed, transactional key-value store`})}),`.`]}),`\n`,_jsxs(_components.p,{children:[`As these RPCs start filling your cluster with data, CockroachDB starts `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/distribution-layer`,children:`algorithmically distributing your data among the nodes of the cluster`})}),`, breaking the data up into chunks that we call `,_jsx(_components.a,{href:`#architecture-range`,children:`ranges`}),`. Each range is replicated to at least `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`configure-replication-zones`,children:`3 nodes by default`})}),` to ensure survivability. This ensures that if any nodes go down, you still have copies of the data which can be used for:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Continuing to serve reads and writes.`}),`\n`,_jsxs(_components.li,{children:[`Consistently `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/replication-layer`,children:`replicating`})}),` the data to other nodes.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`If a node receives a read or write request it cannot directly serve, it finds the node that can handle the request, and communicates with that node. This means you do not need to know where in the cluster a specific portion of your data is stored; CockroachDB tracks it for you, and enables symmetric read/write behavior from each node.`}),`\n`,_jsxs(_components.p,{children:[`Any changes made to the data in a `,_jsx(_components.a,{href:`#architecture-range`,children:`range`}),` rely on a `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/replication-layer#raft`,children:`consensus algorithm`})}),` to ensure that the majority of the range’s `,_jsx(_components.a,{href:`#architecture-replica`,children:`replicas`}),` agree to commit the change. This is how CockroachDB achieves the industry-leading isolation guarantees that allow it to provide your application with consistent reads and writes, regardless of which node you communicate with.`]}),`\n`,_jsxs(_components.p,{children:[`Ultimately, data is written to and read from disk using an efficient `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/storage-layer`,children:`storage engine`})}),`, which is able to keep track of the data’s timestamp. This has the benefit of letting us support the SQL standard `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`as-of-system-time`,children:_jsx(_components.code,{children:`AS OF SYSTEM TIME`})})}),` clause, letting you find historical data for a period of time.`]}),`\n`,_jsx(_components.p,{children:`While the high-level overview above gives you a notion of what CockroachDB does, looking at how CockroachDB operates at each of these layers will give you much greater understanding of our architecture.`}),`\n`,_jsx(Heading,{level:`3`,id:`layers`,children:`Layers`}),`\n`,_jsx(_components.p,{children:`At the highest level, CockroachDB converts clients’ SQL statements into key-value (KV) data, which is distributed among nodes and written to disk. CockroachDB’s architecture is manifested as a number of layers, each of which interacts with the layers directly above and below it as relatively opaque services.`}),`\n`,_jsx(_components.p,{children:`The following pages describe the function each layer performs, while mostly ignoring the details of other layers. This description is true to the experience of the layers themselves, which generally treat the other layers as black-box APIs. There are some interactions that occur between layers that require an understanding of each layer’s function to understand the entire process.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Layer`}),_jsx(_components.th,{children:`Order`}),_jsx(_components.th,{children:`Purpose`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/sql-layer`,children:`SQL`})})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1`}),_jsx(_components.td,{children:`Translate client SQL queries to KV operations.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/transaction-layer`,children:`Transactional`})})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`2`}),_jsx(_components.td,{children:`Allow atomic changes to multiple KV entries.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/distribution-layer`,children:`Distribution`})})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`3`}),_jsxs(_components.td,{children:[`Present replicated KV `,_jsx(_components.a,{href:`#architecture-range`,children:`ranges`}),` as a single entity.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/replication-layer`,children:`Replication`})})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`4`}),_jsxs(_components.td,{children:[`Consistently and synchronously replicate KV `,_jsx(_components.a,{href:`#architecture-range`,children:`ranges`}),` across many `,_jsx(_components.a,{href:`#node`,children:`nodes`}),`. This layer also enables `,_jsx(_components.a,{href:`#consistency`,children:`consistent`}),` reads using a consensus algorithm.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/storage-layer`,children:`Storage`})})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`5`}),_jsx(_components.td,{children:`Read and write KV data on disk.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`database-terms`,children:`Database terms`}),`\n`,_jsx(Heading,{level:`3`,id:`consistency`,children:`Consistency`}),`\n`,_jsxs(_components.p,{children:[`The requirement that a transaction must change affected data only in allowed ways. CockroachDB uses “consistency” in both the sense of `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/ACID`,children:`ACID semantics`}),` and the `,_jsx(_components.a,{href:`https://wikipedia.org/wiki/CAP_theorem`,children:`CAP theorem`}),`, albeit less formally than either definition.`]}),`\n`,_jsx(Heading,{level:`3`,id:`isolation`,children:`Isolation`}),`\n`,_jsxs(_components.p,{children:[`The degree to which a transaction may be affected by other transactions running at the same time. CockroachDB provides the `,_jsx(_components.a,{href:`https://wikipedia.org/wiki/Serializability`,children:_jsx(_components.code,{children:`SERIALIZABLE`})}),` and `,_jsx(_components.code,{children:`READ COMMITTED`}),` isolation levels. For more information, see `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`transactions#isolation-levels`,children:`Isolation levels`})}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`consensus`,children:`Consensus`}),`\n`,_jsxs(_components.p,{children:[_jsx(`a`,{id:`architecture-overview-consensus`}),` The process of reaching agreement on whether a transaction is committed or aborted. CockroachDB uses the `,_jsx(_components.a,{href:`#architecture-raft`,children:`Raft consensus protocol`}),`. In CockroachDB, when a range receives a write, a quorum of nodes containing replicas of the range acknowledge the write. This means your data is safely stored and a majority of nodes agree on the database’s current state, even if some of the nodes are offline.`]}),`\n`,_jsx(_components.p,{children:`When a write does not achieve consensus, forward progress halts to maintain consistency within the cluster.`}),`\n`,_jsx(Heading,{level:`3`,id:`replication`,children:`Replication`}),`\n`,_jsxs(_components.p,{children:[`The process of creating and distributing copies of data, as well as ensuring that those copies remain consistent. CockroachDB requires all writes to propagate to a `,_jsx(_components.a,{href:`https://wikipedia.org/wiki/Quorum_%28distributed_computing%29`,children:`quorum`}),` of copies of the data before being considered committed. This ensures the consistency of your data.`]}),`\n`,_jsx(Heading,{level:`3`,id:`transaction`,children:`Transaction`}),`\n`,_jsxs(_components.p,{children:[`A set of operations performed on a database that satisfy the requirements of `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/ACID`,children:`ACID semantics`}),`. This is a crucial feature for a consistent system to ensure developers can trust the data in their database. For more information about how transactions work in CockroachDB, see `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/transaction-layer`,children:`Transaction Layer`})}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`transaction-contention`,children:`Transaction contention`}),`\n`,_jsxs(_components.p,{children:[_jsx(`a`,{id:`architecture-overview-contention`}),` A `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`performance-best-practices-overview#transaction-contention`,children:`state of conflict`})}),` that occurs when:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`transactions`,children:`transaction`})}),` is unable to complete due to another concurrent or recent transaction attempting to write to the same data. This is also called `,_jsx(_components.em,{children:`lock contention`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`A transaction is `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`transactions#automatic-retries`,children:`automatically retried`})}),` because it could not be placed into a `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`demo-serializable`,children:`serializable ordering`})}),` among all of the currently executing transactions. This is also called a `,_jsx(_components.em,{children:`serialization conflict`}),`. If the automatic retry is not possible or fails, a `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`transaction-retry-error-reference`,children:_jsx(_components.em,{children:`transaction retry error`})})}),` is emitted to the client, requiring a client application running under `,_jsx(_components.code,{children:`SERIALIZABLE`}),` isolation to `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`transaction-retry-error-reference#client-side-retry-handling`,children:`retry the transaction`})}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Steps should be taken to `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`performance-best-practices-overview#reduce-transaction-contention`,children:`reduce transaction contention`})}),` in the first place.`]}),`\n`,_jsx(Heading,{level:`3`,id:`multi-active-availability`,children:`Multi-active availability`}),`\n`,_jsxs(_components.p,{children:[`A consensus-based notion of high availability that lets each node in the cluster handle reads and writes for a subset of the stored data (on a per-range basis). This is in contrast to `,_jsx(_components.em,{children:`active-passive replication`}),`, in which the active node receives 100% of request traffic, and `,_jsx(_components.em,{children:`active-active`}),` replication, in which all nodes accept requests but typically cannot guarantee that reads are both up-to-date and fast.`]}),`\n`,_jsx(Heading,{level:`3`,id:`user`,children:`User`}),`\n`,_jsx(_components.p,{children:`A SQL user is an identity capable of executing SQL statements and performing other cluster actions against CockroachDB clusters. SQL users must authenticate with an option permitted on the cluster (username/password, single sign-on (SSO), or certificate). Note that a SQL/cluster user is distinct from a CockroachDB Cloud organization user.`}),`\n`,_jsx(Heading,{level:`2`,id:`cockroachdb-architecture-terms`,children:`CockroachDB architecture terms`}),`\n`,_jsx(Heading,{level:`3`,id:`cluster`,children:`Cluster`}),`\n`,_jsx(_components.p,{children:`A group of interconnected CockroachDB nodes that function as a single distributed SQL database server. Nodes collaboratively organize transactions, and rebalance workload and data storage to optimize performance and fault-tolerance.`}),`\n`,_jsx(_components.p,{children:`Each cluster has its own authorization hierarchy, meaning that users and roles must be defined on that specific cluster.`}),`\n`,_jsxs(_components.p,{children:[`A CockroachDB cluster can be run in CockroachDB Cloud, within a customer `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/glossary#organization`,children:`Organization`})}),`, or can be self-hosted.`]}),`\n`,_jsx(Heading,{level:`3`,id:`node`,children:`Node`}),`\n`,_jsx(_components.p,{children:`An individual instance of CockroachDB. One or more nodes form a cluster.`}),`\n`,_jsx(Heading,{level:`3`,id:`range`,children:`Range`}),`\n`,_jsx(`a`,{id:`architecture-range`}),`\n`,_jsxs(_components.p,{children:[`CockroachDB stores all user data (tables, indexes, etc.) and almost all system data in a sorted map of key-value pairs. This keyspace is divided into contiguous chunks called `,_jsx(_components.em,{children:`ranges`}),`, such that every key is found in one range.`]}),`\n`,_jsxs(_components.p,{children:[`From a SQL perspective, a table and its secondary indexes initially map to a single range, where each key-value pair in the range represents a single row in the table (also called the `,_jsx(_components.em,{children:`primary index`}),` because the table is sorted by the primary key) or a single row in a secondary index. As soon as the size of a range reaches `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`configure-replication-zones`,children:`the default range size`})}),`, it is `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/distribution-layer#range-splits`,children:`split into two ranges`})}),`. This process continues for these new ranges as the table and its indexes continue growing.`]}),`\n`,_jsx(Heading,{level:`3`,id:`replica`,children:`Replica`}),`\n`,_jsx(`a`,{id:`architecture-replica`}),`\n`,_jsxs(_components.p,{children:[`A copy of a range stored on a node. By default, there are three `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`configure-replication-zones`,children:`replicas`})}),` of each range on different nodes.`]}),`\n`,_jsx(Heading,{level:`3`,id:`leaseholder`,children:`Leaseholder`}),`\n`,_jsx(`a`,{id:`architecture-leaseholder`}),`\n`,_jsx(_components.p,{children:`The replica that holds the “range lease.” This replica receives and coordinates all read and write requests for the range.`}),`\n`,_jsx(_components.p,{children:`For most types of tables and queries, the leaseholder is the only replica that can serve consistent reads (reads that return “the latest” data).`}),`\n`,_jsx(Heading,{level:`3`,id:`raft-protocol`,children:`Raft protocol`}),`\n`,_jsx(`a`,{id:`architecture-raft`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/replication-layer#raft`,children:`consensus protocol`})}),` employed in CockroachDB that ensures that your data is safely stored on multiple nodes and that those nodes agree on the current state even if some of them are temporarily disconnected.`]}),`\n`,_jsx(Heading,{level:`3`,id:`raft-leader`,children:`Raft leader`}),`\n`,_jsx(`a`,{id:`architecture-raft-leader`}),`\n`,_jsx(_components.p,{children:`For each range, the replica that is the “leader” for write requests. The leader uses the Raft protocol to ensure that a majority of replicas (the leader and enough followers) agree, based on their Raft logs, before committing the write. The Raft leader is almost always the same replica as the leaseholder.`}),`\n`,_jsx(Heading,{level:`3`,id:`raft-log`,children:`Raft log`}),`\n`,_jsx(_components.p,{children:`A time-ordered log of writes to a range that its replicas have agreed on. This log exists on-disk with each replica and is the range’s source of truth for consistent replication.`}),`\n`,_jsx(Heading,{level:`2`,id:`what’s-next`,children:`What’s next?`}),`\n`,_jsxs(_components.p,{children:[`Start by learning about what CockroachDB does with your SQL statements at the `,_jsx(_MdxComponentBoundary,{name:`InternalLink`,children:_jsx(InternalLink,{path:`architecture/sql-layer`,children:`SQL layer`})}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{InternalLink,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"catppuccin-mocha","dark":"catppuccin-mocha"}},"config":{},"pageMetadata":{"title":"Architecture Overview","old_description":"Learn about the inner-workings of the CockroachDB architecture.","canonical":"https://docs.cockroachlabs.com/docs/stable/architecture/overview","description":null,"href":"/docs/v24.2/architecture/overview"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[148,586,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"Using this guide","slug":"using-this-guide","depth":2,"children":[]},{"title":"Goals of CockroachDB","slug":"goals-of-cockroachdb","depth":2,"children":[]},{"title":"Overview","slug":"overview","depth":2,"children":[{"title":"Layers","slug":"layers","depth":3,"children":[]}]},{"title":"Database terms","slug":"database-terms","depth":2,"children":[{"title":"Consistency","slug":"consistency","depth":3,"children":[]},{"title":"Isolation","slug":"isolation","depth":3,"children":[]},{"title":"Consensus","slug":"consensus","depth":3,"children":[]},{"title":"Replication","slug":"replication","depth":3,"children":[]},{"title":"Transaction","slug":"transaction","depth":3,"children":[]},{"title":"Transaction contention","slug":"transaction-contention","depth":3,"children":[]},{"title":"Multi-active availability","slug":"multi-active-availability","depth":3,"children":[]},{"title":"User","slug":"user","depth":3,"children":[]}]},{"title":"CockroachDB architecture terms","slug":"cockroachdb-architecture-terms","depth":2,"children":[{"title":"Cluster","slug":"cluster","depth":3,"children":[]},{"title":"Node","slug":"node","depth":3,"children":[]},{"title":"Range","slug":"range","depth":3,"children":[]},{"title":"Replica","slug":"replica","depth":3,"children":[]},{"title":"Leaseholder","slug":"leaseholder","depth":3,"children":[]},{"title":"Raft protocol","slug":"raft-protocol","depth":3,"children":[]},{"title":"Raft leader","slug":"raft-leader","depth":3,"children":[]},{"title":"Raft log","slug":"raft-log","depth":3,"children":[]}]},{"title":"What’s next?","slug":"what’s-next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cockroachlabs/4695317e415d4eba/kapa.js","/_mintlify/custom/cockroachlabs/40fb45a3cfe42c92/copy-code-prompt.js"],"subdomain":"cockroachlabs","siteName":"CockroachDB","title":"Architecture Overview - CockroachDB","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-24T02:19:55.829Z","originalFileLocation":"docs/v24.2/architecture/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"CockroachDB\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Architecture Overview - CockroachDB\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CockroachDB\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cockroachlabs.com/docs/stable/architecture/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cockroachlabs.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Architecture+Overview\u0026amp;theme=7628870a42004e67b5b3df3d\u0026amp;signature=fee30a13fc5514d8419b84ccbd745505ab4ac225618d0a9edad968fe80430ec6\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Architecture Overview - CockroachDB\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cockroachlabs.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Architecture+Overview\u0026amp;theme=7628870a42004e67b5b3df3d\u0026amp;signature=fee30a13fc5514d8419b84ccbd745505ab4ac225618d0a9edad968fe80430ec6\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CockroachDB\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#9059FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cockroachlabs.com/docs/stable/architecture/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/v24.2/architecture/overview.md\">","siteName":"CockroachDB","nav":{"global":{"anchors":[{"anchor":"University","icon":"graduation-cap","href":"https://learn.cockroachlabs.com/"}]},"products":[{"product":"Cockroach Continuum Cloud","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cockroachlabs/images/continuum/cockroachlabs-symbol.svg","description":"The agentic database cloud","tabs":[{"tab":"Get Started","pages":[{"title":"Cockroach Continuum Cloud Docs","sidebarTitle":"Continuum Home","href":"/docs/continuum"},{"group":"Get Started","pages":[{"title":"Continuum Cloud Overview","href":"/docs/continuum/overview"},{"title":"Get Started with Cockroach Continuum Cloud","href":"/docs/continuum/get-started-with-continuum"},{"title":"Create a Continuum Cloud Organization","href":"/docs/continuum/create-a-continuum-organization"},{"title":"CockroachDB Documentation","url":"/docs/stable/index","href":"/docs/continuum/cockroachdb-get-started"}]}]},{"tab":"Guides","groups":[{"group":"Onboard Data and Build Applications","pages":[{"group":"Migrate Data","pages":[{"title":"Migration Assistant Overview","href":"/docs/continuum/migration-assistant-overview"},{"title":"Deploy the Migration Assistant","href":"/docs/continuum/migration-assistant-deploy"},{"title":"Use the Migration Assistant","href":"/docs/continuum/migration-assistant-use"},{"title":"MOLT Toolset","url":"/docs/molt/migration-overview","href":"/docs/continuum/molt-toolset"}]},{"group":"Develop and Connect","pages":[{"title":"Develop and Connect Overview","href":"/docs/continuum/develop-and-connect-overview"},{"title":"Connect to a Cluster","url":"/docs/cockroachcloud/connect-to-your-cluster","href":"/docs/continuum/connect-to-a-cluster"},{"title":"Connection Parameters","url":"/docs/stable/connection-parameters","href":"/docs/continuum/connection-parameters"},{"title":"Transactions","url":"/docs/stable/transactions","href":"/docs/continuum/cockroachdb-transactions"},{"title":"User-Defined Functions","url":"/docs/stable/user-defined-functions","href":"/docs/continuum/user-defined-functions"},{"title":"Stored Procedures","url":"/docs/stable/stored-procedures","href":"/docs/continuum/stored-procedures"},{"title":"Triggers","url":"/docs/stable/triggers","href":"/docs/continuum/triggers"}]}]},{"group":"Scale Production Workloads","pages":[{"group":"Deploy and Manage","pages":[{"title":"Deploy and Manage Overview","href":"/docs/continuum/deploy-and-manage-overview"},{"title":"Create a Cluster","href":"/docs/continuum/create-a-cluster"},{"title":"Cluster Management","url":"/docs/cockroachcloud/overview-page","href":"/docs/continuum/cluster-management"},{"title":"Cloud API","url":"/docs/cockroachcloud/cloud-api","href":"/docs/continuum/cloud-api"},{"title":"ccloud CLI","url":"/docs/cockroachcloud/ccloud-get-started","href":"/docs/continuum/ccloud-get-started"}]},{"group":"Size and Scale","pages":[{"title":"Cockroach Plenum Overview","href":"/docs/continuum/plenum-overview"}]},{"group":"Build AI Applications","pages":[{"title":"Build AI Applications Overview","href":"/docs/continuum/build-ai-applications-overview"},{"title":"Vector Search","url":"/docs/stable/vector","href":"/docs/continuum/vector-search"},{"title":"MCP Server","url":"/docs/cockroachcloud/connect-to-the-cockroachdb-cloud-mcp-server","href":"/docs/continuum/mcp-server"}]},{"group":"Tune and Troubleshoot","pages":[{"title":"Tune and Troubleshoot Overview","href":"/docs/continuum/tune-and-troubleshoot-overview"},{"title":"Performance Best Practices","url":"/docs/stable/performance-best-practices-overview","href":"/docs/continuum/performance-best-practices"},{"title":"Performance Recipes","url":"/docs/stable/performance-recipes","href":"/docs/continuum/performance-recipes"}]},{"group":"Disaster Recovery","pages":[{"title":"Disaster Recovery Overview","href":"/docs/continuum/disaster-recovery-overview"},{"title":"Managed Backups","url":"/docs/cockroachcloud/managed-backups","href":"/docs/continuum/managed-backups"},{"title":"Physical Cluster Replication","url":"/docs/cockroachcloud/physical-cluster-replication","href":"/docs/continuum/physical-cluster-replication"}]}]},{"group":"Monitor and Optimize Performance","pages":[{"group":"Monitor and Optimize","pages":[{"title":"Cockroach Aegis Overview","href":"/docs/continuum/aegis-overview"},{"title":"Cockroach Aegis Agentic Ecosystem","href":"/docs/continuum/aegis-agentic-ecosystem"},{"title":"Cockroach Aegis Security and Administration","href":"/docs/continuum/aegis-security-and-data-access"},{"title":"DB Console","url":"/docs/stable/ui-overview","href":"/docs/continuum/db-console"},{"title":"Export Metrics","url":"/docs/cockroachcloud/export-metrics","href":"/docs/continuum/export-metrics"}]},{"group":"Manage Workloads","pages":[{"title":"Virtualization Overview","href":"/docs/continuum/virtualization-overview"},{"title":"Virtualization Architecture","href":"/docs/continuum/virtualization-architecture"},{"title":"Virtual Clusters","href":"/docs/continuum/virtual-clusters"},{"title":"Workspaces and Host Clusters","href":"/docs/continuum/workspaces"},{"title":"Admission Control","url":"/docs/stable/admission-control","href":"/docs/continuum/admission-control"}]}]},{"group":"Integrate and Govern Your Ecosystem","pages":[{"group":"Secure and Govern","pages":[{"title":"Secure and Govern Overview","href":"/docs/continuum/secure-and-govern-overview"},{"title":"Authorization","url":"/docs/cockroachcloud/authorization","href":"/docs/continuum/authorization"},{"title":"CMEK","url":"/docs/cockroachcloud/cmek","href":"/docs/continuum/cmek"}]},{"group":"Integrate","pages":[{"title":"Integrate Overview","href":"/docs/continuum/integrate-overview"},{"title":"Changefeed Sinks","url":"/docs/stable/changefeed-sinks","href":"/docs/continuum/changefeed-sinks"},{"title":"Terraform Provider","url":"/docs/cockroachcloud/provision-a-cluster-with-terraform","href":"/docs/continuum/terraform-provider"}]},{"group":"Manage Costs","pages":[{"title":"Editions and Add-Ons","href":"/docs/continuum/editions-and-add-ons"},{"title":"Pricing","url":"https://www.cockroachlabs.com/pricing","href":"/docs/continuum/pricing"}]}]}]},{"tab":"Tutorials","groups":[{"group":"Tutorials","pages":[{"title":"Tutorials","href":"/docs/continuum/tutorials-overview"}]},{"group":"Get Started","pages":[{"title":"Quickstart with Cockroach Continuum Cloud","href":"/docs/continuum/tutorial-quickstart"}]},{"group":"Migrate Data","pages":[{"title":"Migrate a Sample Database","href":"/docs/continuum/tutorial-migrate-sample-database"}]},{"group":"Develop and Connect","pages":[{"title":"Build a Python App","url":"/docs/stable/build-a-python-app-with-cockroachdb","href":"/docs/continuum/tutorial-python"},{"title":"Build a Node.js App","url":"/docs/stable/build-a-nodejs-app-with-cockroachdb","href":"/docs/continuum/tutorial-nodejs"},{"title":"Build a Go App","url":"/docs/stable/build-a-go-app-with-cockroachdb","href":"/docs/continuum/tutorial-go"},{"title":"Build a Java App","url":"/docs/stable/build-a-java-app-with-cockroachdb","href":"/docs/continuum/tutorial-java"}]},{"group":"Manage Workloads","pages":[{"title":"Create Your First Virtual Cluster","href":"/docs/continuum/tutorial-virtual-cluster"}]},{"group":"Monitor and Optimize","pages":[{"title":"Investigate Workload Performance with Aegis","href":"/docs/continuum/aegis-example-workflows"}]}]},{"tab":"Reference","groups":[{"group":"Reference","pages":[{"title":"Feature Reference","href":"/docs/continuum/feature-reference"},{"title":"Feature Availability","href":"/docs/continuum/feature-availability"},{"title":"SQL Reference","url":"/docs/stable/sql-statements","href":"/docs/continuum/cockroachdb-sql"},{"title":"Architecture","url":"/docs/stable/architecture/overview","href":"/docs/continuum/cockroachdb-architecture"},{"title":"Continuum Cloud FAQ","href":"/docs/continuum/faq"}]}]}]},{"product":"CockroachDB","icon":"database","description":"Distributed SQL database","versions":[{"version":"v26.4","tag":"Development","pages":[{"title":"v26.4","href":"/docs/v26.4/architecture/overview"}]},{"version":"v26.3","default":true,"tag":"Stable","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"CockroachDB Docs","sidebarTitle":"Docs Home","href":"/docs/stable"},{"group":"Get Started","pages":[{"group":"Install CockroachDB","pages":[{"title":"Install CockroachDB on Mac","href":"/docs/stable/install-cockroachdb-mac"},{"title":"Install CockroachDB on Linux","href":"/docs/stable/install-cockroachdb-linux"},{"title":"Install a FIPS-ready CockroachDB Runtime","href":"/docs/stable/fips"},{"title":"Install CockroachDB on Windows","href":"/docs/stable/install-cockroachdb-windows"}]},{"group":"Develop with CockroachDB","pages":[{"title":"Developer Basics","href":"/docs/stable/developer-basics"},{"group":"JavaScript/TypeScript","pages":[{"title":"Build a Simple CRUD Node.js App with CockroachDB and the node-postgres Driver","href":"/docs/stable/build-a-nodejs-app-with-cockroachdb"},{"title":"Build a Node.js App with CockroachDB and Sequelize","href":"/docs/stable/build-a-nodejs-app-with-cockroachdb-sequelize"},{"title":"Build a Simple CRUD Node.js App with CockroachDB and Knex.js","href":"/docs/stable/build-a-nodejs-app-with-cockroachdb-knexjs"},{"title":"Build a Simple CRUD Node.js App with CockroachDB and Prisma","href":"/docs/stable/build-a-nodejs-app-with-cockroachdb-prisma"},{"title":"Build a TypeScript App with CockroachDB and TypeORM","href":"/docs/stable/build-a-typescript-app-with-cockroachdb"}]},{"group":"Python","pages":[{"title":"Build a Python App with CockroachDB and Psycopg 3","href":"/docs/stable/build-a-python-app-with-cockroachdb-psycopg3"},{"title":"Build a Python App with CockroachDB and psycopg2","href":"/docs/stable/build-a-python-app-with-cockroachdb"},{"title":"Build a Simple CRUD Python App with CockroachDB and SQLAlchemy","href":"/docs/stable/build-a-python-app-with-cockroachdb-sqlalchemy"},{"title":"Build a Python App with CockroachDB and Django","href":"/docs/stable/build-a-python-app-with-cockroachdb-django"},{"title":"Build a Python App with CockroachDB and asyncpg","href":"/docs/stable/build-a-python-app-with-cockroachdb-asyncpg"}]},{"group":"Golang","pages":[{"title":"Build a Simple CRUD Go App with CockroachDB and the Go pgx Driver","href":"/docs/stable/build-a-go-app-with-cockroachdb"},{"title":"Build a Go App with CockroachDB and GORM","href":"/docs/stable/build-a-go-app-with-cockroachdb-gorm"},{"title":"Build a Go App with CockroachDB the Go pq Driver","href":"/docs/stable/build-a-go-app-with-cockroachdb-pq"},{"title":"Build a Go App with CockroachDB and upper/db","href":"/docs/stable/build-a-go-app-with-cockroachdb-upperdb"}]},{"group":"Java","pages":[{"title":"Build a Simple CRUD Java App with CockroachDB and JDBC","href":"/docs/stable/build-a-java-app-with-cockroachdb"},{"title":"Build a Java App with CockroachDB and Hibernate","href":"/docs/stable/build-a-java-app-with-cockroachdb-hibernate"},{"title":"Build a Java App with CockroachDB and jOOQ","href":"/docs/stable/build-a-java-app-with-cockroachdb-jooq"},{"title":"Build a Spring App with CockroachDB and MyBatis","href":"/docs/stable/build-a-spring-app-with-cockroachdb-mybatis"}]},{"group":"Ruby","pages":[{"title":"Build a Ruby App with CockroachDB and the Ruby pg Driver","href":"/docs/stable/build-a-ruby-app-with-cockroachdb"},{"title":"Build a Ruby App with CockroachDB and Active Record","href":"/docs/stable/build-a-ruby-app-with-cockroachdb-activerecord"}]},{"title":"Build a C# App with CockroachDB and the .NET Npgsql Driver","sidebarTitle":"C# (.NET)","href":"/docs/stable/build-a-csharp-app-with-cockroachdb"},{"title":"Build a Rust App with CockroachDB and the Rust-Postgres Driver","sidebarTitle":"Rust","href":"/docs/stable/build-a-rust-app-with-cockroachdb"},{"title":"Build a GraphQL Application Using Hasura","sidebarTitle":"Hasura (GraphQL)","href":"/docs/stable/hasura-getting-started"}]},{"group":"Standard Examples","pages":[{"title":"Create and Deploy an AWS Lambda Function Built on CockroachDB","sidebarTitle":"AWS Lambda","href":"/docs/stable/deploy-lambda-function"},{"title":"Deploy a CockroachDB Cloud Application with Google Cloud Run","sidebarTitle":"Google Cloud Run","href":"/docs/stable/deploy-app-gcr"},{"title":"Deploy a Netlify App Built on CockroachDB","sidebarTitle":"Netlify","href":"/docs/stable/deploy-app-netlify"},{"title":"Deploy a Web App Built on CockroachDB with Vercel","sidebarTitle":"Vercel","href":"/docs/stable/deploy-app-vercel"},{"title":"Serverless Function Best Practices","href":"/docs/stable/serverless-function-best-practices"}]},{"title":"MovR","href":"/docs/stable/movr"}]},{"group":"CockroachDB and AI","pages":[{"title":"CockroachDB and AI","sidebarTitle":"Overview","href":"/docs/stable/cockroachdb-and-ai"},{"title":"Agent Skills for CockroachDB","href":"/docs/stable/agent-skills"},{"group":"CockroachDB MCP Server","pages":[{"title":"CockroachDB MCP Server","sidebarTitle":"Overview","href":"/docs/stable/cockroachdb-mcp-server"},{"title":"Install, Configure, and Connect to the CockroachDB MCP Server","sidebarTitle":"Install, Configure, and Connect","href":"/docs/stable/install-cockroachdb-mcp-server"},{"title":"CockroachDB MCP Server Reference","sidebarTitle":"Self-hosted MCP Server Reference","href":"/docs/stable/cockroachdb-mcp-server-reference"}]},{"title":"CockroachDB Docs MCP Server","sidebarTitle":"Docs MCP Server","href":"/docs/stable/docs-mcp-integration"}]},{"group":"Feature Overview","pages":[{"group":"CockroachDB Basics","pages":[{"title":"Why CockroachDB?","href":"/docs/stable/why-cockroachdb"},{"title":"Replication and Rebalancing","sidebarTitle":"Replication \u0026 Rebalancing","href":"/docs/stable/demo-replication-and-rebalancing"},{"title":"CockroachDB Resilience Demo","sidebarTitle":"CockroachDB Resilience","href":"/docs/stable/demo-cockroachdb-resilience"},{"title":"Serializable Transactions","href":"/docs/stable/demo-serializable"},{"title":"Multi-Active Availability","href":"/docs/stable/multi-active-availability"}]},{"group":"CockroachDB SQL","pages":[{"title":"PostgreSQL Compatibility","href":"/docs/stable/postgresql-compatibility"},{"title":"SQL Feature Support in CockroachDB","sidebarTitle":"SQL Features","href":"/docs/stable/sql-feature-support"},{"title":"SQL FAQs","href":"/docs/stable/sql-faqs"}]}]},{"group":"Data Resilience","pages":[{"title":"Data Resilience","sidebarTitle":"Overview","href":"/docs/stable/data-resilience"},{"title":"Disaster Recovery Overview","sidebarTitle":"Disaster Recovery","href":"/docs/stable/disaster-recovery-overview"}]},{"group":"Connect to an Application","pages":[{"title":"Install a Driver or ORM Framework","href":"/docs/stable/install-client-drivers"},{"title":"Connect to a CockroachDB Cluster","sidebarTitle":"Connect to a Cluster","href":"/docs/stable/connect-to-the-database"},{"title":"Client Connection Parameters","href":"/docs/stable/connection-parameters"},{"title":"Connection Pooling","href":"/docs/stable/connection-pooling"}]},{"group":"Self-Hosted Deployments","pages":[{"title":"Production Checklist","href":"/docs/stable/recommended-production-settings"},{"title":"Deployment \u0026 Operations Skills Taxonomy","sidebarTitle":"Deployment and Operations Skills Taxonomy","href":"/docs/stable/deployment-operations-skills-taxonomy"},{"group":"Deploy Locally","pages":[{"group":"Deploy from Binary","pages":[{"title":"Deploy a Local Cluster from Binary (Secure)","href":"/docs/stable/secure-a-cluster"},{"title":"Deploy a Local Cluster from Binary (Insecure)","href":"/docs/stable/start-a-local-cluster"}]},{"group":"Deploy in Docker","pages":[{"title":"Deploy a Local Cluster in Docker (Insecure)","href":"/docs/stable/start-a-local-cluster-in-docker-mac"},{"title":"Deploy a Local Cluster in Docker (Insecure)","href":"/docs/stable/start-a-local-cluster-in-docker-linux"},{"title":"Deploy a Local Cluster in Docker (Insecure)","href":"/docs/stable/start-a-local-cluster-in-docker-windows"}]},{"title":"Simulate a Multi-Region Cluster on localhost (Insecure)","sidebarTitle":"Simulate a Multi-Region Cluster Locally","href":"/docs/stable/simulate-a-multi-region-cluster-on-localhost"}]},{"group":"Deploy Manually","pages":[{"title":"Manual Deployment","sidebarTitle":"Overview","href":"/docs/stable/manual-deployment"},{"title":"Deploy CockroachDB On-Premises","sidebarTitle":"Deploy On-Premises","href":"/docs/stable/deploy-cockroachdb-on-premises"},{"title":"Deploy CockroachDB on AWS EC2","sidebarTitle":"Deploy on AWS","href":"/docs/stable/deploy-cockroachdb-on-aws"},{"title":"Deploy CockroachDB on Microsoft Azure","sidebarTitle":"Deploy on Azure","href":"/docs/stable/deploy-cockroachdb-on-microsoft-azure"},{"title":"Deploy CockroachDB on Google Cloud Platform GCE","sidebarTitle":"Deploy on Google Cloud Platform GCE","href":"/docs/stable/deploy-cockroachdb-on-google-cloud-platform"},{"title":"Deploy CockroachDB on Digital Ocean","sidebarTitle":"Deploy on Digital Ocean","href":"/docs/stable/deploy-cockroachdb-on-digital-ocean"}]},{"group":"Deploy in Kubernetes with CockroachDB Operator","pages":[{"title":"CockroachDB Operator Overview","sidebarTitle":"Overview","href":"/docs/stable/cockroachdb-operator-overview"},{"title":"Deploy CockroachDB with the CockroachDB Operator","sidebarTitle":"CockroachDB Operator Deployment Guide","href":"/docs/stable/deploy-cockroachdb-with-cockroachdb-operator"},{"group":"Migrate from Other Kubernetes Deployments","pages":[{"title":"Migrate from Helm StatefulSet","href":"/docs/stable/migrate-cockroachdb-kubernetes-helm"},{"title":"Migrate from the Public Operator","sidebarTitle":"Migrate from Public operator","href":"/docs/stable/migrate-cockroachdb-kubernetes-operator"}]},{"group":"Operate CockroachDB with Kubernetes","pages":[{"title":"Pod Scheduling with the CockroachDB Operator","sidebarTitle":"Pod Scheduling","href":"/docs/stable/schedule-cockroachdb-operator"},{"title":"Resource Management with the CockroachDB Operator","sidebarTitle":"Resource Management","href":"/docs/stable/configure-cockroachdb-operator"},{"title":"Certificate Management with the CockroachDB Operator","sidebarTitle":"Certificate Management","href":"/docs/stable/secure-cockroachdb-operator"},{"title":"Cluster Scaling with the CockroachDB Operator","sidebarTitle":"Cluster Scaling","href":"/docs/stable/scale-cockroachdb-operator"},{"title":"Cluster Monitoring with the CockroachDB Operator","sidebarTitle":"Cluster Monitoring","href":"/docs/stable/monitor-cockroachdb-operator"},{"title":"Upgrade a cluster in Kubernetes with the CockroachDB Operator","sidebarTitle":"Cluster Upgrades","href":"/docs/stable/upgrade-cockroachdb-operator"},{"title":"Override Deployment Templates with the CockroachDB Operator","sidebarTitle":"Override Templates","href":"/docs/stable/override-templates-cockroachdb-operator"},{"title":"Performance with the CockroachDB Operator","sidebarTitle":"Kubernetes Performance","href":"/docs/stable/cockroachdb-operator-performance"}]}]},{"group":"Deploy on Kubernetes with Legacy Technologies","pages":[{"title":"Kubernetes Overview","sidebarTitle":"Overview","href":"/docs/stable/kubernetes-overview"},{"title":"Legacy Kubernetes Deployment Deprecation Notice","sidebarTitle":"Legacy Kubernetes Deployment Deprecation Notice","href":"/docs/stable/kubernetes-deprecation-notice"},{"title":"Deploy CockroachDB in a Single Kubernetes Cluster","href":"/docs/stable/deploy-cockroachdb-with-kubernetes"},{"title":"Deploy CockroachDB in a Single Kubernetes Cluster (Insecure)","href":"/docs/stable/deploy-cockroachdb-with-kubernetes-insecure"},{"title":"Deploy CockroachDB on Red Hat OpenShift","sidebarTitle":"OpenShift Deployment","href":"/docs/stable/deploy-cockroachdb-with-kubernetes-openshift"},{"title":"Orchestrate CockroachDB Across Multiple Kubernetes Clusters","sidebarTitle":"Multi-Cluster Deployment","href":"/docs/stable/orchestrate-cockroachdb-with-kubernetes-multi-cluster"},{"group":"Operate on Kubernetes","pages":[{"title":"Pod Scheduling","href":"/docs/stable/schedule-cockroachdb-kubernetes"},{"title":"Resource Management","href":"/docs/stable/configure-cockroachdb-kubernetes"},{"title":"Certificate Management","href":"/docs/stable/secure-cockroachdb-kubernetes"},{"title":"Cluster Scaling","href":"/docs/stable/scale-cockroachdb-kubernetes"},{"title":"Cluster Monitoring","href":"/docs/stable/monitor-cockroachdb-kubernetes"},{"title":"Upgrade a cluster in Kubernetes","sidebarTitle":"Cluster Upgrades","href":"/docs/stable/upgrade-cockroachdb-kubernetes"},{"title":"CockroachDB Performance on Kubernetes","sidebarTitle":"Kubernetes Performance","href":"/docs/stable/kubernetes-performance"}]}]},{"group":"Multi-Region for Self-Hosted Deployments","pages":[{"title":"Topology Patterns Overview","href":"/docs/stable/topology-patterns"},{"title":"Basic Production Topology","href":"/docs/stable/topology-basic-production"},{"title":"Follower Reads Topology","href":"/docs/stable/topology-follower-reads"},{"title":"Follow-the-Workload Topology","href":"/docs/stable/topology-follow-the-workload"},{"title":"Regional Tables","href":"/docs/stable/regional-tables"},{"title":"Global Tables","href":"/docs/stable/global-tables"}]},{"group":"Security","pages":[{"group":"Certificates","pages":[{"title":"Use the CockroachDB CLI to provision a development cluster","href":"/docs/stable/manage-certs-cli"},{"title":"Manage PKI certificates with HashiCorp Vault","href":"/docs/stable/manage-certs-vault"},{"title":"Create Security Certificates using OpenSSL","href":"/docs/stable/create-security-certificates-openssl"},{"title":"Advanced Public Key Infrastructure (PKI) Certificate Scenarios","href":"/docs/stable/create-security-certificates-custom-ca"},{"title":"Using Online Certificate Status Protocol (OCSP) with CockroachDB","sidebarTitle":"Use Online Certificate Status Protocol (OCSP)","href":"/docs/stable/manage-certs-revoke-ocsp"},{"title":"Certificate-based authentication using multiple values from the X.509 Subject field","sidebarTitle":"Certificate-based authentication using multiple values from the X.509 SUBJECT field","href":"/docs/stable/certificate-based-authentication-using-the-x509-subject-field"}]},{"title":"Authenticate to CockroachDB Self-Hosted Clusters","sidebarTitle":"Authentication","href":"/docs/stable/authentication"},{"title":"Manage Encryption for CockroachDB Self-Hosted Clusters","sidebarTitle":"Encryption","href":"/docs/stable/encryption"},{"title":"Manage Cluster User Authorization","sidebarTitle":"Authorization","href":"/docs/stable/authorization"},{"title":"Table-based SQL Audit Logging","href":"/docs/stable/sql-audit-logging"},{"title":"Role-based SQL Audit Logging","href":"/docs/stable/role-based-audit-logging"},{"title":"Configure LDAP Authentication","sidebarTitle":"LDAP Authentication","href":"/docs/stable/ldap-authentication"},{"title":"Configure LDAP Authorization","sidebarTitle":"LDAP Authorization","href":"/docs/stable/ldap-authorization"},{"title":"GSSAPI Authentication (Enterprise)","sidebarTitle":"GSSAPI Authentication","href":"/docs/stable/gssapi_authentication"},{"title":"Cluster Single Sign-on (SSO) using JSON Web Tokens (JWTs)","sidebarTitle":"Cluster SSO using JWT","href":"/docs/stable/sso-sql"},{"title":"Configure JWT Authorization","sidebarTitle":"JWT Authorization","href":"/docs/stable/jwt-authorization"},{"title":"Single Sign-on (SSO) for DB Console","sidebarTitle":"DB Console SSO","href":"/docs/stable/sso-db-console"},{"title":"Configure OIDC Authorization for DB Console","sidebarTitle":"OIDC Authorization","href":"/docs/stable/oidc-authorization"},{"title":"Rotate Security Certificates","href":"/docs/stable/rotate-certificates"},{"title":"Use HashiCorp Vault's Dynamic Secrets","sidebarTitle":"Use Hashicorp Vault's Dynamic Secrets","href":"/docs/stable/vault-db-secrets-tutorial"},{"title":"Update Operating System Packages in a CockroachDB Docker Image","sidebarTitle":"Update Docker Image OS Packages","href":"/docs/stable/update-docker-image-os-packages"}]},{"group":"Monitoring and Alerting","pages":[{"title":"Monitoring and Alerting","sidebarTitle":"Overview","href":"/docs/stable/monitoring-and-alerting"},{"title":"Common Issues to Monitor","href":"/docs/stable/common-issues-to-monitor"},{"title":"Enable the Node Map","href":"/docs/stable/enable-node-map"},{"title":"Prometheus Endpoint","href":"/docs/stable/prometheus-endpoint"},{"title":"Monitor CockroachDB with Prometheus","sidebarTitle":"Use Prometheus and Alertmanager","href":"/docs/stable/monitor-cockroachdb-with-prometheus"},{"title":"Essential Metrics for CockroachDB Self-Hosted Deployments","sidebarTitle":"Essential Metrics for CockroachDB self-hosted Deployments","href":"/docs/stable/essential-metrics-self-hosted"},{"title":"Essential Alerts for CockroachDB Self-Hosted Deployments","sidebarTitle":"Essential Alerts for CockroachDB self-hosted Deployments","href":"/docs/stable/essential-alerts-self-hosted"}]},{"group":"Administration","pages":[{"title":"DB Console Overview","href":"/docs/stable/ui-overview"},{"title":"Cluster Overview Page","href":"/docs/stable/ui-cluster-overview-page"},{"group":"Metrics Dashboards","pages":[{"title":"Overview Dashboard","sidebarTitle":"Overview","href":"/docs/stable/ui-overview-dashboard"},{"title":"Hardware Dashboard","sidebarTitle":"Hardware","href":"/docs/stable/ui-hardware-dashboard"},{"title":"Runtime Dashboard","sidebarTitle":"Runtime","href":"/docs/stable/ui-runtime-dashboard"},{"title":"Networking Dashboard","sidebarTitle":"Networking","href":"/docs/stable/ui-networking-dashboard"},{"title":"SQL Dashboard","sidebarTitle":"SQL","href":"/docs/stable/ui-sql-dashboard"},{"title":"Storage Dashboard","sidebarTitle":"Storage","href":"/docs/stable/ui-storage-dashboard"},{"title":"Replication Dashboard","sidebarTitle":"Replication","href":"/docs/stable/ui-replication-dashboard"},{"title":"Distributed Dashboard","sidebarTitle":"Distributed","href":"/docs/stable/ui-distributed-dashboard"},{"title":"Queues Dashboard","sidebarTitle":"Queues","href":"/docs/stable/ui-queues-dashboard"},{"title":"Slow Requests Dashboard","sidebarTitle":"Slow Requests","href":"/docs/stable/ui-slow-requests-dashboard"},{"title":"Changefeeds Dashboard","sidebarTitle":"Changefeeds","href":"/docs/stable/ui-cdc-dashboard"},{"title":"Overload Dashboard","sidebarTitle":"Overload","href":"/docs/stable/ui-overload-dashboard"},{"title":"TTL Dashboard","sidebarTitle":"TTL","href":"/docs/stable/ui-ttl-dashboard"},{"title":"Physical Cluster Replication Dashboard","sidebarTitle":"Physical Cluster Replication","href":"/docs/stable/ui-physical-cluster-replication-dashboard"},{"title":"Logical Data Replication Dashboard","sidebarTitle":"Logical Data Replication","href":"/docs/stable/ui-logical-data-replication-dashboard"},{"title":"Custom Chart Debug Page","href":"/docs/stable/ui-custom-chart-debug-page"}]},{"title":"Databases Page","href":"/docs/stable/ui-databases-page"},{"title":"Sessions Page","href":"/docs/stable/ui-sessions-page"},{"title":"Statements Page","href":"/docs/stable/ui-statements-page"},{"title":"Transactions Page","href":"/docs/stable/ui-transactions-page"},{"title":"Insights Page","href":"/docs/stable/ui-insights-page"},{"title":"Network Page","href":"/docs/stable/ui-network-latency-page"},{"title":"Top Ranges Page","href":"/docs/stable/ui-top-ranges-page"},{"title":"Jobs Page","href":"/docs/stable/ui-jobs-page"},{"title":"Schedules Page","href":"/docs/stable/ui-schedules-page"},{"title":"Advanced Debug Page","href":"/docs/stable/ui-debug-pages"},{"title":"Key Visualizer","href":"/docs/stable/ui-key-visualizer"},{"title":"WAL Failover","href":"/docs/stable/wal-failover"}]},{"group":"Backups and Restores","pages":[{"title":"Backup and Restore Overview","sidebarTitle":"Overview","href":"/docs/stable/backup-and-restore-overview"},{"title":"Take Full and Incremental Backups","sidebarTitle":"Full and Incremental Backups","href":"/docs/stable/take-full-and-incremental-backups"},{"title":"Take Backups with Revision History and Restore from a Point-in-time","sidebarTitle":"Backups with Revision History and Point-in-time Restore","href":"/docs/stable/take-backups-with-revision-history-and-restore-from-a-point-in-time"},{"title":"Take and Restore Encrypted Backups","sidebarTitle":"Encrypted Backup and Restore","href":"/docs/stable/take-and-restore-encrypted-backups"},{"title":"Take Locality-restricted Backups","sidebarTitle":"Locality-restricted Backup Execution","href":"/docs/stable/take-locality-restricted-backups"},{"title":"Take and Restore Locality-aware Backups","sidebarTitle":"Locality-aware Backup and Restore","href":"/docs/stable/take-and-restore-locality-aware-backups"},{"title":"Manage a Backup Schedule","sidebarTitle":"Scheduled Backups","href":"/docs/stable/manage-a-backup-schedule"},{"title":"Backup Validation","href":"/docs/stable/backup-validation"},{"title":"Expire Past Backups","href":"/docs/stable/expire-past-backups"},{"title":"Backup and Restore Monitoring","href":"/docs/stable/backup-and-restore-monitoring"}]},{"group":"File Storage","pages":[{"title":"Use Cloud Storage","sidebarTitle":"Cloud Storage","href":"/docs/stable/use-cloud-storage"},{"title":"Cloud Storage Authentication","href":"/docs/stable/cloud-storage-authentication"},{"title":"Use Userfile Storage","sidebarTitle":"Userfile Storage","href":"/docs/stable/use-userfile-storage"},{"title":"Use a Local File Server","sidebarTitle":"Local File Server","href":"/docs/stable/use-a-local-file-server"}]},{"group":"Cluster Maintenance","pages":[{"title":"Upgrade CockroachDB self-hosted","sidebarTitle":"Upgrade CockroachDB","href":"/docs/stable/upgrade-cockroach-version"},{"title":"Disaster Recovery Planning","href":"/docs/stable/disaster-recovery-planning"},{"title":"Restoring Backups Across Versions","href":"/docs/stable/restoring-backups-across-versions"},{"title":"Manage Long-Running Queries","href":"/docs/stable/manage-long-running-queries"},{"title":"Node Shutdown","href":"/docs/stable/node-shutdown"}]},{"group":"Logs","pages":[{"title":"Logging Overview","sidebarTitle":"Overview","href":"/docs/stable/logging-overview"},{"title":"Configure Logs","href":"/docs/stable/configure-logs"},{"title":"Logging Use Cases","href":"/docs/stable/logging-use-cases"},{"title":"Log SQL Activity to Datadog","href":"/docs/stable/log-sql-activity-to-datadog"},{"title":"Logging Best Practices","href":"/docs/stable/logging-best-practices"},{"title":"Critical Log Messages","href":"/docs/stable/critical-log-messages"}]},{"title":"Cluster API v2.0","sidebarTitle":"Cluster API","href":"/docs/stable/cluster-api"}]},{"group":"Schema Design","pages":[{"title":"Database Schemas","href":"/docs/stable/schema-design-overview"},{"title":"Computed Columns","href":"/docs/stable/computed-columns"},{"title":"Column Families","href":"/docs/stable/column-families"},{"title":"Scale to Multiple Regions","href":"/docs/stable/multiregion-scale-application"},{"group":"Indexes","pages":[{"title":"Secondary Indexes","href":"/docs/stable/schema-design-indexes"},{"title":"Index a Subset of Rows with Partial Indexes","sidebarTitle":"Partial Indexes","href":"/docs/stable/partial-indexes"},{"title":"Index Sequential Keys with Hash-sharded Indexes","sidebarTitle":"Hash-sharded Indexes","href":"/docs/stable/hash-sharded-indexes"},{"title":"Generalized Inverted Indexes","href":"/docs/stable/inverted-indexes"},{"title":"Full-Text Search","href":"/docs/stable/full-text-search"},{"title":"Trigram Indexes","href":"/docs/stable/trigram-indexes"},{"title":"Expression Indexes","href":"/docs/stable/expression-indexes"},{"title":"Spatial Indexes","href":"/docs/stable/spatial-indexes"},{"title":"Vector Indexes","href":"/docs/stable/vector-indexes"}]},{"group":"Update a Database Schema","pages":[{"title":"Online Schema Changes","href":"/docs/stable/online-schema-changes"},{"title":"Migrate CockroachDB Schemas with Alembic","sidebarTitle":"Use Alembic","href":"/docs/stable/alembic"},{"title":"Migrate CockroachDB Schemas with Flyway","sidebarTitle":"Use Flyway","href":"/docs/stable/flyway"},{"title":"Migrate CockroachDB Schemas with Liquibase","sidebarTitle":"Use Liquibase","href":"/docs/stable/liquibase"}]}]},{"group":"Reads and Writes","pages":[{"title":"Reads and Writes in CockroachDB","sidebarTitle":"Overview","href":"/docs/stable/architecture/reads-and-writes-overview"},{"group":"Read Data","pages":[{"title":"Reusable Views","href":"/docs/stable/views"},{"title":"Subqueries","href":"/docs/stable/subqueries"},{"title":"Temporary Tables","href":"/docs/stable/temporary-tables"},{"title":"Paginate Results","href":"/docs/stable/pagination"},{"title":"Follower Reads","href":"/docs/stable/follower-reads"},{"title":"AS OF SYSTEM TIME","sidebarTitle":"AS OF SYSTEM TIME","href":"/docs/stable/as-of-system-time"},{"title":"Query Spatial Data","href":"/docs/stable/query-spatial-data"}]},{"group":"Write Data","pages":[{"title":"Bulk-update Data","href":"/docs/stable/bulk-update-data"},{"title":"Bulk-delete Data","href":"/docs/stable/bulk-delete-data"},{"title":"Batch Delete Expired Data with Row-Level TTL","href":"/docs/stable/row-level-ttl"}]},{"group":"Transactions","pages":[{"title":"Transactions","sidebarTitle":"Overview","href":"/docs/stable/transactions"},{"title":"Advanced Client-side Transaction Retries","href":"/docs/stable/advanced-client-side-transaction-retries"},{"title":"Life of a Distributed Transaction","href":"/docs/stable/architecture/life-of-a-distributed-transaction"},{"title":"Read Committed Transactions","href":"/docs/stable/read-committed"}]},{"title":"Test Your Application Locally","href":"/docs/stable/local-testing"},{"url":"https://www.cockroachlabs.com/docs/tutorials/sql-playground","title":"SQL Playground","href":"/links/tutorials/sql-playground"},{"group":"Database Management Tools","pages":[{"title":"Visualize CockroachDB Schemas with DBeaver","sidebarTitle":"DBeaver GUI","href":"/docs/stable/dbeaver"},{"title":"Use IntelliJ IDEA with CockroachDB","sidebarTitle":"IntelliJ IDEA","href":"/docs/stable/intellij-idea"}]}]},{"group":"Stream Data","pages":[{"title":"Change Data Capture Overview","href":"/docs/stable/change-data-capture-overview"},{"group":"Get Started with Changefeeds","pages":[{"title":"Create and Configure Changefeeds","href":"/docs/stable/create-and-configure-changefeeds"},{"title":"Changefeed Best Practices","href":"/docs/stable/changefeed-best-practices"},{"group":"Changefeed Messages","pages":[{"title":"Changefeed Messages","sidebarTitle":"Overview","href":"/docs/stable/changefeed-messages"},{"title":"Changefeed Message Envelope","sidebarTitle":"Message Envelope","href":"/docs/stable/changefeed-message-envelopes"}]},{"title":"Changefeed Sinks","href":"/docs/stable/changefeed-sinks"},{"title":"Changefeed Examples","href":"/docs/stable/changefeed-examples"}]},{"group":"Monitor Changefeeds","pages":[{"title":"Monitor and Debug Changefeeds","sidebarTitle":"Overview","href":"/docs/stable/monitor-and-debug-changefeeds"},{"title":"Changefeed Monitoring Guide","sidebarTitle":"Monitoring Guide","href":"/docs/stable/changefeed-monitoring-guide"},{"title":"Protect Changefeed Data from Garbage Collection","sidebarTitle":"Protect Changefeed Data","href":"/docs/stable/protect-changefeed-data"}]},{"group":"Optimize Changefeeds","pages":[{"title":"Change Data Capture Queries","href":"/docs/stable/cdc-queries"},{"title":"Changefeeds on Tables with Column Families","href":"/docs/stable/changefeeds-on-tables-with-column-families"},{"title":"Export Data with Changefeeds","href":"/docs/stable/export-data-with-changefeeds"},{"title":"Changefeeds in Multi-Region Deployments","href":"/docs/stable/changefeeds-in-multi-region-deployments"}]},{"group":"Changefeed Tutorials","pages":[{"group":"Stream a Changefeed to an Amazon MSK Cluster","pages":[{"title":"Stream a Changefeed to Amazon MSK","sidebarTitle":"Amazon MSK","href":"/docs/stable/stream-a-changefeed-to-amazon-msk"},{"title":"Stream a Changefeed to Amazon MSK Serverless","sidebarTitle":"Amazon MSK Serverless","href":"/docs/stable/stream-a-changefeed-to-amazon-msk-serverless"}]},{"title":"Connect to a Changefeed Kafka Sink with OAuth Using Okta","href":"/docs/stable/connect-to-a-changefeed-kafka-sink-with-oauth-using-okta"},{"title":"Stream a Changefeed to a Confluent Cloud Kafka Cluster","href":"/docs/stable/stream-a-changefeed-to-a-confluent-cloud-kafka-cluster"}]},{"group":"Technical Overview","pages":[{"title":"How Does a Changefeed Work?","href":"/docs/stable/how-does-a-changefeed-work"}]},{"title":"Advanced Changefeed Configuration","href":"/docs/stable/advanced-changefeed-configuration"}]},{"group":"Cross-Cluster Replication","pages":[{"group":"Logical Data Replication","pages":[{"title":"Logical Data Replication","sidebarTitle":"Overview","href":"/docs/stable/logical-data-replication-overview"},{"title":"Set Up Logical Data Replication","href":"/docs/stable/set-up-logical-data-replication"},{"title":"Manage Logical Data Replication","href":"/docs/stable/manage-logical-data-replication"},{"title":"Logical Data Replication Monitoring","sidebarTitle":"Monitor Logical Data Replication","href":"/docs/stable/logical-data-replication-monitoring"}]},{"group":"Physical Cluster Replication","pages":[{"title":"Physical Cluster Replication","sidebarTitle":"Overview","href":"/docs/stable/physical-cluster-replication-overview"},{"title":"Set Up Physical Cluster Replication","href":"/docs/stable/set-up-physical-cluster-replication"},{"title":"Upgrade a Cluster Running PCR","href":"/docs/stable/upgrade-with-pcr"},{"title":"Fail Over from a Primary Cluster to a Standby Cluster","sidebarTitle":"Fail Over from a Primary to a Standby Cluster","href":"/docs/stable/failover-replication"},{"title":"Physical Cluster Replication Monitoring","sidebarTitle":"Monitor a Replication Stream","href":"/docs/stable/physical-cluster-replication-monitoring"},{"title":"Read from Standby","sidebarTitle":"Read From Standby","href":"/docs/stable/read-from-standby"},{"title":"Physical Cluster Replication Technical Overview","sidebarTitle":"Technical Overview","href":"/docs/stable/physical-cluster-replication-technical-overview"},{"group":"Cluster Virtualization","pages":[{"title":"Cluster Virtualization Overview","sidebarTitle":"Overview","href":"/docs/stable/cluster-virtualization-overview"},{"title":"Work with virtual clusters","sidebarTitle":"Work with Virtual Clusters","href":"/docs/stable/work-with-virtual-clusters"},{"title":"Cluster Setting Scopes with Cluster Virtualization enabled","sidebarTitle":"Setting Scopes","href":"/docs/stable/cluster-virtualization-setting-scopes"},{"title":"Cluster Metric Scopes with Cluster Virtualization enabled","sidebarTitle":"Metric Scopes","href":"/docs/stable/cluster-virtualization-metric-scopes"}]}]}]},{"group":"Multi-Region Capabilities","pages":[{"title":"Multi-Region Capabilities Overview","sidebarTitle":"Overview","href":"/docs/stable/multiregion-overview"},{"title":"Multi-Region Survival Goals","sidebarTitle":"Survival Goals","href":"/docs/stable/multiregion-survival-goals"},{"group":"Data Domiciling and Performance","pages":[{"title":"Table Localities","href":"/docs/stable/table-localities"},{"title":"Table Partitioning","href":"/docs/stable/partitioning"},{"title":"Data Domiciling with CockroachDB","sidebarTitle":"Data Domiciling with CockroachDB Tutorial","href":"/docs/stable/data-domiciling"}]},{"title":"How to Choose a Multi-Region Configuration","href":"/docs/stable/choosing-a-multi-region-configuration"},{"title":"Multi-Region Zone Config Extensions","href":"/docs/stable/zone-config-extensions"}]},{"group":"Optimize Performance","pages":[{"title":"Optimize Statement Performance Overview","sidebarTitle":"Overview","href":"/docs/stable/make-queries-fast"},{"title":"SQL Performance Best Practices","href":"/docs/stable/performance-best-practices-overview"},{"title":"Indexes","href":"/docs/stable/indexes"},{"title":"Map SQL Activity using an Application Name","href":"/docs/stable/map-sql-activity-to-app"},{"title":"Cost-Based Optimizer","href":"/docs/stable/cost-based-optimizer"},{"title":"Canary Statistics","href":"/docs/stable/canary-statistics"},{"title":"Vectorized Query Execution","sidebarTitle":"Vectorized Execution Engine","href":"/docs/stable/vectorized-execution"},{"title":"Load-Based Splitting","href":"/docs/stable/load-based-splitting"},{"title":"Replication Controls","href":"/docs/stable/configure-replication-zones"},{"title":"Admission Control","href":"/docs/stable/admission-control"},{"title":"Monitor and Analyze Transaction Contention","href":"/docs/stable/monitor-and-analyze-transaction-contention"},{"title":"Performance Tuning Recipes","href":"/docs/stable/performance-recipes"},{"group":"Performance Tuning Tutorials","pages":[{"title":"Statement Tuning with EXPLAIN","sidebarTitle":"Statement Tuning with EXPLAIN","href":"/docs/stable/sql-tuning-with-explain"},{"title":"Apply SQL Statement Performance Rules","href":"/docs/stable/apply-statement-performance-rules"},{"title":"Troubleshoot Lock Contention","href":"/docs/stable/troubleshoot-lock-contention"}]}]},{"group":"Integrate","pages":[{"group":"Ory","pages":[{"title":"Ory Overview","href":"/docs/stable/ory-overview"},{"title":"Integrate CockroachDB with Ory","sidebarTitle":"Integrate with Ory","href":"/docs/stable/ory-integration-guide"}]},{"title":"Integrate CockroachDB with Satori","sidebarTitle":"Integrate with Satori","href":"/docs/stable/satori-integration"}]}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/stable/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/stable/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/stable/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/stable/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/stable/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/stable/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/stable/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/stable/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/stable/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/stable/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/stable/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/stable/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"group":"Statements","pages":[{"title":"SQL Statements","sidebarTitle":"Overview","href":"/docs/stable/sql-statements"},{"title":"ALTER BACKUP","sidebarTitle":"ALTER BACKUP","href":"/docs/stable/alter-backup"},{"title":"ALTER BACKUP SCHEDULE","sidebarTitle":"ALTER BACKUP SCHEDULE","href":"/docs/stable/alter-backup-schedule"},{"title":"ALTER CHANGEFEED","sidebarTitle":"ALTER CHANGEFEED","href":"/docs/stable/alter-changefeed"},{"title":"ALTER DATABASE","sidebarTitle":"ALTER DATABASE","href":"/docs/stable/alter-database"},{"title":"ALTER DEFAULT PRIVILEGES","sidebarTitle":"ALTER DEFAULT PRIVILEGES","href":"/docs/stable/alter-default-privileges"},{"title":"ALTER DOMAIN","sidebarTitle":"ALTER DOMAIN","href":"/docs/stable/alter-domain"},{"title":"ALTER EXTERNAL CONNECTION","sidebarTitle":"ALTER EXTERNAL CONNECTION","href":"/docs/stable/alter-external-connection"},{"title":"ALTER FUNCTION","sidebarTitle":"ALTER FUNCTION","href":"/docs/stable/alter-function"},{"title":"ALTER INDEX","sidebarTitle":"ALTER INDEX","href":"/docs/stable/alter-index"},{"title":"ALTER JOB","sidebarTitle":"ALTER JOB","href":"/docs/stable/alter-job"},{"title":"ALTER PARTITION","sidebarTitle":"ALTER PARTITION","href":"/docs/stable/alter-partition"},{"title":"ALTER POLICY","sidebarTitle":"ALTER POLICY","href":"/docs/stable/alter-policy"},{"title":"ALTER PROCEDURE","sidebarTitle":"ALTER PROCEDURE","href":"/docs/stable/alter-procedure"},{"title":"ALTER RANGE","sidebarTitle":"ALTER RANGE","href":"/docs/stable/alter-range"},{"title":"ALTER ROLE","sidebarTitle":"ALTER ROLE","href":"/docs/stable/alter-role"},{"title":"ALTER SCHEMA","sidebarTitle":"ALTER SCHEMA","href":"/docs/stable/alter-schema"},{"title":"ALTER SEQUENCE","sidebarTitle":"ALTER SEQUENCE","href":"/docs/stable/alter-sequence"},{"title":"ALTER TABLE","sidebarTitle":"ALTER TABLE","href":"/docs/stable/alter-table"},{"title":"ALTER TRIGGER","sidebarTitle":"ALTER TRIGGER","href":"/docs/stable/alter-trigger"},{"title":"ALTER TYPE","sidebarTitle":"ALTER TYPE","href":"/docs/stable/alter-type"},{"title":"ALTER USER","sidebarTitle":"ALTER USER","href":"/docs/stable/alter-user"},{"title":"ALTER VIEW","sidebarTitle":"ALTER VIEW","href":"/docs/stable/alter-view"},{"title":"ALTER VIRTUAL CLUSTER","sidebarTitle":"ALTER VIRTUAL CLUSTER","href":"/docs/stable/alter-virtual-cluster"},{"title":"BACKUP","sidebarTitle":"BACKUP","href":"/docs/stable/backup"},{"title":"BEGIN","sidebarTitle":"BEGIN","href":"/docs/stable/begin-transaction"},{"title":"CALL","sidebarTitle":"CALL","href":"/docs/stable/call"},{"title":"CANCEL JOB","sidebarTitle":"CANCEL JOB","href":"/docs/stable/cancel-job"},{"title":"CANCEL QUERY","sidebarTitle":"CANCEL QUERY","href":"/docs/stable/cancel-query"},{"title":"CANCEL SESSION","sidebarTitle":"CANCEL SESSION","href":"/docs/stable/cancel-session"},{"title":"CHECK EXTERNAL CONNECTION","sidebarTitle":"CHECK EXTERNAL CONNECTION","href":"/docs/stable/check-external-connection"},{"title":"COMMENT ON","sidebarTitle":"COMMENT ON","href":"/docs/stable/comment-on"},{"title":"COMMIT","sidebarTitle":"COMMIT","href":"/docs/stable/commit-transaction"},{"title":"COPY","sidebarTitle":"COPY","href":"/docs/stable/copy"},{"title":"CREATE CHANGEFEED","sidebarTitle":"CREATE CHANGEFEED","href":"/docs/stable/create-changefeed"},{"title":"CREATE DATABASE","sidebarTitle":"CREATE DATABASE","href":"/docs/stable/create-database"},{"title":"CREATE DOMAIN","sidebarTitle":"CREATE DOMAIN","href":"/docs/stable/create-domain"},{"title":"CREATE EXTERNAL CONNECTION","sidebarTitle":"CREATE EXTERNAL CONNECTION","href":"/docs/stable/create-external-connection"},{"title":"CREATE FUNCTION","sidebarTitle":"CREATE FUNCTION","href":"/docs/stable/create-function"},{"title":"CREATE INDEX","sidebarTitle":"CREATE INDEX","href":"/docs/stable/create-index"},{"title":"CREATE LOGICALLY REPLICATED","sidebarTitle":"CREATE LOGICALLY REPLICATED","href":"/docs/stable/create-logically-replicated"},{"title":"CREATE LOGICAL REPLICATION STREAM","sidebarTitle":"CREATE LOGICAL REPLICATION STREAM","href":"/docs/stable/create-logical-replication-stream"},{"title":"CREATE POLICY","sidebarTitle":"CREATE POLICY","href":"/docs/stable/create-policy"},{"title":"CREATE PROCEDURE","sidebarTitle":"CREATE PROCEDURE","href":"/docs/stable/create-procedure"},{"title":"CREATE ROLE","sidebarTitle":"CREATE ROLE","href":"/docs/stable/create-role"},{"title":"CREATE SCHEDULE FOR BACKUP","sidebarTitle":"CREATE SCHEDULE FOR BACKUP","href":"/docs/stable/create-schedule-for-backup"},{"title":"CREATE SCHEDULE FOR CHANGEFEED","sidebarTitle":"CREATE SCHEDULE FOR CHANGEFEED","href":"/docs/stable/create-schedule-for-changefeed"},{"title":"CREATE SCHEMA","sidebarTitle":"CREATE SCHEMA","href":"/docs/stable/create-schema"},{"title":"CREATE SEQUENCE","sidebarTitle":"CREATE SEQUENCE","href":"/docs/stable/create-sequence"},{"title":"CREATE STATISTICS","sidebarTitle":"CREATE STATISTICS","href":"/docs/stable/create-statistics"},{"title":"CREATE TABLE","sidebarTitle":"CREATE TABLE","href":"/docs/stable/create-table"},{"title":"CREATE TABLE AS","sidebarTitle":"CREATE TABLE AS","href":"/docs/stable/create-table-as"},{"title":"CREATE TRIGGER","sidebarTitle":"CREATE TRIGGER","href":"/docs/stable/create-trigger"},{"title":"CREATE TYPE","sidebarTitle":"CREATE TYPE","href":"/docs/stable/create-type"},{"title":"CREATE USER","sidebarTitle":"CREATE USER","href":"/docs/stable/create-user"},{"title":"CREATE VIEW","sidebarTitle":"CREATE VIEW","href":"/docs/stable/create-view"},{"title":"CREATE VIRTUAL CLUSTER","sidebarTitle":"CREATE VIRTUAL CLUSTER","href":"/docs/stable/create-virtual-cluster"},{"title":"DELETE","sidebarTitle":"DELETE","href":"/docs/stable/delete"},{"title":"DO","sidebarTitle":"DO","href":"/docs/stable/do"},{"title":"DROP DATABASE","sidebarTitle":"DROP DATABASE","href":"/docs/stable/drop-database"},{"title":"DROP EXTERNAL CONNECTION","sidebarTitle":"DROP EXTERNAL CONNECTION","href":"/docs/stable/drop-external-connection"},{"title":"DROP FUNCTION","sidebarTitle":"DROP FUNCTION","href":"/docs/stable/drop-function"},{"title":"DROP OWNED BY","sidebarTitle":"DROP OWNED BY","href":"/docs/stable/drop-owned-by"},{"title":"DROP POLICY","sidebarTitle":"DROP POLICY","href":"/docs/stable/drop-policy"},{"title":"DROP TRIGGER","sidebarTitle":"DROP TRIGGER","href":"/docs/stable/drop-trigger"},{"title":"DROP TYPE","sidebarTitle":"DROP TYPE","href":"/docs/stable/drop-type"},{"title":"DROP INDEX","sidebarTitle":"DROP INDEX","href":"/docs/stable/drop-index"},{"title":"DROP PROCEDURE","sidebarTitle":"DROP PROCEDURE","href":"/docs/stable/drop-procedure"},{"title":"DROP PROVISIONED ROLES","sidebarTitle":"DROP PROVISIONED ROLES","href":"/docs/stable/drop-provisioned-roles"},{"title":"DROP ROLE","sidebarTitle":"DROP ROLE","href":"/docs/stable/drop-role"},{"title":"DROP SCHEDULES","sidebarTitle":"DROP SCHEDULES","href":"/docs/stable/drop-schedules"},{"title":"DROP SCHEMA","sidebarTitle":"DROP SCHEMA","href":"/docs/stable/drop-schema"},{"title":"DROP SEQUENCE","sidebarTitle":"DROP SEQUENCE","href":"/docs/stable/drop-sequence"},{"title":"DROP TABLE","sidebarTitle":"DROP TABLE","href":"/docs/stable/drop-table"},{"title":"DROP USER","sidebarTitle":"DROP USER","href":"/docs/stable/drop-user"},{"title":"DROP VIEW","sidebarTitle":"DROP VIEW","href":"/docs/stable/drop-view"},{"title":"DROP VIRTUAL CLUSTER","sidebarTitle":"DROP VIRTUAL CLUSTER","href":"/docs/stable/drop-virtual-cluster"},{"title":"EXPERIMENTAL CHANGEFEED FOR","sidebarTitle":"EXPERIMENTAL CHANGEFEED FOR","href":"/docs/stable/changefeed-for"},{"title":"EXPLAIN","sidebarTitle":"EXPLAIN","href":"/docs/stable/explain"},{"title":"EXPLAIN ANALYZE","sidebarTitle":"EXPLAIN ANALYZE","href":"/docs/stable/explain-analyze"},{"title":"EXPORT","sidebarTitle":"EXPORT","href":"/docs/stable/export"},{"title":"GRANT","sidebarTitle":"GRANT","href":"/docs/stable/grant"},{"title":"IMPORT INTO","sidebarTitle":"IMPORT INTO","href":"/docs/stable/import-into"},{"title":"INSERT","sidebarTitle":"INSERT","href":"/docs/stable/insert"},{"title":"INSPECT","sidebarTitle":"INSPECT","href":"/docs/stable/inspect"},{"title":"JOIN expressions","sidebarTitle":"JOIN","href":"/docs/stable/joins"},{"title":"Limit Query Results","sidebarTitle":"LIMIT/OFFSET","href":"/docs/stable/limit-offset"},{"title":"ORDER BY","sidebarTitle":"ORDER BY","href":"/docs/stable/order-by"},{"title":"PAUSE JOB","sidebarTitle":"PAUSE JOB","href":"/docs/stable/pause-job"},{"title":"PAUSE SCHEDULES","sidebarTitle":"PAUSE SCHEDULES","href":"/docs/stable/pause-schedules"},{"title":"REASSIGN OWNED","sidebarTitle":"REASSIGN OWNED","href":"/docs/stable/reassign-owned"},{"title":"REFRESH","sidebarTitle":"REFRESH","href":"/docs/stable/refresh"},{"title":"RELEASE SAVEPOINT","sidebarTitle":"RELEASE SAVEPOINT","href":"/docs/stable/release-savepoint"},{"title":"RESET CLUSTER SETTING","sidebarTitle":"RESET CLUSTER SETTING","href":"/docs/stable/reset-cluster-setting"},{"title":"RESET {session variable}","sidebarTitle":"RESET {session variable}","href":"/docs/stable/reset-vars"},{"title":"RESTORE","sidebarTitle":"RESTORE","href":"/docs/stable/restore"},{"title":"RESUME JOB","sidebarTitle":"RESUME JOB","href":"/docs/stable/resume-job"},{"title":"RESUME SCHEDULES","sidebarTitle":"RESUME SCHEDULES","href":"/docs/stable/resume-schedules"},{"title":"REVOKE","sidebarTitle":"REVOKE","href":"/docs/stable/revoke"},{"title":"ROLLBACK","sidebarTitle":"ROLLBACK","href":"/docs/stable/rollback-transaction"},{"title":"SAVEPOINT","sidebarTitle":"SAVEPOINT","href":"/docs/stable/savepoint"},{"title":"Simple SELECT Clause","sidebarTitle":"SELECT","href":"/docs/stable/select-clause"},{"title":"FOR UPDATE and FOR SHARE","sidebarTitle":"FOR UPDATE and FOR SHARE","href":"/docs/stable/select-for-update"},{"title":"SET CLUSTER SETTING","sidebarTitle":"SET CLUSTER SETTING","href":"/docs/stable/set-cluster-setting"},{"title":"SET {session variable}","sidebarTitle":"SET {session variable}","href":"/docs/stable/set-vars"},{"title":"SET TRANSACTION","sidebarTitle":"SET TRANSACTION","href":"/docs/stable/set-transaction"},{"title":"SHOW BACKUP","sidebarTitle":"SHOW BACKUP","href":"/docs/stable/show-backup"},{"title":"SHOW CLUSTER SETTING","sidebarTitle":"SHOW CLUSTER SETTING","href":"/docs/stable/show-cluster-setting"},{"title":"SHOW COLUMNS","sidebarTitle":"SHOW COLUMNS","href":"/docs/stable/show-columns"},{"title":"SHOW CONSTRAINTS","sidebarTitle":"SHOW CONSTRAINTS","href":"/docs/stable/show-constraints"},{"title":"SHOW CREATE","sidebarTitle":"SHOW CREATE","href":"/docs/stable/show-create"},{"title":"SHOW CREATE EXTERNAL CONNECTION","sidebarTitle":"SHOW CREATE EXTERNAL CONNECTION","href":"/docs/stable/show-create-external-connection"},{"title":"SHOW CREATE SCHEDULE","sidebarTitle":"SHOW CREATE SCHEDULE","href":"/docs/stable/show-create-schedule"},{"title":"SHOW DATABASES","sidebarTitle":"SHOW DATABASES","href":"/docs/stable/show-databases"},{"title":"SHOW DEFAULT PRIVILEGES","sidebarTitle":"SHOW DEFAULT PRIVILEGES","href":"/docs/stable/show-default-privileges"},{"title":"SHOW DEFAULT SESSION VARIABLES FOR ROLE","sidebarTitle":"SHOW DEFAULT SESSION VARIABLES FOR ROLE","href":"/docs/stable/show-default-session-variables-for-role"},{"title":"SHOW ENUMS","sidebarTitle":"SHOW ENUMS","href":"/docs/stable/show-enums"},{"title":"SHOW EXTERNAL CONNECTION","sidebarTitle":"SHOW EXTERNAL CONNECTION","href":"/docs/stable/show-external-connection"},{"title":"SHOW FULL TABLE SCANS","sidebarTitle":"SHOW FULL TABLE SCANS","href":"/docs/stable/show-full-table-scans"},{"title":"SHOW GRANTS","sidebarTitle":"SHOW GRANTS","href":"/docs/stable/show-grants"},{"title":"SHOW INDEX","sidebarTitle":"SHOW INDEX","href":"/docs/stable/show-index"},{"title":"SHOW INSPECT ERRORS","sidebarTitle":"SHOW INSPECT ERRORS","href":"/docs/stable/show-inspect-errors"},{"title":"SHOW JOBS","sidebarTitle":"SHOW JOBS","href":"/docs/stable/show-jobs"},{"title":"SHOW LOCALITY","sidebarTitle":"SHOW LOCALITY","href":"/docs/stable/show-locality"},{"title":"SHOW LOGICAL REPLICATION JOBS","sidebarTitle":"SHOW LOGICAL REPLICATION JOBS","href":"/docs/stable/show-logical-replication-jobs"},{"title":"SHOW PARTITIONS","sidebarTitle":"SHOW PARTITIONS","href":"/docs/stable/show-partitions"},{"title":"SHOW POLICIES","sidebarTitle":"SHOW POLICIES","href":"/docs/stable/show-policies"},{"title":"SHOW RANGES","sidebarTitle":"SHOW RANGES","href":"/docs/stable/show-ranges"},{"title":"SHOW RANGE FOR ROW","sidebarTitle":"SHOW RANGE FOR ROW","href":"/docs/stable/show-range-for-row"},{"title":"SHOW REGIONS","sidebarTitle":"SHOW REGIONS","href":"/docs/stable/show-regions"},{"title":"SHOW {session variable}","sidebarTitle":"SHOW {session variable}","href":"/docs/stable/show-vars"},{"title":"SHOW SUPER REGIONS","sidebarTitle":"SHOW SUPER REGIONS","href":"/docs/stable/show-super-regions"},{"title":"SHOW SYSTEM GRANTS","sidebarTitle":"SHOW SYSTEM GRANTS","href":"/docs/stable/show-system-grants"},{"title":"SHOW ROLES","sidebarTitle":"SHOW ROLES","href":"/docs/stable/show-roles"},{"title":"SHOW SCHEDULES","sidebarTitle":"SHOW SCHEDULES","href":"/docs/stable/show-schedules"},{"title":"SHOW SCHEMAS","sidebarTitle":"SHOW SCHEMAS","href":"/docs/stable/show-schemas"},{"title":"SHOW SEQUENCES","sidebarTitle":"SHOW SEQUENCES","href":"/docs/stable/show-sequences"},{"title":"SHOW SESSIONS","sidebarTitle":"SHOW SESSIONS","href":"/docs/stable/show-sessions"},{"title":"SHOW STATEMENT HINTS","sidebarTitle":"SHOW STATEMENT HINTS","href":"/docs/stable/show-statement-hints"},{"title":"SHOW STATEMENTS","sidebarTitle":"SHOW STATEMENTS","href":"/docs/stable/show-statements"},{"title":"SHOW STATISTICS","sidebarTitle":"SHOW STATISTICS","href":"/docs/stable/show-statistics"},{"title":"SHOW SAVEPOINT STATUS","sidebarTitle":"SHOW SAVEPOINT STATUS","href":"/docs/stable/show-savepoint-status"},{"title":"SHOW TABLES","sidebarTitle":"SHOW TABLES","href":"/docs/stable/show-tables"},{"title":"SHOW TRACE FOR SESSION","sidebarTitle":"SHOW TRACE FOR SESSION","href":"/docs/stable/show-trace"},{"title":"SHOW TRANSACTIONS","sidebarTitle":"SHOW TRANSACTIONS","href":"/docs/stable/show-transactions"},{"title":"SHOW TRIGGERS","sidebarTitle":"SHOW TRIGGERS","href":"/docs/stable/show-triggers"},{"title":"SHOW TYPES","sidebarTitle":"SHOW TYPES","href":"/docs/stable/show-types"},{"title":"SHOW USERS","sidebarTitle":"SHOW USERS","href":"/docs/stable/show-users"},{"title":"SHOW VIRTUAL CLUSTER","sidebarTitle":"SHOW VIRTUAL CLUSTER","href":"/docs/stable/show-virtual-cluster"},{"title":"SHOW ZONE CONFIGURATIONS","sidebarTitle":"SHOW ZONE CONFIGURATIONS","href":"/docs/stable/show-zone-configurations"},{"title":"TRUNCATE","sidebarTitle":"TRUNCATE","href":"/docs/stable/truncate"},{"title":"UPDATE","sidebarTitle":"UPDATE","href":"/docs/stable/update"},{"title":"UPSERT","sidebarTitle":"UPSERT","href":"/docs/stable/upsert"},{"title":"WITH (storage parameter)","sidebarTitle":"WITH {storage parameter}","href":"/docs/stable/with-storage-parameter"}]},{"group":"Syntax","pages":[{"title":"Keywords \u0026 Identifiers","href":"/docs/stable/keywords-and-identifiers"},{"title":"Constants","href":"/docs/stable/sql-constants"},{"title":"Selection Queries","href":"/docs/stable/selection-queries"},{"title":"Cursors","href":"/docs/stable/cursors"},{"title":"Table Expressions","href":"/docs/stable/table-expressions"},{"title":"Common Table Expressions (WITH Queries)","sidebarTitle":"Common Table Expressions","href":"/docs/stable/common-table-expressions"},{"title":"JSONPath Queries","href":"/docs/stable/jsonpath"},{"title":"Name Resolution","href":"/docs/stable/sql-name-resolution"},{"title":"NULL Handling","sidebarTitle":"NULL Handling","href":"/docs/stable/null-handling"},{"title":"Scalar Expressions","href":"/docs/stable/scalar-expressions"},{"title":"User-Defined Functions","href":"/docs/stable/user-defined-functions"},{"title":"Stored Procedures","href":"/docs/stable/stored-procedures"},{"title":"Triggers","href":"/docs/stable/triggers"},{"title":"Window Functions","href":"/docs/stable/window-functions"},{"title":"SQL Grammar","sidebarTitle":"Full SQL Grammar","href":"/docs/stable/sql-grammar"}]},{"group":"Data Types","pages":[{"title":"Data Types","sidebarTitle":"Overview","href":"/docs/stable/data-types"},{"title":"ARRAY","sidebarTitle":"ARRAY","href":"/docs/stable/array"},{"title":"BIT","sidebarTitle":"BIT","href":"/docs/stable/bit"},{"title":"BOOL","sidebarTitle":"BOOL","href":"/docs/stable/bool"},{"title":"BYTES","sidebarTitle":"BYTES","href":"/docs/stable/bytes"},{"title":"CITEXT","sidebarTitle":"CITEXT","href":"/docs/stable/citext"},{"title":"COLLATE","sidebarTitle":"COLLATE","href":"/docs/stable/collate"},{"title":"DATE","sidebarTitle":"DATE","href":"/docs/stable/date"},{"title":"DECIMAL","sidebarTitle":"DECIMAL","href":"/docs/stable/decimal"},{"title":"DOMAIN","sidebarTitle":"DOMAIN","href":"/docs/stable/domain"},{"title":"ENUM","sidebarTitle":"ENUM","href":"/docs/stable/enum"},{"title":"FLOAT","sidebarTitle":"FLOAT","href":"/docs/stable/float"},{"title":"INET","sidebarTitle":"INET","href":"/docs/stable/inet"},{"title":"INT","sidebarTitle":"INT","href":"/docs/stable/int"},{"title":"INTERVAL","sidebarTitle":"INTERVAL","href":"/docs/stable/interval"},{"title":"JSONB","sidebarTitle":"JSONB","href":"/docs/stable/jsonb"},{"title":"LTREE","sidebarTitle":"LTREE","href":"/docs/stable/ltree"},{"title":"OID","sidebarTitle":"OID","href":"/docs/stable/oid"},{"title":"SERIAL","sidebarTitle":"SERIAL","href":"/docs/stable/serial"},{"title":"STRING","sidebarTitle":"STRING","href":"/docs/stable/string"},{"title":"TIME / TIMETZ","sidebarTitle":"TIME","href":"/docs/stable/time"},{"title":"TIMESTAMP / TIMESTAMPTZ","sidebarTitle":"TIMESTAMP","href":"/docs/stable/timestamp"},{"title":"TSQUERY","sidebarTitle":"TSQUERY","href":"/docs/stable/tsquery"},{"title":"TSVECTOR","sidebarTitle":"TSVECTOR","href":"/docs/stable/tsvector"},{"title":"UUID","sidebarTitle":"UUID","href":"/docs/stable/uuid"},{"title":"VECTOR","sidebarTitle":"VECTOR","href":"/docs/stable/vector"}]},{"group":"Spatial Data","pages":[{"title":"Spatial Data Overview","sidebarTitle":"Overview","href":"/docs/stable/spatial-data-overview"},{"title":"POINT","sidebarTitle":"POINT","href":"/docs/stable/point"},{"title":"LINESTRING","sidebarTitle":"LINESTRING","href":"/docs/stable/linestring"},{"title":"POLYGON","sidebarTitle":"POLYGON","href":"/docs/stable/polygon"},{"title":"MULTIPOINT","sidebarTitle":"MULTIPOINT","href":"/docs/stable/multipoint"},{"title":"MULTILINESTRING","sidebarTitle":"MULTILINESTRING","href":"/docs/stable/multilinestring"},{"title":"MULTIPOLYGON","sidebarTitle":"MULTIPOLYGON","href":"/docs/stable/multipolygon"},{"title":"GEOMETRYCOLLECTION","sidebarTitle":"GEOMETRYCOLLECTION","href":"/docs/stable/geometrycollection"},{"title":"Well Known Text","sidebarTitle":"Well Known Text (WKT)","href":"/docs/stable/well-known-text"},{"title":"Well Known Binary","sidebarTitle":"Well Known Binary (WKB)","href":"/docs/stable/well-known-binary"},{"title":"GeoJSON","href":"/docs/stable/geojson"},{"title":"SRID 4326 - longitude and latitude","href":"/docs/stable/srid-4326"},{"title":"ST_Contains","sidebarTitle":"ST_Contains","href":"/docs/stable/st_contains"},{"title":"ST_Within","sidebarTitle":"ST_Within","href":"/docs/stable/st_within"},{"title":"ST_Intersects","sidebarTitle":"ST_Intersects","href":"/docs/stable/st_intersects"},{"title":"ST_CoveredBy","sidebarTitle":"ST_CoveredBy","href":"/docs/stable/st_coveredby"},{"title":"ST_Covers","sidebarTitle":"ST_Covers","href":"/docs/stable/st_covers"},{"title":"ST_Disjoint","sidebarTitle":"ST_Disjoint","href":"/docs/stable/st_disjoint"},{"title":"ST_Equals","sidebarTitle":"ST_Equals","href":"/docs/stable/st_equals"},{"title":"ST_Overlaps","sidebarTitle":"ST_Overlaps","href":"/docs/stable/st_overlaps"},{"title":"ST_Touches","sidebarTitle":"ST_Touches","href":"/docs/stable/st_touches"},{"title":"ST_ConvexHull","sidebarTitle":"ST_ConvexHull","href":"/docs/stable/st_convexhull"},{"title":"ST_Union","sidebarTitle":"ST_Union","href":"/docs/stable/st_union"}]},{"group":"Constraints","pages":[{"title":"Constraints","sidebarTitle":"Overview","href":"/docs/stable/constraints"},{"title":"CHECK Constraint","sidebarTitle":"Check","href":"/docs/stable/check"},{"title":"Default Value Constraint","sidebarTitle":"Default Value","href":"/docs/stable/default-value"},{"title":"Foreign Key Constraint","sidebarTitle":"Foreign Key","href":"/docs/stable/foreign-key"},{"title":"NOT NULL constraint","sidebarTitle":"Not Null","href":"/docs/stable/not-null"},{"title":"Primary Key Constraint","sidebarTitle":"Primary Key","href":"/docs/stable/primary-key"},{"title":"Unique Constraint","sidebarTitle":"Unique","href":"/docs/stable/unique"}]},{"title":"Functions and Operators","sidebarTitle":"Functions \u0026 Operators","href":"/docs/stable/functions-and-operators"},{"title":"Session Variables","href":"/docs/stable/session-variables"},{"title":"PL/pgSQL","href":"/docs/stable/plpgsql"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Glossary","href":"/docs/stable/architecture/glossary"},{"group":"Architecture","pages":[{"title":"Architecture Overview","href":"/docs/stable/architecture/overview"},{"title":"SQL Layer","href":"/docs/stable/architecture/sql-layer"},{"title":"Transaction Layer","href":"/docs/stable/architecture/transaction-layer"},{"title":"Distribution Layer","href":"/docs/stable/architecture/distribution-layer"},{"title":"Replication Layer","href":"/docs/stable/architecture/replication-layer"},{"title":"Storage Layer","href":"/docs/stable/architecture/storage-layer"},{"title":"Backup Architecture","href":"/docs/stable/backup-architecture"}]},{"title":"Cluster Settings","mode":"wide","href":"/docs/stable/cluster-settings"},{"group":"Cockroach Commands","pages":[{"title":"cockroach Commands Overview","href":"/docs/stable/cockroach-commands"},{"title":"cockroach start","href":"/docs/stable/cockroach-start"},{"title":"cockroach init","href":"/docs/stable/cockroach-init"},{"title":"cockroach start-single-node","href":"/docs/stable/cockroach-start-single-node"},{"title":"cockroach cert","href":"/docs/stable/cockroach-cert"},{"title":"cockroach sql","href":"/docs/stable/cockroach-sql"},{"title":"cockroach sqlfmt","href":"/docs/stable/cockroach-sqlfmt"},{"title":"cockroach node","href":"/docs/stable/cockroach-node"},{"title":"cockroach nodelocal upload","href":"/docs/stable/cockroach-nodelocal-upload"},{"title":"cockroach auth-session","href":"/docs/stable/cockroach-auth-session"},{"title":"cockroach demo","href":"/docs/stable/cockroach-demo"},{"title":"cockroach debug ballast","href":"/docs/stable/cockroach-debug-ballast"},{"title":"cockroach debug encryption-active-key","href":"/docs/stable/cockroach-debug-encryption-active-key"},{"title":"cockroach debug encryption-decrypt","href":"/docs/stable/cockroach-debug-encryption-decrypt"},{"title":"cockroach debug job-trace","href":"/docs/stable/cockroach-debug-job-trace"},{"title":"cockroach debug list-files","href":"/docs/stable/cockroach-debug-list-files"},{"title":"cockroach debug merge-logs","href":"/docs/stable/cockroach-debug-merge-logs"},{"title":"cockroach debug pebble db analyze-data","href":"/docs/stable/cockroach-debug-pebble-db-analyze-data"},{"title":"cockroach debug tsdump","href":"/docs/stable/cockroach-debug-tsdump"},{"title":"cockroach debug upload","href":"/docs/stable/cockroach-debug-upload"},{"title":"cockroach debug zip","href":"/docs/stable/cockroach-debug-zip"},{"title":"cockroach statement-diag","href":"/docs/stable/cockroach-statement-diag"},{"title":"cockroach gen","href":"/docs/stable/cockroach-gen"},{"title":"cockroach userfile upload","href":"/docs/stable/cockroach-userfile-upload"},{"title":"cockroach userfile list","href":"/docs/stable/cockroach-userfile-list"},{"title":"cockroach userfile get","href":"/docs/stable/cockroach-userfile-get"},{"title":"cockroach userfile delete","href":"/docs/stable/cockroach-userfile-delete"},{"title":"cockroach version","href":"/docs/stable/cockroach-version"},{"title":"cockroach workload","href":"/docs/stable/cockroach-workload"},{"title":"cockroach-sql","href":"/docs/stable/cockroach-sql-binary"}]},{"title":"Diagnostics Reporting","href":"/docs/stable/diagnostics-reporting"},{"group":"Logs","pages":[{"title":"Logging Levels and Channels","href":"/docs/stable/logging"},{"title":"Log Formats","href":"/docs/stable/log-formats"},{"title":"Notable Event Types","href":"/docs/stable/eventlog"}]},{"group":"Metrics","pages":[{"title":"Metrics","href":"/docs/stable/metrics"},{"title":"Multi-dimensional Metrics","href":"/docs/stable/multi-dimensional-metrics"}]},{"group":"Policies","pages":[{"title":"API Support Policy","href":"/docs/stable/api-support-policy"},{"title":"Telemetry Collected by CockroachDB","href":"/docs/stable/telemetry"}]},{"group":"Third-Party Support","pages":[{"title":"Third-Party Tools Supported by Cockroach Labs","href":"/docs/stable/third-party-database-tools"},{"title":"Third-Party Monitoring Integrations","href":"/docs/stable/third-party-monitoring-tools"},{"title":"Third-Party Tools Supported by the Community","href":"/docs/stable/community-tooling"}]},{"group":"Security","pages":[{"title":"CockroachDB Security Overview","href":"/docs/stable/security-reference/security-overview"},{"group":"Authentication","pages":[{"title":"SQL Authentication","href":"/docs/stable/security-reference/authentication"},{"title":"SASL/SCRAM-SHA-256 Secure Password-based Authentication","href":"/docs/stable/security-reference/scram-authentication"}]},{"title":"Authorization in CockroachDB","href":"/docs/stable/security-reference/authorization"},{"title":"Encryption in CockroachDB","href":"/docs/stable/security-reference/encryption"},{"title":"Column Level Encryption","href":"/docs/stable/column-level-encryption"},{"title":"Row-Level Security (RLS) Overview","href":"/docs/stable/row-level-security"},{"title":"Transport Layer Security (TLS) and Public Key Infrastructure (PKI)","href":"/docs/stable/security-reference/transport-layer-security"}]},{"group":"System Catalogs","pages":[{"title":"System Catalogs","href":"/docs/stable/system-catalogs"},{"title":"crdb_internal","href":"/docs/stable/crdb-internal"},{"title":"information_schema","href":"/docs/stable/information-schema"},{"title":"pg_catalog","href":"/docs/stable/pg-catalog"},{"title":"pg_extension","href":"/docs/stable/pg-extension"}]},{"group":"FAQs","pages":[{"title":"CockroachDB FAQs","href":"/docs/stable/frequently-asked-questions"},{"title":"Operational FAQs","href":"/docs/stable/operational-faqs"},{"title":"Licensing FAQs","href":"/docs/stable/licensing-faqs"}]}]},{"tab":"Cluster API","icon":"rocket","groups":[{"group":"Overview","pages":[{"title":"CockroachDB Cluster API (2.0)","href":"/docs/api/cluster/index"}]},{"group":"Endpoints","expanded":true,"pages":[{"group":"API Reference","pages":[{"title":"List databases","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /databases/","href":"/docs/api/cluster/v2/list-databases"},{"title":"Get database descriptor ID","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /databases/{database}/","href":"/docs/api/cluster/v2/get-database-descriptor-id"},{"title":"List grants on a database","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /databases/{database}/grants/","href":"/docs/api/cluster/v2/list-grants-on-a-database"},{"title":"List tables on a database","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /databases/{database}/tables/","href":"/docs/api/cluster/v2/list-tables-on-a-database"},{"title":"Get table details","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /databases/{database}/tables/{table}/","href":"/docs/api/cluster/v2/get-table-details"},{"title":"List events","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /events/","href":"/docs/api/cluster/v2/list-events"},{"title":"Check node health","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /health/","href":"/docs/api/cluster/v2/check-node-health"},{"title":"Log in","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json post /login/","href":"/docs/api/cluster/v2/log-in"},{"title":"Log out","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json post /logout/","href":"/docs/api/cluster/v2/log-out"},{"title":"List nodes","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /nodes/","href":"/docs/api/cluster/v2/list-nodes"},{"title":"List node ranges","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /nodes/{node_id}/ranges/","href":"/docs/api/cluster/v2/list-node-ranges"},{"title":"List hot ranges","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /ranges/hot/","href":"/docs/api/cluster/v2/list-hot-ranges"},{"title":"Get range details","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /ranges/{range_id}/","href":"/docs/api/cluster/v2/get-range-details"},{"title":"List sessions","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /sessions/","href":"/docs/api/cluster/v2/list-sessions"},{"title":"List users","deprecated":null,"version":null,"openapi":"/openapi/cluster-api-v2.json get /users/","href":"/docs/api/cluster/v2/list-users"}]}]}]},{"tab":"Troubleshoot","icon":"bug","groups":[{"group":"Troubleshooting","pages":[{"title":"Troubleshooting Overview","sidebarTitle":"Overview","href":"/docs/stable/troubleshooting-overview"},{"title":"Common Errors and Solutions","href":"/docs/stable/common-errors"},{"title":"Troubleshoot Self-Hosted Setup","href":"/docs/stable/cluster-setup-troubleshooting"},{"title":"Troubleshoot SQL Statements","href":"/docs/stable/query-behavior-troubleshooting"},{"title":"Active Session History","href":"/docs/stable/active-session-history"},{"title":"Transaction Retry Error Reference","href":"/docs/stable/transaction-retry-error-reference"},{"title":"Transaction Retry Error Example","href":"/docs/stable/transaction-retry-error-example"},{"title":"Differences in Metrics between Third-Party Monitoring Integrations and DB Console","href":"/docs/stable/differences-in-metrics-between-third-party-monitoring-integrations-and-db-console"},{"title":"Understand Hotspots","href":"/docs/stable/understand-hotspots"},{"title":"Detect Hotspots","href":"/docs/stable/detect-hotspots"},{"title":"Troubleshoot Query Plan Regressions","href":"/docs/stable/troubleshoot-query-plan-regressions"},{"title":"Troubleshoot Replication Zones","href":"/docs/stable/troubleshoot-replication-zones"},{"title":"Support Resources","href":"/docs/stable/support-resources"},{"title":"Automatic CPU Profiler","href":"/docs/stable/automatic-cpu-profiler"},{"title":"Automatic Go Execution Tracer","href":"/docs/stable/automatic-go-execution-tracer"},{"title":"Transaction Diagnostics","href":"/docs/stable/transaction-diagnostics"}]}]}]},{"version":"v26.2","pages":[{"title":"v26.2","href":"/docs/v26.2/architecture/overview"}]},{"version":"v26.1","pages":[{"title":"v26.1","href":"/docs/v26.1/architecture/overview"}]},{"version":"v25.4","tag":"LTS","pages":[{"title":"v25.4","href":"/docs/v25.4/architecture/overview"}]},{"version":"v25.3","tag":"Unsupported","pages":[{"title":"v25.3","href":"/docs/v25.3/architecture/overview"}]},{"version":"v25.2","tag":"LTS","pages":[{"title":"v25.2","href":"/docs/v25.2/architecture/overview"}]},{"version":"v25.1","tag":"Unsupported","pages":[{"title":"v25.1","href":"/docs/v25.1/architecture/overview"}]},{"version":"v24.3","tag":"LTS","pages":[{"title":"v24.3","href":"/docs/v24.3/architecture/overview"}]},{"version":"v24.1","tag":"LTS","pages":[{"title":"v24.1","href":"/docs/v24.1/architecture/overview"}]},{"version":"v23.2","tag":"LTS","pages":[{"title":"v23.2","href":"/docs/v23.2/architecture/overview"}]},{"version":"v23.1","tag":"Unsupported","pages":[{"title":"v23.1","href":"/docs/v23.1/architecture/overview"}]}]},{"product":"Cloud Deployments","icon":"cloud","description":"Fully managed CockroachDB","tabs":[{"tab":"Deploy","icon":"rocket","groups":[{"group":"Get Started","pages":[{"title":"CockroachDB Cloud Overview","href":"/docs/cockroachcloud"},{"title":"Try CockroachDB Cloud for free","href":"/docs/cockroachcloud/free-trial"},{"title":"Quickstart with CockroachDB","href":"/docs/cockroachcloud/quickstart"},{"title":"Quickstart with CockroachDB Advanced","href":"/docs/cockroachcloud/quickstart-trial-cluster"},{"title":"Create a CockroachDB Cloud account","href":"/docs/cockroachcloud/create-an-account"},{"title":"Understand CockroachDB Cloud Costs","href":"/docs/cockroachcloud/costs"},{"title":"CockroachDB Cloud Regions","href":"/docs/cockroachcloud/regions"}]},{"group":"Basic Deployments","pages":[{"title":"Plan a CockroachDB Basic Cluster","href":"/docs/cockroachcloud/plan-your-cluster-basic"},{"title":"Create a CockroachDB Basic Cluster","href":"/docs/cockroachcloud/create-a-basic-cluster"},{"title":"Connect to a CockroachDB Basic Cluster","href":"/docs/cockroachcloud/connect-to-a-basic-cluster"},{"title":"Understand the Resource Usage of your CockroachDB Basic Cluster","href":"/docs/cockroachcloud/resource-usage-basic"},{"title":"Manage a CockroachDB Basic Cluster","href":"/docs/cockroachcloud/basic-cluster-management"},{"title":"Provision a CockroachDB Cloud Basic cluster with the Terraform provider","href":"/docs/cockroachcloud/provision-a-cluster-with-terraform-basic"},{"title":"Change a Cluster's Plan Between Basic and Standard","href":"/docs/cockroachcloud/change-plan-between-basic-and-standard"}]},{"group":"Standard Deployments","pages":[{"title":"Plan a CockroachDB Standard Cluster","href":"/docs/cockroachcloud/plan-your-cluster"},{"title":"Create a CockroachDB Standard Cluster","href":"/docs/cockroachcloud/create-your-cluster"},{"title":"Connect to a CockroachDB Standard Cluster","href":"/docs/cockroachcloud/connect-to-your-cluster"},{"title":"Understand the Resource Usage of your CockroachDB Standard Cluster","href":"/docs/cockroachcloud/resource-usage"},{"title":"Manage a CockroachDB Standard Cluster","href":"/docs/cockroachcloud/cluster-management"},{"title":"Provision a CockroachDB Cloud Standard cluster with the Terraform provider","href":"/docs/cockroachcloud/provision-a-cluster-with-terraform"},{"title":"Production Checklist","href":"/docs/cockroachcloud/production-checklist"},{"title":"Migrate from Standard or Basic to Advanced","href":"/docs/cockroachcloud/migrate-from-standard-to-advanced"}]},{"group":"Advanced Deployments","pages":[{"title":"Plan a CockroachDB Advanced Cluster","href":"/docs/cockroachcloud/plan-your-cluster-advanced"},{"title":"Create a CockroachDB Advanced Cluster","href":"/docs/cockroachcloud/create-an-advanced-cluster"},{"title":"Connect to a CockroachDB Advanced Cluster","href":"/docs/cockroachcloud/connect-to-an-advanced-cluster"},{"title":"Manage a CockroachDB Advanced Cluster","href":"/docs/cockroachcloud/advanced-cluster-management"},{"title":"Provision a CockroachDB Cloud Advanced cluster with the Terraform provider","href":"/docs/cockroachcloud/provision-a-cluster-with-terraform-advanced"},{"title":"CockroachDB Advanced on Azure","href":"/docs/cockroachcloud/cockroachdb-advanced-on-azure"}]},{"group":"BYOC Deployments","pages":[{"title":"CockroachDB BYOC Overview","href":"/docs/cockroachcloud/byoc-overview"},{"title":"BYOC Architecture and Data Flow","href":"/docs/cockroachcloud/byoc-architecture"},{"title":"Security and Compliance in BYOC","href":"/docs/cockroachcloud/byoc-security"},{"title":"Prepare a CockroachDB Cloud BYOC Deployment in Amazon Web Services","href":"/docs/cockroachcloud/byoc-aws-deployment"},{"title":"Prepare a CockroachDB Cloud BYOC Deployment in Azure","href":"/docs/cockroachcloud/byoc-azure-deployment"},{"title":"Prepare a CockroachDB Cloud BYOC Deployment in Google Cloud Platform","href":"/docs/cockroachcloud/byoc-gcp-deployment"},{"title":"CockroachDB Cloud BYOC FAQ","href":"/docs/cockroachcloud/byoc-faq"}]},{"group":"Troubleshooting","pages":[{"title":"Troubleshoot Cloud Setup","href":"/docs/cockroachcloud/troubleshooting-page"}]}]},{"tab":"Manage","icon":"sliders","groups":[{"group":"Monitoring and Alerting","pages":[{"title":"Overview Page","href":"/docs/cockroachcloud/overview-page"},{"title":"Alerts Page","href":"/docs/cockroachcloud/alerts-page"},{"title":"Tools Page","href":"/docs/cockroachcloud/tools-page"},{"group":"Metrics","pages":[{"title":"Metrics Overview","href":"/docs/cockroachcloud/metrics"},{"title":"Overview metrics","href":"/docs/cockroachcloud/metrics-overview"},{"title":"SQL metrics","href":"/docs/cockroachcloud/metrics-sql"},{"title":"Changefeed metrics","href":"/docs/cockroachcloud/metrics-changefeeds"},{"title":"Row-Level TTL metrics","href":"/docs/cockroachcloud/metrics-row-level-ttl"},{"title":"Request Unit metrics","href":"/docs/cockroachcloud/metrics-request-units"},{"title":"Custom Metrics Chart Page","href":"/docs/cockroachcloud/custom-metrics-chart-page"},{"title":"Export Metrics From a CockroachDB Standard Cluster","href":"/docs/cockroachcloud/export-metrics"},{"title":"Export Metrics From a CockroachDB Advanced Cluster","href":"/docs/cockroachcloud/export-metrics-advanced"},{"title":"Essential Metrics for CockroachDB Standard Deployments","href":"/docs/cockroachcloud/metrics-essential"}]},{"group":"SQL Activity","pages":[{"title":"Statements Page","href":"/docs/cockroachcloud/statements-page"},{"title":"Sessions Page","href":"/docs/cockroachcloud/sessions-page"},{"title":"Transactions Page","href":"/docs/cockroachcloud/transactions-page"}]},{"title":"Insights Page","href":"/docs/cockroachcloud/insights-page"},{"title":"Databases Page","href":"/docs/cockroachcloud/databases-page"},{"title":"Jobs Page","href":"/docs/cockroachcloud/jobs-page"},{"title":"Billing Management","href":"/docs/cockroachcloud/billing-management"},{"title":"View Organization Audit Logs in the Cloud Console","href":"/docs/cockroachcloud/organization-audit-logs-in-cloud-console"}]},{"group":"Tools","pages":[{"title":"Connect to the CockroachDB Cloud MCP Server","href":"/docs/cockroachcloud/connect-to-the-cockroachdb-cloud-mcp-server"},{"title":"MOLT Schema Conversion Tool","sidebarTitle":"Schema Conversion Tool","href":"/docs/cockroachcloud/migrations-page"},{"title":"SQL Shell","href":"/docs/cockroachcloud/sql-shell"},{"title":"Use the CockroachDB Cloud API","href":"/docs/cockroachcloud/cloud-api"},{"group":"ccloud CLI","pages":[{"title":"Get Started with the ccloud CLI","href":"/docs/cockroachcloud/ccloud-get-started"},{"title":"ccloud CLI Command Reference","href":"/docs/cockroachcloud/ccloud-reference"}]}]},{"group":"Upgrade","pages":[{"title":"CockroachDB Cloud Support and Upgrade Policy","href":"/docs/cockroachcloud/upgrade-policy"},{"title":"Upgrade a cluster in CockroachDB Cloud","href":"/docs/cockroachcloud/upgrade-cockroach-version"}]},{"group":"Disaster Recovery","pages":[{"title":"Physical Cluster Replication for Resiliency","href":"/docs/cockroachcloud/physical-cluster-replication"},{"title":"Stream a Changefeed to Snowflake","href":"/docs/cockroachcloud/stream-changefeed-to-snowflake-aws"},{"group":"Backups and Restores","pages":[{"title":"Backup and Restore in CockroachDB Cloud Overview","href":"/docs/cockroachcloud/backup-and-restore-overview"},{"group":"Managed Backups","pages":[{"title":"Managed Backups in CockroachDB Basic Clusters","href":"/docs/cockroachcloud/managed-backups-basic"},{"title":"Managed Backups in CockroachDB Standard Clusters","href":"/docs/cockroachcloud/managed-backups"},{"title":"Managed Backups in CockroachDB Advanced Clusters","href":"/docs/cockroachcloud/managed-backups-advanced"}]},{"title":"Take and Restore Self-Managed Backups on CockroachDB Cloud","href":"/docs/cockroachcloud/take-and-restore-self-managed-backups"},{"title":"Backup and Restore Monitoring","href":"/docs/cockroachcloud/backup-and-restore-monitoring"}]}]}]},{"tab":"Security","icon":"shield","groups":[{"group":"Overview","pages":[{"title":"CockroachDB Cloud Security Overview","href":"/docs/cockroachcloud/security-overview"}]},{"group":"Customer-Managed Encryption Keys (CMEK)","pages":[{"title":"Customer-Managed Encryption Keys (CMEK) Overview","href":"/docs/cockroachcloud/cmek"},{"title":"Manage CMEK for CockroachDB Advanced","href":"/docs/cockroachcloud/managing-cmek"}]},{"group":"Compliance","pages":[{"title":"Regulatory Compliance in CockroachDB Cloud","href":"/docs/cockroachcloud/compliance"},{"title":"Payment Card Industry Data Security Standard (PCI DSS) Compliance in CockroachDB Advanced","href":"/docs/cockroachcloud/pci-dss"}]},{"group":"Authentication","pages":[{"title":"Authentication on CockroachDB Cloud","href":"/docs/cockroachcloud/authentication"},{"title":"Single Sign-On (SSO) for CockroachDB Cloud organizations","href":"/docs/cockroachcloud/cloud-org-sso"},{"title":"Configure Cloud Organization SSO","href":"/docs/cockroachcloud/configure-cloud-org-sso"},{"title":"Configure SCIM Provisioning","href":"/docs/cockroachcloud/configure-scim-provisioning"},{"title":"Cluster Single Sign-on (SSO) using the Cloud Console","href":"/docs/cockroachcloud/cloud-sso-sql"},{"title":"Multi-Factor Authentication for the CockroachDB Cloud Console","href":"/docs/cockroachcloud/multi-factor-authentication"},{"title":"SQL Client Certificate Authentication for CockroachDB Advanced","href":"/docs/cockroachcloud/client-certs-advanced"}]},{"group":"Authorization","pages":[{"title":"CockroachDB Cloud Access Management (Authorization) Overview","href":"/docs/cockroachcloud/authorization"},{"title":"Manage Users, Roles, and Service Accounts","href":"/docs/cockroachcloud/managing-access"},{"title":"Organize CockroachDB Cloud Clusters Using Folders","href":"/docs/cockroachcloud/folders"},{"title":"Organize CockroachDB Cloud Resources Using Labels","href":"/docs/cockroachcloud/labels"}]},{"group":"Network Authorization","pages":[{"title":"Network Authorization for CockroachDB Cloud","href":"/docs/cockroachcloud/network-authorization"},{"title":"Create Private Clusters","href":"/docs/cockroachcloud/private-clusters"},{"title":"Egress Perimeter Controls for CockroachDB Advanced","href":"/docs/cockroachcloud/egress-perimeter-controls"},{"title":"Manage AWS PrivateLink","href":"/docs/cockroachcloud/aws-privatelink"},{"title":"Configure Egress Private Endpoints","href":"/docs/cockroachcloud/egress-private-endpoints"}]},{"group":"Audit Logs","pages":[{"title":"SQL Audit Logging","href":"/docs/cockroachcloud/sql-audit-logging"},{"title":"Export CockroachDB Cloud Organization Audit Logs","href":"/docs/cockroachcloud/cloud-org-audit-logs"},{"title":"Export Logs From a CockroachDB Standard Cluster","href":"/docs/cockroachcloud/export-logs"},{"title":"Export Logs From a CockroachDB Advanced Cluster","href":"/docs/cockroachcloud/export-logs-advanced"}]}]},{"tab":"Cloud API Reference","icon":"book-open","dropdowns":[{"dropdown":"2026-09-15 (Latest)","icon":"books","groups":[{"group":"Overview","pages":[{"title":"CockroachDB Cloud API","href":"/docs/api/cloud/index"}]},{"group":"Endpoints","pages":[{"group":"SCIM","pages":[{"title":"List groups","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/scim/v2/Groups","href":"/docs/api/cloud/v1/scim/list-groups"},{"title":"Create a group","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/scim/v2/Groups","href":"/docs/api/cloud/v1/scim/create-a-group"},{"title":"Search groups","deprecated":true,"version":null,"sidebarTitle":"Search groups","openapi":"/openapi/cloud/latest.json put /api/scim/v2/Groups/.search","href":"/docs/api/cloud/v1/scim/search-groups-deprecated"},{"title":"Search groups","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/scim/v2/Groups/.search","href":"/docs/api/cloud/v1/scim/search-groups"},{"title":"Get a group by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/scim/get-a-group-by-id"},{"title":"Update a group by supplying all values of the user object","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json put /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/scim/update-a-group-by-supplying-all-values-of-the-user-object"},{"title":"Delete a group based on ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/scim/delete-a-group-based-on-id"},{"title":"Patch a group by supplying partial updates","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/scim/patch-a-group-by-supplying-partial-updates"},{"title":"Search a group by ID","deprecated":true,"version":null,"sidebarTitle":"Search a group by ID","openapi":"/openapi/cloud/latest.json put /api/scim/v2/Groups/{id}/.search","href":"/docs/api/cloud/v1/scim/search-a-group-by-id-deprecated"},{"title":"Search a group by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/scim/v2/Groups/{id}/.search","href":"/docs/api/cloud/v1/scim/search-a-group-by-id"},{"title":"List the SCIM resource types","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/scim/v2/ResourceTypes","href":"/docs/api/cloud/v1/scim/list-the-scim-resource-types"},{"title":"Get a SCIM resource type by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/scim/v2/ResourceTypes/{resourceId}","href":"/docs/api/cloud/v1/scim/get-a-scim-resource-type-by-id"},{"title":"List the SCIM schemas","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/scim/v2/Schemas","href":"/docs/api/cloud/v1/scim/list-the-scim-schemas"},{"title":"Get a SCIM schema by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/scim/v2/Schemas/{schemaId}","href":"/docs/api/cloud/v1/scim/get-a-scim-schema-by-id"},{"title":"Return the SCIM Service Provider configuration","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/scim/v2/ServiceProviderConfig","href":"/docs/api/cloud/v1/scim/return-the-scim-service-provider-configuration"},{"title":"List Users","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/scim/v2/Users","href":"/docs/api/cloud/v1/scim/list-users"},{"title":"Create a user","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/scim/v2/Users","href":"/docs/api/cloud/v1/scim/create-a-user"},{"title":"Search User","deprecated":true,"version":null,"sidebarTitle":"Search User","openapi":"/openapi/cloud/latest.json put /api/scim/v2/Users/.search","href":"/docs/api/cloud/v1/scim/search-user-deprecated"},{"title":"Search Users","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/scim/v2/Users/.search","href":"/docs/api/cloud/v1/scim/search-users"},{"title":"Get a user by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/scim/get-a-user-by-id"},{"title":"Update a user by supplying all values of the user object","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json put /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/scim/update-a-user-by-supplying-all-values-of-the-user-object"},{"title":"Delete a user based on ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/scim/delete-a-user-based-on-id"},{"title":"Patch a user by supplying partial updates","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/scim/patch-a-user-by-supplying-partial-updates"},{"title":"Search for a user by ID","deprecated":true,"version":null,"sidebarTitle":"Search for a user by ID","openapi":"/openapi/cloud/latest.json put /api/scim/v2/Users/{id}/.search","href":"/docs/api/cloud/v1/scim/search-for-a-user-by-id-deprecated"},{"title":"Search for a user by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/scim/v2/Users/{id}/.search","href":"/docs/api/cloud/v1/scim/search-for-a-user-by-id"}]},{"group":"API Keys","pages":[{"title":"List API Keys","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/api-keys","href":"/docs/api/cloud/v1/api-keys/list-api-keys"},{"title":"Create a new API Key","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/api-keys","href":"/docs/api/cloud/v1/api-keys/create-a-new-api-key"},{"title":"Get an API Key by ID","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/api-keys/{id}","href":"/docs/api/cloud/v1/api-keys/get-an-api-key-by-id"},{"title":"Delete an API Key","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/api-keys/{id}","href":"/docs/api/cloud/v1/api-keys/delete-an-api-key"},{"title":"Update an API Key","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json patch /api/v1/api-keys/{id}","href":"/docs/api/cloud/v1/api-keys/update-an-api-key"}]},{"group":"Audit Logs","pages":[{"title":"List audit logs","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/auditlogevents","href":"/docs/api/cloud/v1/audit-logs/list-audit-logs"}]},{"group":"Clusters","pages":[{"title":"List available major cluster versions","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/cluster-versions","href":"/docs/api/cloud/v1/clusters/list-available-major-cluster-versions"},{"title":"List clusters in the organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters","href":"/docs/api/cloud/v1/clusters/list-clusters-in-the-organization"},{"title":"Create and initialize a new cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/clusters","href":"/docs/api/cloud/v1/clusters/create-and-initialize-a-new-cluster"},{"title":"List the regions available for new clusters and nodes","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/available-regions","href":"/docs/api/cloud/v1/clusters/list-the-regions-available-for-new-clusters-and-nodes"},{"title":"Get extended information about a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/clusters/get-extended-information-about-a-cluster"},{"title":"Delete a cluster and all of its data","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/clusters/delete-a-cluster-and-all-of-its-data"},{"title":"Scale, edit or upgrade a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/clusters/scale-edit-or-upgrade-a-cluster"},{"title":"Get a formatted generic connection string for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/connection-string","href":"/docs/api/cloud/v1/clusters/get-a-formatted-generic-connection-string-for-a-cluster"},{"title":"List nodes for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/nodes","href":"/docs/api/cloud/v1/clusters/list-nodes-for-a-cluster"}]},{"group":"Backup/Restore","pages":[{"title":"List cluster backups","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/backups","href":"/docs/api/cloud/v1/backuprestore/list-cluster-backups"},{"title":"Get the backup configuration for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/backups-config","href":"/docs/api/cloud/v1/backuprestore/get-the-backup-configuration-for-a-cluster"},{"title":"Update the backup configuration for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/backups-config","href":"/docs/api/cloud/v1/backuprestore/update-the-backup-configuration-for-a-cluster"},{"title":"List restore jobs","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/restores","href":"/docs/api/cloud/v1/backuprestore/list-restore-jobs"},{"title":"View a restore job","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/restores/{restore_id}","href":"/docs/api/cloud/v1/backuprestore/view-a-restore-job"},{"title":"Create a restore","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{destination_cluster_id}/restores","href":"/docs/api/cloud/v1/backuprestore/create-a-restore"}]},{"group":"Blackout Windows","pages":[{"title":"List all blackout windows for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/blackout-windows","href":"/docs/api/cloud/v1/blackout-windows/list-all-blackout-windows-for-a-cluster"},{"title":"Create a blackout window for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/blackout-windows","href":"/docs/api/cloud/v1/blackout-windows/create-a-blackout-window-for-a-cluster"},{"title":"Get a blackout window by its ID for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/blackout-windows/{blackout_window_id}","href":"/docs/api/cloud/v1/blackout-windows/get-a-blackout-window-by-its-id-for-a-cluster"},{"title":"Delete a blackout window for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/blackout-windows/{blackout_window_id}","href":"/docs/api/cloud/v1/blackout-windows/delete-a-blackout-window-for-a-cluster"},{"title":"Update a blackout window for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/blackout-windows/{blackout_window_id}","href":"/docs/api/cloud/v1/blackout-windows/update-a-blackout-window-for-a-cluster"}]},{"group":"Client CA Certificates","pages":[{"title":"Get Client CA Cert information for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/client-ca-certificates/get-client-ca-cert-information-for-a-cluster"},{"title":"Set Client CA Cert for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/client-ca-certificates/set-client-ca-cert-for-a-cluster"},{"title":"Delete Client CA Cert for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/client-ca-certificates/delete-client-ca-cert-for-a-cluster"},{"title":"Update Client CA Cert for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/client-ca-certificates/update-client-ca-cert-for-a-cluster"}]},{"group":"Customer-managed Encryption Keys","pages":[{"title":"Get CMEK-related information for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/customer-managed-encryption-keys/get-cmek-related-information-for-a-cluster"},{"title":"Enable or update the CMEK spec for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json put /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/customer-managed-encryption-keys/enable-or-update-the-cmek-spec-for-a-cluster"},{"title":"Enable CMEK for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/customer-managed-encryption-keys/enable-cmek-for-a-cluster"},{"title":"Update the CMEK-related status for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/customer-managed-encryption-keys/update-the-cmek-related-status-for-a-cluster"}]},{"group":"Databases","pages":[{"title":"List databases for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/databases/list-databases-for-a-cluster"},{"title":"Create a new database","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/databases/create-a-new-database"},{"title":"Update a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/databases/update-a-database"},{"title":"Delete a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/databases/{name}","href":"/docs/api/cloud/v1/databases/delete-a-database"},{"title":"Update a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/databases/{name}","href":"/docs/api/cloud/v1/databases/update-a-database-1"}]},{"group":"Cluster Disruption","pages":[{"title":"Get disruption specifications for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/disrupt","href":"/docs/api/cloud/v1/cluster-disruption/get-disruption-specifications-for-a-cluster"},{"title":"Update disruption specifications for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json put /api/v1/clusters/{cluster_id}/disrupt","href":"/docs/api/cloud/v1/cluster-disruption/update-disruption-specifications-for-a-cluster"}]},{"group":"Log Export","pages":[{"title":"Get the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/log-export/get-the-log-export-configuration-for-a-cluster"},{"title":"Create or update the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/log-export/create-or-update-the-log-export-configuration-for-a-cluster"},{"title":"Delete the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/log-export/delete-the-log-export-configuration-for-a-cluster"}]},{"group":"Maintenance Windows","pages":[{"title":"Get the maintenance window for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/maintenance-window","href":"/docs/api/cloud/v1/maintenance-windows/get-the-maintenance-window-for-a-cluster"},{"title":"Set the maintenance window for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json put /api/v1/clusters/{cluster_id}/maintenance-window","href":"/docs/api/cloud/v1/maintenance-windows/set-the-maintenance-window-for-a-cluster"},{"title":"Delete the maintenance window for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/maintenance-window","href":"/docs/api/cloud/v1/maintenance-windows/delete-the-maintenance-window-for-a-cluster"}]},{"group":"Metric Export","pages":[{"title":"Get the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/metric-export/get-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Create or update the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/metric-export/create-or-update-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Delete the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/metric-export/delete-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Get the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/metric-export/get-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Create or update the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/metric-export/create-or-update-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Delete the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/metric-export/delete-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Get the Prometheus Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/metricexport/prometheus","href":"/docs/api/cloud/v1/metric-export/get-the-prometheus-metric-export-configuration-for-a-cluster"},{"title":"Enable Prometheus Metric Export for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/metricexport/prometheus","href":"/docs/api/cloud/v1/metric-export/enable-prometheus-metric-export-for-a-cluster"},{"title":"Disable Prometheus Metric Export for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/metricexport/prometheus","href":"/docs/api/cloud/v1/metric-export/disable-prometheus-metric-export-for-a-cluster"}]},{"group":"Migration Assistant","pages":[{"title":"Get the Migration Assistant for a cluster.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/migration-assistant","href":"/docs/api/cloud/v1/migration-assistant/get-the-migration-assistant-for-a-cluster"},{"title":"Provision a Migration Assistant for a cluster.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/migration-assistant","href":"/docs/api/cloud/v1/migration-assistant/provision-a-migration-assistant-for-a-cluster"},{"title":"Delete the Migration Assistant for a cluster.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/migration-assistant","href":"/docs/api/cloud/v1/migration-assistant/delete-the-migration-assistant-for-a-cluster"},{"title":"Get the source-database CA certificate for a cluster's Migration Assistant.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/migration-assistant/source-ca-cert","href":"/docs/api/cloud/v1/migration-assistant/get-the-source-database-ca-certificate-for-a-clusters-migration-assistant"},{"title":"Delete the source-database CA certificate for a cluster's Migration Assistant.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/migration-assistant/source-ca-cert","href":"/docs/api/cloud/v1/migration-assistant/delete-the-source-database-ca-certificate-for-a-clusters-migration-assistant"},{"title":"Update the source-database CA certificate for a cluster's Migration Assistant.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/migration-assistant/source-ca-cert","href":"/docs/api/cloud/v1/migration-assistant/update-the-source-database-ca-certificate-for-a-clusters-migration-assistant"}]},{"group":"IP Allowlists","pages":[{"title":"Get the IP allowlist and propagation status for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/ip-allowlists/get-the-ip-allowlist-and-propagation-status-for-a-cluster"},{"title":"Add a new CIDR address to the IP allowlist","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/ip-allowlists/add-a-new-cidr-address-to-the-ip-allowlist"},{"title":"Add a new CIDR address to the IP allowlist","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json put /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/ip-allowlists/add-a-new-cidr-address-to-the-ip-allowlist-1"},{"title":"Delete an IP allowlist entry","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/ip-allowlists/delete-an-ip-allowlist-entry"},{"title":"Update an IP allowlist entry","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/ip-allowlists/update-an-ip-allowlist-entry"}]},{"group":"Private Endpoint Services","pages":[{"title":"List all AwsEndpointConnections for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/aws-endpoint-connections","href":"/docs/api/cloud/v1/private-endpoint-services/list-all-awsendpointconnections-for-a-cluster"},{"title":"Set the AWS Endpoint Connection state","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/networking/aws-endpoint-connections/{endpoint_id}","href":"/docs/api/cloud/v1/private-endpoint-services/set-the-aws-endpoint-connection-state"},{"title":"List all connections to a cluster's private endpoint service.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections","href":"/docs/api/cloud/v1/private-endpoint-services/list-all-connections-to-a-clusters-private-endpoint-service"},{"title":"Add a connection to a cluster's private endpoint service.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections","href":"/docs/api/cloud/v1/private-endpoint-services/add-a-connection-to-a-clusters-private-endpoint-service"},{"title":"Delete a connection from a cluster's private endpoint service.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections/{endpoint_id}","href":"/docs/api/cloud/v1/private-endpoint-services/delete-a-connection-from-a-clusters-private-endpoint-service"},{"title":"List all PrivateEndpointServices for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-services","href":"/docs/api/cloud/v1/private-endpoint-services/list-all-privateendpointservices-for-a-cluster"},{"title":"Create all PrivateEndpointServices for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-services","href":"/docs/api/cloud/v1/private-endpoint-services/create-all-privateendpointservices-for-a-cluster"},{"title":"List all private endpoint trusted owners for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners","href":"/docs/api/cloud/v1/private-endpoint-services/list-all-private-endpoint-trusted-owners-for-a-cluster"},{"title":"Add a private endpoint trusted owner to a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners","href":"/docs/api/cloud/v1/private-endpoint-services/add-a-private-endpoint-trusted-owner-to-a-cluster"},{"title":"Get a private endpoint trusted owner entry for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners/{owner_id}","href":"/docs/api/cloud/v1/private-endpoint-services/get-a-private-endpoint-trusted-owner-entry-for-a-cluster"},{"title":"Remove a private endpoint trusted owner from a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners/{owner_id}","href":"/docs/api/cloud/v1/private-endpoint-services/remove-a-private-endpoint-trusted-owner-from-a-cluster"}]},{"group":"Egress Private Endpoints","pages":[{"title":"List egress private endpoints","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints","href":"/docs/api/cloud/v1/egress-private-endpoints/list-egress-private-endpoints"},{"title":"Create an egress private endpoint","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints","href":"/docs/api/cloud/v1/egress-private-endpoints/create-an-egress-private-endpoint"},{"title":"Get egress private endpoint","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints/{id}","href":"/docs/api/cloud/v1/egress-private-endpoints/get-egress-private-endpoint"},{"title":"Delete an egress private endpoint","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints/{id}","href":"/docs/api/cloud/v1/egress-private-endpoints/delete-an-egress-private-endpoint"},{"title":"Update egress private endpoint.","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints/{id}","href":"/docs/api/cloud/v1/egress-private-endpoints/update-egress-private-endpoint"},{"title":"Update egress private endpoint domain names","deprecated":true,"version":null,"tag":"Limited Access","sidebarTitle":"Update egress private endpoint domain names","openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints/{id}/domain-names","href":"/docs/api/cloud/v1/egress-private-endpoints/update-egress-private-endpoint-domain-names-this-endpoint-is-deprecatedin-favor-of-patch-apiv1clusters-networkingegress-private-endpoints-and-will-be-removed-in-a-future-version"}]},{"group":"Egress Rules","pages":[{"title":"List all egress rules associated with a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/egress-rules","href":"/docs/api/cloud/v1/egress-rules/list-all-egress-rules-associated-with-a-cluster"},{"title":"Add an egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/networking/egress-rules","href":"/docs/api/cloud/v1/egress-rules/add-an-egress-rule"},{"title":"Outbound traffic management","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/networking/egress-rules/egress-traffic-policy","href":"/docs/api/cloud/v1/egress-rules/outbound-traffic-management"},{"title":"Get an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/egress-rules/get-an-existing-egress-rule"},{"title":"Delete an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/egress-rules/delete-an-existing-egress-rule"},{"title":"Edit an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json patch /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/egress-rules/edit-an-existing-egress-rule"}]},{"group":"Runtime Scanning","pages":[{"title":"Get the runtime scanning status of a cluster.","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/runtime-scanning","href":"/docs/api/cloud/v1/runtime-scanning/get-the-runtime-scanning-status-of-a-cluster"},{"title":"Enable runtime scanning on a cluster.","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/runtime-scanning","href":"/docs/api/cloud/v1/runtime-scanning/enable-runtime-scanning-on-a-cluster"},{"title":"Disable runtime scanning on a cluster.","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/runtime-scanning","href":"/docs/api/cloud/v1/runtime-scanning/disable-runtime-scanning-on-a-cluster"}]},{"group":"SQL Users","pages":[{"title":"List SQL users for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/sql-users/list-sql-users-for-a-cluster"},{"title":"Create a new SQL user","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/sql-users/create-a-new-sql-user"},{"title":"Delete a SQL user","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/v1/clusters/{cluster_id}/sql-users/{name}","href":"/docs/api/cloud/v1/sql-users/delete-a-sql-user"},{"title":"Update a SQL user's password","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json put /api/v1/clusters/{cluster_id}/sql-users/{name}/password","href":"/docs/api/cloud/v1/sql-users/update-a-sql-users-password"}]},{"group":"Version Deferral","pages":[{"title":"Get the version upgrade deferral policy for a cluster.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/clusters/{cluster_id}/version-deferral","href":"/docs/api/cloud/v1/version-deferral/get-the-version-upgrade-deferral-policy-for-a-cluster"},{"title":"Set the version upgrade deferral policy for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json put /api/v1/clusters/{cluster_id}/version-deferral","href":"/docs/api/cloud/v1/version-deferral/set-the-version-upgrade-deferral-policy-for-a-cluster"}]},{"group":"Folders","pages":[{"title":"List folders owned by an organization","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/folders","href":"/docs/api/cloud/v1/folders/list-folders-owned-by-an-organization"},{"title":"Create a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/folders","href":"/docs/api/cloud/v1/folders/create-a-folder"},{"title":"Get folder info for a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/folders/{folder_id}","href":"/docs/api/cloud/v1/folders/get-folder-info-for-a-folder"},{"title":"Delete a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/folders/{folder_id}","href":"/docs/api/cloud/v1/folders/delete-a-folder"},{"title":"Update a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json patch /api/v1/folders/{folder_id}","href":"/docs/api/cloud/v1/folders/update-a-folder"},{"title":"List contents of a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/folders/{folder_id}/contents","href":"/docs/api/cloud/v1/folders/list-contents-of-a-folder"}]},{"group":"Billing","pages":[{"title":"List invoices for a given organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/invoices","href":"/docs/api/cloud/v1/billing/list-invoices-for-a-given-organization"},{"title":"Get a specific invoice for an organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/invoices/{invoice_id}","href":"/docs/api/cloud/v1/billing/get-a-specific-invoice-for-an-organization"},{"title":"List an invoice's daily usage breakdown","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/invoices/{invoice_id}/daily-usage","href":"/docs/api/cloud/v1/billing/list-an-invoices-daily-usage-breakdown"}]},{"group":"JWT Issuers","pages":[{"title":"List all JWT Issuers","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json get /api/v1/jwt-issuers","href":"/docs/api/cloud/v1/jwt-issuers/list-all-jwt-issuers"},{"title":"Add a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json post /api/v1/jwt-issuers","href":"/docs/api/cloud/v1/jwt-issuers/add-a-jwt-issuer"},{"title":"Get a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json get /api/v1/jwt-issuers/{id}","href":"/docs/api/cloud/v1/jwt-issuers/get-a-jwt-issuer"},{"title":"Delete a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json delete /api/v1/jwt-issuers/{id}","href":"/docs/api/cloud/v1/jwt-issuers/delete-a-jwt-issuer"},{"title":"Update a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json patch /api/v1/jwt-issuers/{id}","href":"/docs/api/cloud/v1/jwt-issuers/update-a-jwt-issuer"}]},{"group":"Organizations","pages":[{"title":"Get information about the caller's organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/organization","href":"/docs/api/cloud/v1/organizations/get-information-about-the-callers-organization"}]},{"group":"Physical Cluster Replication","pages":[{"title":"List physical replication streams","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/physical-replication-streams","href":"/docs/api/cloud/v1/physical-cluster-replication/list-physical-replication-streams"},{"title":"Create a physical replication stream","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/physical-replication-streams","href":"/docs/api/cloud/v1/physical-cluster-replication/create-a-physical-replication-stream"},{"title":"Get a physical replication stream","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/physical-replication-streams/{id}","href":"/docs/api/cloud/v1/physical-cluster-replication/get-a-physical-replication-stream"},{"title":"Update a physical replication stream","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json patch /api/v1/physical-replication-streams/{id}","href":"/docs/api/cloud/v1/physical-cluster-replication/update-a-physical-replication-stream"}]},{"group":"Role Management","pages":[{"title":"List all RoleGrants","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/roles","href":"/docs/api/cloud/v1/role-management/list-all-rolegrants"},{"title":"Get all role grants for a user, service account, or group","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/roles/{user_id}","href":"/docs/api/cloud/v1/role-management/get-all-role-grants-for-a-user-service-account-or-group"},{"title":"Replace the roles for a user, service account, or group with exactly those provided","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json put /api/v1/roles/{user_id}","href":"/docs/api/cloud/v1/role-management/replace-the-roles-for-a-user-service-account-or-group-with-exactly-those-provided"},{"title":"Add a role to a user, service account, or group","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json post /api/v1/roles/{user_id}/{resource_type}/{resource_id}/{role_name}","href":"/docs/api/cloud/v1/role-management/add-a-role-to-a-user-service-account-or-group"},{"title":"Remove a role from a user, service account, or group","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json delete /api/v1/roles/{user_id}/{resource_type}/{resource_id}/{role_name}","href":"/docs/api/cloud/v1/role-management/remove-a-role-from-a-user-service-account-or-group"},{"title":"Search person users by email address","deprecated":null,"version":null,"openapi":"/openapi/cloud/latest.json get /api/v1/users/persons-by-email","href":"/docs/api/cloud/v1/role-management/search-person-users-by-email-address"}]},{"group":"Service Accounts","pages":[{"title":"List service accounts for an organization","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/service-accounts","href":"/docs/api/cloud/v1/service-accounts/list-service-accounts-for-an-organization"},{"title":"Create a service account","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json post /api/v1/service-accounts","href":"/docs/api/cloud/v1/service-accounts/create-a-service-account"},{"title":"Get a service account by ID","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json get /api/v1/service-accounts/{id}","href":"/docs/api/cloud/v1/service-accounts/get-a-service-account-by-id"},{"title":"Delete a service account","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json delete /api/v1/service-accounts/{id}","href":"/docs/api/cloud/v1/service-accounts/delete-a-service-account"},{"title":"Update a service account","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/latest.json patch /api/v1/service-accounts/{id}","href":"/docs/api/cloud/v1/service-accounts/update-a-service-account"},{"title":"List a service account's OAuth credentials","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json get /api/v1/service-accounts/{service_account_id}/credentials","href":"/docs/api/cloud/v1/service-accounts/list-a-service-accounts-oauth-credentials"},{"title":"Create an OAuth credential for a service account","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json post /api/v1/service-accounts/{service_account_id}/credentials","href":"/docs/api/cloud/v1/service-accounts/create-an-oauth-credential-for-a-service-account"},{"title":"Delete a service account's OAuth credential","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/latest.json delete /api/v1/service-accounts/{service_account_id}/credentials/{credential_id}","href":"/docs/api/cloud/v1/service-accounts/delete-a-service-accounts-oauth-credential"}]},{"group":"Virtual Cluster Workspaces","pages":[{"title":"List workspaces in the organization","deprecated":null,"version":null,"tag":"Continuum · Preview","openapi":"/openapi/cloud/latest.json get /api/v1/virtual-cluster-workspaces","href":"/docs/api/cloud/v1/virtual-cluster-workspaces/list-workspaces-in-the-organization"},{"title":"Show details for a specific workspace","deprecated":null,"version":null,"tag":"Continuum · Preview","openapi":"/openapi/cloud/latest.json get /api/v1/virtual-cluster-workspaces/{workspace_id}","href":"/docs/api/cloud/v1/virtual-cluster-workspaces/show-details-for-a-specific-workspace"},{"title":"Update the configuration of a specific workspace","deprecated":null,"version":null,"tag":"Continuum · Preview","openapi":"/openapi/cloud/latest.json patch /api/v1/virtual-cluster-workspaces/{workspace_id}","href":"/docs/api/cloud/v1/virtual-cluster-workspaces/update-the-configuration-of-a-specific-workspace"},{"title":"Create a virtual cluster in a workspace","deprecated":null,"version":null,"tag":"Continuum · Preview","openapi":"/openapi/cloud/latest.json post /api/v1/virtual-cluster-workspaces/{workspace_id}/clusters","href":"/docs/api/cloud/v1/virtual-cluster-workspaces/create-a-virtual-cluster-in-a-workspace"},{"title":"Update a specific virtual cluster","deprecated":null,"version":null,"tag":"Continuum · Preview","openapi":"/openapi/cloud/latest.json patch /api/v1/virtual-cluster-workspaces/{workspace_id}/clusters/{cluster_id}","href":"/docs/api/cloud/v1/virtual-cluster-workspaces/update-a-specific-virtual-cluster"}]}]}]},{"dropdown":"2024-09-16","icon":"books","groups":[{"group":"Overview","pages":[{"title":"CockroachDB Cloud API","href":"/docs/api/cloud/2024-09-16"}]},{"group":"Endpoints","pages":[{"group":"SCIM","pages":[{"title":"List groups","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/scim/v2/Groups","href":"/docs/api/cloud/v1/2024-09-16/scim/list-groups"},{"title":"Create a group","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/scim/v2/Groups","href":"/docs/api/cloud/v1/2024-09-16/scim/create-a-group"},{"title":"Search groups","deprecated":true,"version":null,"sidebarTitle":"Search groups","openapi":"/openapi/cloud/2024-09-16.json put /api/scim/v2/Groups/.search","href":"/docs/api/cloud/v1/2024-09-16/scim/search-groups-deprecated"},{"title":"Search groups","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/scim/v2/Groups/.search","href":"/docs/api/cloud/v1/2024-09-16/scim/search-groups"},{"title":"Get a group by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/2024-09-16/scim/get-a-group-by-id"},{"title":"Update a group by supplying all values of the user object","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json put /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/2024-09-16/scim/update-a-group-by-supplying-all-values-of-the-user-object"},{"title":"Delete a group based on ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json delete /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/2024-09-16/scim/delete-a-group-based-on-id"},{"title":"Patch a group by supplying partial updates","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/2024-09-16/scim/patch-a-group-by-supplying-partial-updates"},{"title":"Search a group by ID","deprecated":true,"version":null,"sidebarTitle":"Search a group by ID","openapi":"/openapi/cloud/2024-09-16.json put /api/scim/v2/Groups/{id}/.search","href":"/docs/api/cloud/v1/2024-09-16/scim/search-a-group-by-id-deprecated"},{"title":"Search a group by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/scim/v2/Groups/{id}/.search","href":"/docs/api/cloud/v1/2024-09-16/scim/search-a-group-by-id"},{"title":"List the SCIM resource types","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/scim/v2/ResourceTypes","href":"/docs/api/cloud/v1/2024-09-16/scim/list-the-scim-resource-types"},{"title":"Get a SCIM resource type by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/scim/v2/ResourceTypes/{resourceId}","href":"/docs/api/cloud/v1/2024-09-16/scim/get-a-scim-resource-type-by-id"},{"title":"List the SCIM schemas","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/scim/v2/Schemas","href":"/docs/api/cloud/v1/2024-09-16/scim/list-the-scim-schemas"},{"title":"Get a SCIM schema by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/scim/v2/Schemas/{schemaId}","href":"/docs/api/cloud/v1/2024-09-16/scim/get-a-scim-schema-by-id"},{"title":"Return the SCIM Service Provider configuration","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/scim/v2/ServiceProviderConfig","href":"/docs/api/cloud/v1/2024-09-16/scim/return-the-scim-service-provider-configuration"},{"title":"List Users","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/scim/v2/Users","href":"/docs/api/cloud/v1/2024-09-16/scim/list-users"},{"title":"Create a user","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/scim/v2/Users","href":"/docs/api/cloud/v1/2024-09-16/scim/create-a-user"},{"title":"Search User","deprecated":true,"version":null,"sidebarTitle":"Search User","openapi":"/openapi/cloud/2024-09-16.json put /api/scim/v2/Users/.search","href":"/docs/api/cloud/v1/2024-09-16/scim/search-user-deprecated"},{"title":"Search Users","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/scim/v2/Users/.search","href":"/docs/api/cloud/v1/2024-09-16/scim/search-users"},{"title":"Get a user by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/2024-09-16/scim/get-a-user-by-id"},{"title":"Update a user by supplying all values of the user object","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json put /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/2024-09-16/scim/update-a-user-by-supplying-all-values-of-the-user-object"},{"title":"Delete a user based on ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json delete /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/2024-09-16/scim/delete-a-user-based-on-id"},{"title":"Patch a user by supplying partial updates","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/2024-09-16/scim/patch-a-user-by-supplying-partial-updates"},{"title":"Search for a user by ID","deprecated":true,"version":null,"sidebarTitle":"Search for a user by ID","openapi":"/openapi/cloud/2024-09-16.json put /api/scim/v2/Users/{id}/.search","href":"/docs/api/cloud/v1/2024-09-16/scim/search-for-a-user-by-id-deprecated"},{"title":"Search for a user by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/scim/v2/Users/{id}/.search","href":"/docs/api/cloud/v1/2024-09-16/scim/search-for-a-user-by-id"}]},{"group":"API Keys","pages":[{"title":"List API Keys","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/api-keys","href":"/docs/api/cloud/v1/2024-09-16/api-keys/list-api-keys"},{"title":"Create a new API Key","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/api-keys","href":"/docs/api/cloud/v1/2024-09-16/api-keys/create-a-new-api-key"},{"title":"Get an API Key by ID","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/api-keys/{id}","href":"/docs/api/cloud/v1/2024-09-16/api-keys/get-an-api-key-by-id"},{"title":"Delete an API Key","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/api-keys/{id}","href":"/docs/api/cloud/v1/2024-09-16/api-keys/delete-an-api-key"},{"title":"Update an API Key","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/api-keys/{id}","href":"/docs/api/cloud/v1/2024-09-16/api-keys/update-an-api-key"}]},{"group":"Audit Logs","pages":[{"title":"List audit logs","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/auditlogevents","href":"/docs/api/cloud/v1/2024-09-16/audit-logs/list-audit-logs"}]},{"group":"Clusters","pages":[{"title":"List available major cluster versions","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/cluster-versions","href":"/docs/api/cloud/v1/2024-09-16/clusters/list-available-major-cluster-versions"},{"title":"List clusters in the organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters","href":"/docs/api/cloud/v1/2024-09-16/clusters/list-clusters-in-the-organization"},{"title":"Create and initialize a new cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters","href":"/docs/api/cloud/v1/2024-09-16/clusters/create-and-initialize-a-new-cluster"},{"title":"List the regions available for new clusters and nodes","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/available-regions","href":"/docs/api/cloud/v1/2024-09-16/clusters/list-the-regions-available-for-new-clusters-and-nodes"},{"title":"Get extended information about a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2024-09-16/clusters/get-extended-information-about-a-cluster"},{"title":"Delete a cluster and all of its data","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2024-09-16/clusters/delete-a-cluster-and-all-of-its-data"},{"title":"Scale, edit or upgrade a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2024-09-16/clusters/scale-edit-or-upgrade-a-cluster"},{"title":"Get a formatted generic connection string for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/connection-string","href":"/docs/api/cloud/v1/2024-09-16/clusters/get-a-formatted-generic-connection-string-for-a-cluster"},{"title":"List nodes for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/nodes","href":"/docs/api/cloud/v1/2024-09-16/clusters/list-nodes-for-a-cluster"}]},{"group":"Backup/Restore","pages":[{"title":"List cluster backups","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/backups","href":"/docs/api/cloud/v1/2024-09-16/backuprestore/list-cluster-backups"},{"title":"Get the backup configuration for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/backups-config","href":"/docs/api/cloud/v1/2024-09-16/backuprestore/get-the-backup-configuration-for-a-cluster"},{"title":"Update the backup configuration for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/backups-config","href":"/docs/api/cloud/v1/2024-09-16/backuprestore/update-the-backup-configuration-for-a-cluster"},{"title":"List restore jobs","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/restores","href":"/docs/api/cloud/v1/2024-09-16/backuprestore/list-restore-jobs"},{"title":"View a restore job","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/restores/{restore_id}","href":"/docs/api/cloud/v1/2024-09-16/backuprestore/view-a-restore-job"},{"title":"Create a restore","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{destination_cluster_id}/restores","href":"/docs/api/cloud/v1/2024-09-16/backuprestore/create-a-restore"}]},{"group":"Blackout Windows","pages":[{"title":"List all blackout windows for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/blackout-windows","href":"/docs/api/cloud/v1/2024-09-16/blackout-windows/list-all-blackout-windows-for-a-cluster"},{"title":"Create a blackout window for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/blackout-windows","href":"/docs/api/cloud/v1/2024-09-16/blackout-windows/create-a-blackout-window-for-a-cluster"},{"title":"Get a blackout window by its ID for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/blackout-windows/{blackout_window_id}","href":"/docs/api/cloud/v1/2024-09-16/blackout-windows/get-a-blackout-window-by-its-id-for-a-cluster"},{"title":"Delete a blackout window for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/blackout-windows/{blackout_window_id}","href":"/docs/api/cloud/v1/2024-09-16/blackout-windows/delete-a-blackout-window-for-a-cluster"},{"title":"Update a blackout window for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/blackout-windows/{blackout_window_id}","href":"/docs/api/cloud/v1/2024-09-16/blackout-windows/update-a-blackout-window-for-a-cluster"}]},{"group":"Client CA Certificates","pages":[{"title":"Get Client CA Cert information for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2024-09-16/client-ca-certificates/get-client-ca-cert-information-for-a-cluster"},{"title":"Set Client CA Cert for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2024-09-16/client-ca-certificates/set-client-ca-cert-for-a-cluster"},{"title":"Delete Client CA Cert for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2024-09-16/client-ca-certificates/delete-client-ca-cert-for-a-cluster"},{"title":"Update Client CA Cert for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2024-09-16/client-ca-certificates/update-client-ca-cert-for-a-cluster"}]},{"group":"Customer-managed Encryption Keys","pages":[{"title":"Get CMEK-related information for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2024-09-16/customer-managed-encryption-keys/get-cmek-related-information-for-a-cluster"},{"title":"Enable or update the CMEK spec for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json put /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2024-09-16/customer-managed-encryption-keys/enable-or-update-the-cmek-spec-for-a-cluster"},{"title":"Enable CMEK for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2024-09-16/customer-managed-encryption-keys/enable-cmek-for-a-cluster"},{"title":"Update the CMEK-related status for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2024-09-16/customer-managed-encryption-keys/update-the-cmek-related-status-for-a-cluster"}]},{"group":"Databases","pages":[{"title":"List databases for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/2024-09-16/databases/list-databases-for-a-cluster"},{"title":"Create a new database","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/2024-09-16/databases/create-a-new-database"},{"title":"Update a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/2024-09-16/databases/update-a-database"},{"title":"Delete a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/databases/{name}","href":"/docs/api/cloud/v1/2024-09-16/databases/delete-a-database"},{"title":"Update a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/databases/{name}","href":"/docs/api/cloud/v1/2024-09-16/databases/update-a-database-1"}]},{"group":"Cluster Disruption","pages":[{"title":"Get disruption specifications for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/disrupt","href":"/docs/api/cloud/v1/2024-09-16/cluster-disruption/get-disruption-specifications-for-a-cluster"},{"title":"Update disruption specifications for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json put /api/v1/clusters/{cluster_id}/disrupt","href":"/docs/api/cloud/v1/2024-09-16/cluster-disruption/update-disruption-specifications-for-a-cluster"}]},{"group":"Log Export","pages":[{"title":"Get the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/2024-09-16/log-export/get-the-log-export-configuration-for-a-cluster"},{"title":"Create or update the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/2024-09-16/log-export/create-or-update-the-log-export-configuration-for-a-cluster"},{"title":"Delete the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/2024-09-16/log-export/delete-the-log-export-configuration-for-a-cluster"}]},{"group":"Maintenance Windows","pages":[{"title":"Get the maintenance window for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/maintenance-window","href":"/docs/api/cloud/v1/2024-09-16/maintenance-windows/get-the-maintenance-window-for-a-cluster"},{"title":"Set the maintenance window for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json put /api/v1/clusters/{cluster_id}/maintenance-window","href":"/docs/api/cloud/v1/2024-09-16/maintenance-windows/set-the-maintenance-window-for-a-cluster"},{"title":"Delete the maintenance window for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/maintenance-window","href":"/docs/api/cloud/v1/2024-09-16/maintenance-windows/delete-the-maintenance-window-for-a-cluster"}]},{"group":"Metric Export","pages":[{"title":"Get the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/2024-09-16/metric-export/get-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Create or update the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/2024-09-16/metric-export/create-or-update-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Delete the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/2024-09-16/metric-export/delete-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Get the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/2024-09-16/metric-export/get-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Create or update the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/2024-09-16/metric-export/create-or-update-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Delete the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/2024-09-16/metric-export/delete-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Get the Prometheus Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/metricexport/prometheus","href":"/docs/api/cloud/v1/2024-09-16/metric-export/get-the-prometheus-metric-export-configuration-for-a-cluster"},{"title":"Enable Prometheus Metric Export for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/metricexport/prometheus","href":"/docs/api/cloud/v1/2024-09-16/metric-export/enable-prometheus-metric-export-for-a-cluster"},{"title":"Disable Prometheus Metric Export for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/metricexport/prometheus","href":"/docs/api/cloud/v1/2024-09-16/metric-export/disable-prometheus-metric-export-for-a-cluster"}]},{"group":"IP Allowlists","pages":[{"title":"Get the IP allowlist and propagation status for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/2024-09-16/ip-allowlists/get-the-ip-allowlist-and-propagation-status-for-a-cluster"},{"title":"Add a new CIDR address to the IP allowlist","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/2024-09-16/ip-allowlists/add-a-new-cidr-address-to-the-ip-allowlist"},{"title":"Add a new CIDR address to the IP allowlist","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json put /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/2024-09-16/ip-allowlists/add-a-new-cidr-address-to-the-ip-allowlist-1"},{"title":"Delete an IP allowlist entry","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/2024-09-16/ip-allowlists/delete-an-ip-allowlist-entry"},{"title":"Update an IP allowlist entry","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/2024-09-16/ip-allowlists/update-an-ip-allowlist-entry"}]},{"group":"Private Endpoint Services","pages":[{"title":"List all AwsEndpointConnections for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/aws-endpoint-connections","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/list-all-awsendpointconnections-for-a-cluster"},{"title":"Set the AWS Endpoint Connection state","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/networking/aws-endpoint-connections/{endpoint_id}","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/set-the-aws-endpoint-connection-state"},{"title":"List all connections to a cluster's private endpoint service.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/list-all-connections-to-a-clusters-private-endpoint-service"},{"title":"Add a connection to a cluster's private endpoint service.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/add-a-connection-to-a-clusters-private-endpoint-service"},{"title":"Delete a connection from a cluster's private endpoint service.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections/{endpoint_id}","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/delete-a-connection-from-a-clusters-private-endpoint-service"},{"title":"List all PrivateEndpointServices for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-services","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/list-all-privateendpointservices-for-a-cluster"},{"title":"Create all PrivateEndpointServices for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-services","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/create-all-privateendpointservices-for-a-cluster"},{"title":"List all private endpoint trusted owners for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/list-all-private-endpoint-trusted-owners-for-a-cluster"},{"title":"Add a private endpoint trusted owner to a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/add-a-private-endpoint-trusted-owner-to-a-cluster"},{"title":"Get a private endpoint trusted owner entry for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners/{owner_id}","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/get-a-private-endpoint-trusted-owner-entry-for-a-cluster"},{"title":"Remove a private endpoint trusted owner from a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners/{owner_id}","href":"/docs/api/cloud/v1/2024-09-16/private-endpoint-services/remove-a-private-endpoint-trusted-owner-from-a-cluster"}]},{"group":"Egress Private Endpoints","pages":[{"title":"List egress private endpoints","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints","href":"/docs/api/cloud/v1/2024-09-16/egress-private-endpoints/list-egress-private-endpoints"},{"title":"Create an egress private endpoint","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints","href":"/docs/api/cloud/v1/2024-09-16/egress-private-endpoints/create-an-egress-private-endpoint"},{"title":"Get egress private endpoint","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints/{id}","href":"/docs/api/cloud/v1/2024-09-16/egress-private-endpoints/get-egress-private-endpoint"},{"title":"Delete an egress private endpoint","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints/{id}","href":"/docs/api/cloud/v1/2024-09-16/egress-private-endpoints/delete-an-egress-private-endpoint"},{"title":"Update egress private endpoint.","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints/{id}","href":"/docs/api/cloud/v1/2024-09-16/egress-private-endpoints/update-egress-private-endpoint"},{"title":"Update egress private endpoint domain names","deprecated":true,"version":null,"tag":"Limited Access","sidebarTitle":"Update egress private endpoint domain names","openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/networking/egress-private-endpoints/{id}/domain-names","href":"/docs/api/cloud/v1/2024-09-16/egress-private-endpoints/update-egress-private-endpoint-domain-names-this-endpoint-is-deprecatedin-favor-of-patch-apiv1clusters-networkingegress-private-endpoints-and-will-be-removed-in-a-future-version"}]},{"group":"Egress Rules","pages":[{"title":"List all egress rules associated with a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/egress-rules","href":"/docs/api/cloud/v1/2024-09-16/egress-rules/list-all-egress-rules-associated-with-a-cluster"},{"title":"Add an egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/networking/egress-rules","href":"/docs/api/cloud/v1/2024-09-16/egress-rules/add-an-egress-rule"},{"title":"Outbound traffic management","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/networking/egress-rules/egress-traffic-policy","href":"/docs/api/cloud/v1/2024-09-16/egress-rules/outbound-traffic-management"},{"title":"Get an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/2024-09-16/egress-rules/get-an-existing-egress-rule"},{"title":"Delete an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/2024-09-16/egress-rules/delete-an-existing-egress-rule"},{"title":"Edit an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/2024-09-16/egress-rules/edit-an-existing-egress-rule"}]},{"group":"Runtime Scanning","pages":[{"title":"Get the runtime scanning status of a cluster.","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/runtime-scanning","href":"/docs/api/cloud/v1/2024-09-16/runtime-scanning/get-the-runtime-scanning-status-of-a-cluster"},{"title":"Enable runtime scanning on a cluster.","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/runtime-scanning","href":"/docs/api/cloud/v1/2024-09-16/runtime-scanning/enable-runtime-scanning-on-a-cluster"},{"title":"Disable runtime scanning on a cluster.","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/runtime-scanning","href":"/docs/api/cloud/v1/2024-09-16/runtime-scanning/disable-runtime-scanning-on-a-cluster"}]},{"group":"SQL Users","pages":[{"title":"List SQL users for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/2024-09-16/sql-users/list-sql-users-for-a-cluster"},{"title":"Create a new SQL user","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/2024-09-16/sql-users/create-a-new-sql-user"},{"title":"Delete a SQL user","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/clusters/{cluster_id}/sql-users/{name}","href":"/docs/api/cloud/v1/2024-09-16/sql-users/delete-a-sql-user"},{"title":"Update a SQL user's password","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json put /api/v1/clusters/{cluster_id}/sql-users/{name}/password","href":"/docs/api/cloud/v1/2024-09-16/sql-users/update-a-sql-users-password"}]},{"group":"Version Deferral","pages":[{"title":"Get the version upgrade deferral policy for a cluster.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/clusters/{cluster_id}/version-deferral","href":"/docs/api/cloud/v1/2024-09-16/version-deferral/get-the-version-upgrade-deferral-policy-for-a-cluster"},{"title":"Set the version upgrade deferral policy for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json put /api/v1/clusters/{cluster_id}/version-deferral","href":"/docs/api/cloud/v1/2024-09-16/version-deferral/set-the-version-upgrade-deferral-policy-for-a-cluster"}]},{"group":"Folders","pages":[{"title":"List folders owned by an organization","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/folders","href":"/docs/api/cloud/v1/2024-09-16/folders/list-folders-owned-by-an-organization"},{"title":"Create a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/folders","href":"/docs/api/cloud/v1/2024-09-16/folders/create-a-folder"},{"title":"Get folder info for a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/folders/{folder_id}","href":"/docs/api/cloud/v1/2024-09-16/folders/get-folder-info-for-a-folder"},{"title":"Delete a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/folders/{folder_id}","href":"/docs/api/cloud/v1/2024-09-16/folders/delete-a-folder"},{"title":"Update a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/folders/{folder_id}","href":"/docs/api/cloud/v1/2024-09-16/folders/update-a-folder"},{"title":"List contents of a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/folders/{folder_id}/contents","href":"/docs/api/cloud/v1/2024-09-16/folders/list-contents-of-a-folder"}]},{"group":"Billing","pages":[{"title":"List invoices for a given organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/invoices","href":"/docs/api/cloud/v1/2024-09-16/billing/list-invoices-for-a-given-organization"},{"title":"Get a specific invoice for an organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/invoices/{invoice_id}","href":"/docs/api/cloud/v1/2024-09-16/billing/get-a-specific-invoice-for-an-organization"}]},{"group":"JWT Issuers","pages":[{"title":"List all JWT Issuers","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/jwt-issuers","href":"/docs/api/cloud/v1/2024-09-16/jwt-issuers/list-all-jwt-issuers"},{"title":"Add a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/jwt-issuers","href":"/docs/api/cloud/v1/2024-09-16/jwt-issuers/add-a-jwt-issuer"},{"title":"Get a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/jwt-issuers/{id}","href":"/docs/api/cloud/v1/2024-09-16/jwt-issuers/get-a-jwt-issuer"},{"title":"Delete a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/jwt-issuers/{id}","href":"/docs/api/cloud/v1/2024-09-16/jwt-issuers/delete-a-jwt-issuer"},{"title":"Update a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/jwt-issuers/{id}","href":"/docs/api/cloud/v1/2024-09-16/jwt-issuers/update-a-jwt-issuer"}]},{"group":"Organizations","pages":[{"title":"Get information about the caller's organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/organization","href":"/docs/api/cloud/v1/2024-09-16/organizations/get-information-about-the-callers-organization"}]},{"group":"Physical Cluster Replication","pages":[{"title":"List physical replication streams","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/physical-replication-streams","href":"/docs/api/cloud/v1/2024-09-16/physical-cluster-replication/list-physical-replication-streams"},{"title":"Create a physical replication stream","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/physical-replication-streams","href":"/docs/api/cloud/v1/2024-09-16/physical-cluster-replication/create-a-physical-replication-stream"},{"title":"Get a physical replication stream","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/physical-replication-streams/{id}","href":"/docs/api/cloud/v1/2024-09-16/physical-cluster-replication/get-a-physical-replication-stream"},{"title":"Update a physical replication stream","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/physical-replication-streams/{id}","href":"/docs/api/cloud/v1/2024-09-16/physical-cluster-replication/update-a-physical-replication-stream"}]},{"group":"Role Management","pages":[{"title":"List all RoleGrants","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/roles","href":"/docs/api/cloud/v1/2024-09-16/role-management/list-all-rolegrants"},{"title":"Get all role grants for a user, service account, or group","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/roles/{user_id}","href":"/docs/api/cloud/v1/2024-09-16/role-management/get-all-role-grants-for-a-user-service-account-or-group"},{"title":"Replace the roles for a user, service account, or group with exactly those provided","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json put /api/v1/roles/{user_id}","href":"/docs/api/cloud/v1/2024-09-16/role-management/replace-the-roles-for-a-user-service-account-or-group-with-exactly-those-provided"},{"title":"Add a role to a user, service account, or group","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json post /api/v1/roles/{user_id}/{resource_type}/{resource_id}/{role_name}","href":"/docs/api/cloud/v1/2024-09-16/role-management/add-a-role-to-a-user-service-account-or-group"},{"title":"Remove a role from a user, service account, or group","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/roles/{user_id}/{resource_type}/{resource_id}/{role_name}","href":"/docs/api/cloud/v1/2024-09-16/role-management/remove-a-role-from-a-user-service-account-or-group"},{"title":"Search person users by email address","deprecated":null,"version":null,"openapi":"/openapi/cloud/2024-09-16.json get /api/v1/users/persons-by-email","href":"/docs/api/cloud/v1/2024-09-16/role-management/search-person-users-by-email-address"}]},{"group":"Service Accounts","pages":[{"title":"List service accounts for an organization","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/service-accounts","href":"/docs/api/cloud/v1/2024-09-16/service-accounts/list-service-accounts-for-an-organization"},{"title":"Create a service account","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/service-accounts","href":"/docs/api/cloud/v1/2024-09-16/service-accounts/create-a-service-account"},{"title":"Get a service account by ID","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/service-accounts/{id}","href":"/docs/api/cloud/v1/2024-09-16/service-accounts/get-a-service-account-by-id"},{"title":"Delete a service account","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/service-accounts/{id}","href":"/docs/api/cloud/v1/2024-09-16/service-accounts/delete-a-service-account"},{"title":"Update a service account","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2024-09-16.json patch /api/v1/service-accounts/{id}","href":"/docs/api/cloud/v1/2024-09-16/service-accounts/update-a-service-account"},{"title":"List a service account's OAuth credentials","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json get /api/v1/service-accounts/{service_account_id}/credentials","href":"/docs/api/cloud/v1/2024-09-16/service-accounts/list-a-service-accounts-oauth-credentials"},{"title":"Create an OAuth credential for a service account","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json post /api/v1/service-accounts/{service_account_id}/credentials","href":"/docs/api/cloud/v1/2024-09-16/service-accounts/create-an-oauth-credential-for-a-service-account"},{"title":"Delete a service account's OAuth credential","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2024-09-16.json delete /api/v1/service-accounts/{service_account_id}/credentials/{credential_id}","href":"/docs/api/cloud/v1/2024-09-16/service-accounts/delete-a-service-accounts-oauth-credential"}]}]}]},{"dropdown":"2023-04-10","icon":"books","groups":[{"group":"Overview","pages":[{"title":"CockroachDB Cloud API","href":"/docs/api/cloud/2023-04-10"}]},{"group":"Endpoints","pages":[{"group":"SCIM","pages":[{"title":"List groups","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/scim/v2/Groups","href":"/docs/api/cloud/v1/2023-04-10/scim/list-groups"},{"title":"Create a group","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/scim/v2/Groups","href":"/docs/api/cloud/v1/2023-04-10/scim/create-a-group"},{"title":"Search groups","deprecated":true,"version":null,"sidebarTitle":"Search groups","openapi":"/openapi/cloud/2023-04-10.json put /api/scim/v2/Groups/.search","href":"/docs/api/cloud/v1/2023-04-10/scim/search-groups"},{"title":"Search groups","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/scim/v2/Groups/.search","href":"/docs/api/cloud/v1/2023-04-10/scim/search-groups-1"},{"title":"Get a group by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/2023-04-10/scim/get-a-group-by-id"},{"title":"Update a group by supplying all values of the user object","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json put /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/2023-04-10/scim/update-a-group-by-supplying-all-values-of-the-user-object"},{"title":"Delete a group based on ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json delete /api/scim/v2/Groups/{id}","href":"/docs/api/cloud/v1/2023-04-10/scim/delete-a-group-based-on-id"},{"title":"Search a group by ID","deprecated":true,"version":null,"sidebarTitle":"Search a group by ID","openapi":"/openapi/cloud/2023-04-10.json put /api/scim/v2/Groups/{id}/.search","href":"/docs/api/cloud/v1/2023-04-10/scim/search-a-group-by-id"},{"title":"Search a group by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/scim/v2/Groups/{id}/.search","href":"/docs/api/cloud/v1/2023-04-10/scim/search-a-group-by-id-1"},{"title":"List the SCIM resource types","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/scim/v2/ResourceTypes","href":"/docs/api/cloud/v1/2023-04-10/scim/list-the-scim-resource-types"},{"title":"Get a SCIM resource type by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/scim/v2/ResourceTypes/{resourceId}","href":"/docs/api/cloud/v1/2023-04-10/scim/get-a-scim-resource-type-by-id"},{"title":"List the SCIM schemas","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/scim/v2/Schemas","href":"/docs/api/cloud/v1/2023-04-10/scim/list-the-scim-schemas"},{"title":"Get a SCIM schema by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/scim/v2/Schemas/{schemaId}","href":"/docs/api/cloud/v1/2023-04-10/scim/get-a-scim-schema-by-id"},{"title":"Return the SCIM Service Provider configuration","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/scim/v2/ServiceProviderConfig","href":"/docs/api/cloud/v1/2023-04-10/scim/return-the-scim-service-provider-configuration"},{"title":"List Users","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/scim/v2/Users","href":"/docs/api/cloud/v1/2023-04-10/scim/list-users"},{"title":"Create a user","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/scim/v2/Users","href":"/docs/api/cloud/v1/2023-04-10/scim/create-a-user"},{"title":"Search User","deprecated":true,"version":null,"sidebarTitle":"Search User","openapi":"/openapi/cloud/2023-04-10.json put /api/scim/v2/Users/.search","href":"/docs/api/cloud/v1/2023-04-10/scim/search-user"},{"title":"Search Users","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/scim/v2/Users/.search","href":"/docs/api/cloud/v1/2023-04-10/scim/search-users"},{"title":"Get a user by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/2023-04-10/scim/get-a-user-by-id"},{"title":"Update a user by supplying all values of the user object","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json put /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/2023-04-10/scim/update-a-user-by-supplying-all-values-of-the-user-object"},{"title":"Delete a user based on ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json delete /api/scim/v2/Users/{id}","href":"/docs/api/cloud/v1/2023-04-10/scim/delete-a-user-based-on-id"},{"title":"Search for a user by ID","deprecated":true,"version":null,"sidebarTitle":"Search for a user by ID","openapi":"/openapi/cloud/2023-04-10.json put /api/scim/v2/Users/{id}/.search","href":"/docs/api/cloud/v1/2023-04-10/scim/search-for-a-user-by-id"},{"title":"Search for a user by ID","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/scim/v2/Users/{id}/.search","href":"/docs/api/cloud/v1/2023-04-10/scim/search-for-a-user-by-id-1"}]},{"group":"API Keys","pages":[{"title":"List API Keys","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/api-keys","href":"/docs/api/cloud/v1/2023-04-10/api-keys/list-api-keys"},{"title":"Create a new API Key","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/api-keys","href":"/docs/api/cloud/v1/2023-04-10/api-keys/create-a-new-api-key"},{"title":"Get an API Key by ID","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/api-keys/{id}","href":"/docs/api/cloud/v1/2023-04-10/api-keys/get-an-api-key-by-id"},{"title":"Delete an API Key","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/api-keys/{id}","href":"/docs/api/cloud/v1/2023-04-10/api-keys/delete-an-api-key"},{"title":"Update an API Key","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/api-keys/{id}","href":"/docs/api/cloud/v1/2023-04-10/api-keys/update-an-api-key"}]},{"group":"OpenID Connect Configuration","pages":[{"title":"List all API OIDC configurations","deprecated":true,"version":null,"sidebarTitle":"List all API OIDC configurations","tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/api_oidc","href":"/docs/api/cloud/v1/2023-04-10/openid-connect-configuration/list-all-api-oidc-configurations"},{"title":"Create an API OIDC configuration","deprecated":true,"version":null,"sidebarTitle":"Create an API OIDC configuration","tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/api_oidc","href":"/docs/api/cloud/v1/2023-04-10/openid-connect-configuration/create-an-api-oidc-configuration"},{"title":"Get an API OIDC configuration","deprecated":true,"version":null,"sidebarTitle":"Get an API OIDC configuration","tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/api_oidc/{id}","href":"/docs/api/cloud/v1/2023-04-10/openid-connect-configuration/get-an-api-oidc-configuration"},{"title":"Update an API OIDC configuration","deprecated":true,"version":null,"sidebarTitle":"Update an API OIDC configuration","tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json put /api/v1/api_oidc/{id}","href":"/docs/api/cloud/v1/2023-04-10/openid-connect-configuration/update-an-api-oidc-configuration"},{"title":"Delete an API OIDC configuration","deprecated":true,"version":null,"sidebarTitle":"Delete an API OIDC configuration","tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/api_oidc/{id}","href":"/docs/api/cloud/v1/2023-04-10/openid-connect-configuration/delete-an-api-oidc-configuration"}]},{"group":"Audit Logs","pages":[{"title":"List audit logs","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/auditlogevents","href":"/docs/api/cloud/v1/2023-04-10/audit-logs/list-audit-logs"}]},{"group":"Clusters","pages":[{"title":"List available major cluster versions","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/cluster-versions","href":"/docs/api/cloud/v1/2023-04-10/clusters/list-available-major-cluster-versions"},{"title":"List clusters owned by an organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters","href":"/docs/api/cloud/v1/2023-04-10/clusters/list-clusters-owned-by-an-organization"},{"title":"Create and initialize a new cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters","href":"/docs/api/cloud/v1/2023-04-10/clusters/create-and-initialize-a-new-cluster"},{"title":"List the regions available for new clusters and nodes","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/available-regions","href":"/docs/api/cloud/v1/2023-04-10/clusters/list-the-regions-available-for-new-clusters-and-nodes"},{"title":"Get extended information about a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2023-04-10/clusters/get-extended-information-about-a-cluster"},{"title":"Delete a cluster and all of its data","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2023-04-10/clusters/delete-a-cluster-and-all-of-its-data"},{"title":"Scale, edit or upgrade a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2023-04-10/clusters/scale-edit-or-upgrade-a-cluster"},{"title":"Get a formatted generic connection string for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/connection-string","href":"/docs/api/cloud/v1/2023-04-10/clusters/get-a-formatted-generic-connection-string-for-a-cluster"},{"title":"List nodes for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/nodes","href":"/docs/api/cloud/v1/2023-04-10/clusters/list-nodes-for-a-cluster"}]},{"group":"Client CA Certificates","pages":[{"title":"Get Client CA Cert information for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2023-04-10/client-ca-certificates/get-client-ca-cert-information-for-a-cluster"},{"title":"Set Client CA Cert for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2023-04-10/client-ca-certificates/set-client-ca-cert-for-a-cluster"},{"title":"Delete Client CA Cert for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2023-04-10/client-ca-certificates/delete-client-ca-cert-for-a-cluster"},{"title":"Update Client CA Cert for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2023-04-10/client-ca-certificates/update-client-ca-cert-for-a-cluster"}]},{"group":"Customer-managed Encryption Keys","pages":[{"title":"Get CMEK-related information for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2023-04-10/customer-managed-encryption-keys/get-cmek-related-information-for-a-cluster"},{"title":"Enable or update the CMEK spec for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json put /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2023-04-10/customer-managed-encryption-keys/enable-or-update-the-cmek-spec-for-a-cluster"},{"title":"Enable CMEK for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2023-04-10/customer-managed-encryption-keys/enable-cmek-for-a-cluster"},{"title":"Update the CMEK-related status for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2023-04-10/customer-managed-encryption-keys/update-the-cmek-related-status-for-a-cluster"}]},{"group":"Databases","pages":[{"title":"List databases for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/2023-04-10/databases/list-databases-for-a-cluster"},{"title":"Create a new database","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/2023-04-10/databases/create-a-new-database"},{"title":"Update a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/2023-04-10/databases/update-a-database"},{"title":"Delete a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/databases/{name}","href":"/docs/api/cloud/v1/2023-04-10/databases/delete-a-database"},{"title":"Update a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/clusters/{cluster_id}/databases/{name}","href":"/docs/api/cloud/v1/2023-04-10/databases/update-a-database-1"}]},{"group":"Log Export","pages":[{"title":"Get the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/2023-04-10/log-export/get-the-log-export-configuration-for-a-cluster"},{"title":"Create or update the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/2023-04-10/log-export/create-or-update-the-log-export-configuration-for-a-cluster"},{"title":"Delete the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/2023-04-10/log-export/delete-the-log-export-configuration-for-a-cluster"}]},{"group":"Maintenance Windows","pages":[{"title":"Get the maintenance window for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/maintenance-window","href":"/docs/api/cloud/v1/2023-04-10/maintenance-windows/get-the-maintenance-window-for-a-cluster"},{"title":"Set the maintenance window for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json put /api/v1/clusters/{cluster_id}/maintenance-window","href":"/docs/api/cloud/v1/2023-04-10/maintenance-windows/set-the-maintenance-window-for-a-cluster"},{"title":"Delete the maintenance window for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/maintenance-window","href":"/docs/api/cloud/v1/2023-04-10/maintenance-windows/delete-the-maintenance-window-for-a-cluster"}]},{"group":"Metric Export","pages":[{"title":"Get the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/2023-04-10/metric-export/get-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Create or update the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/2023-04-10/metric-export/create-or-update-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Delete the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/2023-04-10/metric-export/delete-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Get the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/2023-04-10/metric-export/get-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Create or update the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/2023-04-10/metric-export/create-or-update-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Delete the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/2023-04-10/metric-export/delete-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Get the Prometheus Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/metricexport/prometheus","href":"/docs/api/cloud/v1/2023-04-10/metric-export/get-the-prometheus-metric-export-configuration-for-a-cluster"},{"title":"Enable Prometheus Metric Export for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/metricexport/prometheus","href":"/docs/api/cloud/v1/2023-04-10/metric-export/enable-prometheus-metric-export-for-a-cluster"},{"title":"Disable Prometheus Metric Export for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/metricexport/prometheus","href":"/docs/api/cloud/v1/2023-04-10/metric-export/disable-prometheus-metric-export-for-a-cluster"}]},{"group":"IP Allowlists","pages":[{"title":"Get the IP allowlist and propagation status for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/2023-04-10/ip-allowlists/get-the-ip-allowlist-and-propagation-status-for-a-cluster"},{"title":"Add a new CIDR address to the IP allowlist","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/2023-04-10/ip-allowlists/add-a-new-cidr-address-to-the-ip-allowlist"},{"title":"Add a new CIDR address to the IP allowlist","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json put /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/2023-04-10/ip-allowlists/add-a-new-cidr-address-to-the-ip-allowlist-1"},{"title":"Delete an IP allowlist entry","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/2023-04-10/ip-allowlists/delete-an-ip-allowlist-entry"},{"title":"Update an IP allowlist entry","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/2023-04-10/ip-allowlists/update-an-ip-allowlist-entry"}]},{"group":"Private Endpoint Services","pages":[{"title":"List all AwsEndpointConnections for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/networking/aws-endpoint-connections","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/list-all-awsendpointconnections-for-a-cluster"},{"title":"Set the AWS Endpoint Connection state","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/clusters/{cluster_id}/networking/aws-endpoint-connections/{endpoint_id}","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/set-the-aws-endpoint-connection-state"},{"title":"List all connections to a cluster's private endpoint service.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/list-all-connections-to-a-clusters-private-endpoint-service"},{"title":"Add a connection to a cluster's private endpoint service.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/add-a-connection-to-a-clusters-private-endpoint-service"},{"title":"Delete a connection from a cluster's private endpoint service.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections/{endpoint_id}","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/delete-a-connection-from-a-clusters-private-endpoint-service"},{"title":"List all PrivateEndpointServices for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-services","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/list-all-privateendpointservices-for-a-cluster"},{"title":"Create all PrivateEndpointServices for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-services","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/create-all-privateendpointservices-for-a-cluster"},{"title":"List all private endpoint trusted owners for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/list-all-private-endpoint-trusted-owners-for-a-cluster"},{"title":"Add a private endpoint trusted owner to a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/add-a-private-endpoint-trusted-owner-to-a-cluster"},{"title":"Get a private endpoint trusted owner entry for a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners/{owner_id}","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/get-a-private-endpoint-trusted-owner-entry-for-a-cluster"},{"title":"Remove a private endpoint trusted owner from a cluster","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/networking/private-endpoint-trusted-owners/{owner_id}","href":"/docs/api/cloud/v1/2023-04-10/private-endpoint-services/remove-a-private-endpoint-trusted-owner-from-a-cluster"}]},{"group":"Egress Rules","pages":[{"title":"List all egress rules associated with a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/networking/egress-rules","href":"/docs/api/cloud/v1/2023-04-10/egress-rules/list-all-egress-rules-associated-with-a-cluster"},{"title":"Add an egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/networking/egress-rules","href":"/docs/api/cloud/v1/2023-04-10/egress-rules/add-an-egress-rule"},{"title":"Outbound traffic management","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/networking/egress-rules/egress-traffic-policy","href":"/docs/api/cloud/v1/2023-04-10/egress-rules/outbound-traffic-management"},{"title":"Get an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/2023-04-10/egress-rules/get-an-existing-egress-rule"},{"title":"Delete an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/2023-04-10/egress-rules/delete-an-existing-egress-rule"},{"title":"Edit an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/2023-04-10/egress-rules/edit-an-existing-egress-rule"}]},{"group":"SQL Users","pages":[{"title":"List SQL users for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/2023-04-10/sql-users/list-sql-users-for-a-cluster"},{"title":"Create a new SQL user","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/2023-04-10/sql-users/create-a-new-sql-user"},{"title":"Delete a SQL user","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/clusters/{cluster_id}/sql-users/{name}","href":"/docs/api/cloud/v1/2023-04-10/sql-users/delete-a-sql-user"},{"title":"Update a SQL user's password","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json put /api/v1/clusters/{cluster_id}/sql-users/{name}/password","href":"/docs/api/cloud/v1/2023-04-10/sql-users/update-a-sql-users-password"}]},{"group":"Version Deferral","pages":[{"title":"Get the version upgrade deferral policy for a cluster.","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/clusters/{cluster_id}/version-deferral","href":"/docs/api/cloud/v1/2023-04-10/version-deferral/get-the-version-upgrade-deferral-policy-for-a-cluster"},{"title":"Set the version upgrade deferral policy for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json put /api/v1/clusters/{cluster_id}/version-deferral","href":"/docs/api/cloud/v1/2023-04-10/version-deferral/set-the-version-upgrade-deferral-policy-for-a-cluster"}]},{"group":"Folders","pages":[{"title":"List folders owned by an organization","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/folders","href":"/docs/api/cloud/v1/2023-04-10/folders/list-folders-owned-by-an-organization"},{"title":"Create a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/folders","href":"/docs/api/cloud/v1/2023-04-10/folders/create-a-folder"},{"title":"Get folder info for a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/folders/{folder_id}","href":"/docs/api/cloud/v1/2023-04-10/folders/get-folder-info-for-a-folder"},{"title":"Delete a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/folders/{folder_id}","href":"/docs/api/cloud/v1/2023-04-10/folders/delete-a-folder"},{"title":"Update a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/folders/{folder_id}","href":"/docs/api/cloud/v1/2023-04-10/folders/update-a-folder"},{"title":"List contents of a folder","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/folders/{folder_id}/contents","href":"/docs/api/cloud/v1/2023-04-10/folders/list-contents-of-a-folder"}]},{"group":"Billing","pages":[{"title":"List invoices for a given organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/invoices","href":"/docs/api/cloud/v1/2023-04-10/billing/list-invoices-for-a-given-organization"},{"title":"Get a specific invoice for an organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/invoices/{invoice_id}","href":"/docs/api/cloud/v1/2023-04-10/billing/get-a-specific-invoice-for-an-organization"}]},{"group":"JWT Issuers","pages":[{"title":"List all JWT Issuers","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/jwt-issuers","href":"/docs/api/cloud/v1/2023-04-10/jwt-issuers/list-all-jwt-issuers"},{"title":"Add a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/jwt-issuers","href":"/docs/api/cloud/v1/2023-04-10/jwt-issuers/add-a-jwt-issuer"},{"title":"Get a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/jwt-issuers/{id}","href":"/docs/api/cloud/v1/2023-04-10/jwt-issuers/get-a-jwt-issuer"},{"title":"Delete a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/jwt-issuers/{id}","href":"/docs/api/cloud/v1/2023-04-10/jwt-issuers/delete-a-jwt-issuer"},{"title":"Update a JWT Issuer","deprecated":null,"version":null,"tag":"Limited Access","openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/jwt-issuers/{id}","href":"/docs/api/cloud/v1/2023-04-10/jwt-issuers/update-a-jwt-issuer"}]},{"group":"Organizations","pages":[{"title":"Get information about the caller's organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/organization","href":"/docs/api/cloud/v1/2023-04-10/organizations/get-information-about-the-callers-organization"}]},{"group":"Role Management","pages":[{"title":"List all RoleGrants","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/roles","href":"/docs/api/cloud/v1/2023-04-10/role-management/list-all-rolegrants"},{"title":"Get all Role Grants for a user","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/roles/{user_id}","href":"/docs/api/cloud/v1/2023-04-10/role-management/get-all-role-grants-for-a-user"},{"title":"Replace the roles for a user or service account with exactly those provided","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json put /api/v1/roles/{user_id}","href":"/docs/api/cloud/v1/2023-04-10/role-management/replace-the-roles-for-a-user-or-service-account-with-exactly-those-provided"},{"title":"Add a role to a user or service account","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json post /api/v1/roles/{user_id}/{resource_type}/{resource_id}/{role_name}","href":"/docs/api/cloud/v1/2023-04-10/role-management/add-a-role-to-a-user-or-service-account"},{"title":"Remove a role from a user or service account","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/roles/{user_id}/{resource_type}/{resource_id}/{role_name}","href":"/docs/api/cloud/v1/2023-04-10/role-management/remove-a-role-from-a-user-or-service-account"},{"title":"Search person users by email address","deprecated":null,"version":null,"openapi":"/openapi/cloud/2023-04-10.json get /api/v1/users/persons-by-email","href":"/docs/api/cloud/v1/2023-04-10/role-management/search-person-users-by-email-address"}]},{"group":"Service Accounts","pages":[{"title":"List service accounts for an organization","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/service-accounts","href":"/docs/api/cloud/v1/2023-04-10/service-accounts/list-service-accounts-for-an-organization"},{"title":"Create a service account","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json post /api/v1/service-accounts","href":"/docs/api/cloud/v1/2023-04-10/service-accounts/create-a-service-account"},{"title":"Get a service account by ID","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json get /api/v1/service-accounts/{id}","href":"/docs/api/cloud/v1/2023-04-10/service-accounts/get-a-service-account-by-id"},{"title":"Delete a service account","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json delete /api/v1/service-accounts/{id}","href":"/docs/api/cloud/v1/2023-04-10/service-accounts/delete-a-service-account"},{"title":"Update a service account","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2023-04-10.json patch /api/v1/service-accounts/{id}","href":"/docs/api/cloud/v1/2023-04-10/service-accounts/update-a-service-account"}]}]}]},{"dropdown":"2022-09-20","icon":"books","groups":[{"group":"Overview","pages":[{"title":"CockroachDB Cloud API","href":"/docs/api/cloud/2022-09-20"}]},{"group":"Endpoints","pages":[{"group":"CockroachCloud","pages":[{"title":"List available major cluster versions","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/cluster-versions","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/list-available-major-cluster-versions"},{"title":"List clusters owned by an organization","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/list-clusters-owned-by-an-organization"},{"title":"Create and initialize a new cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/create-and-initialize-a-new-cluster"},{"title":"List the regions available for new clusters and nodes","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/available-regions","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/list-the-regions-available-for-new-clusters-and-nodes"},{"title":"Get extended information about a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-extended-information-about-a-cluster"},{"title":"Delete a cluster and all of its data","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/delete-a-cluster-and-all-of-its-data"},{"title":"Scale or edit a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json patch /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/scale-or-edit-a-cluster"},{"title":"Get Client CA Cert information for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-client-ca-cert-information-for-a-cluster"},{"title":"Set Client CA Cert for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/set-client-ca-cert-for-a-cluster"},{"title":"Delete Client CA Cert for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/delete-client-ca-cert-for-a-cluster"},{"title":"Update Client CA Cert for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json patch /api/v1/clusters/{cluster_id}/client-ca-cert","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/update-client-ca-cert-for-a-cluster"},{"title":"Get CMEK-related information for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-cmek-related-information-for-a-cluster"},{"title":"Enable or update the CMEK spec for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json put /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/enable-or-update-the-cmek-spec-for-a-cluster"},{"title":"Enable CMEK for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/enable-cmek-for-a-cluster"},{"title":"Update the CMEK-related status for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json patch /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/update-the-cmek-related-status-for-a-cluster"},{"title":"Get a formatted generic connection string for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/connection-string","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-a-formatted-generic-connection-string-for-a-cluster"},{"title":"List databases for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/list-databases-for-a-cluster"},{"title":"Create a new database","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/create-a-new-database"},{"title":"Update a database","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json patch /api/v1/clusters/{cluster_id}/databases","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/update-a-database"},{"title":"Delete a database","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/clusters/{cluster_id}/databases/{name}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/delete-a-database"},{"title":"Update a database","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json patch /api/v1/clusters/{cluster_id}/databases/{name}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/update-a-database-1"},{"title":"Get the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-the-log-export-configuration-for-a-cluster"},{"title":"Create or update the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/create-or-update-the-log-export-configuration-for-a-cluster"},{"title":"Delete the Log Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/clusters/{cluster_id}/logexport","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/delete-the-log-export-configuration-for-a-cluster"},{"title":"Get the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Create or update the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/create-or-update-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Delete the CloudWatch Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/clusters/{cluster_id}/metricexport/cloudwatch","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/delete-the-cloudwatch-metric-export-configuration-for-a-cluster"},{"title":"Get the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Create or update the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/create-or-update-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Delete the Datadog Metric Export configuration for a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/clusters/{cluster_id}/metricexport/datadog","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/delete-the-datadog-metric-export-configuration-for-a-cluster"},{"title":"Get the IP allowlist and propagation status for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-the-ip-allowlist-and-propagation-status-for-a-cluster"},{"title":"Add a new CIDR address to the IP allowlist","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/add-a-new-cidr-address-to-the-ip-allowlist"},{"title":"Delete an IP allowlist entry","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/delete-an-ip-allowlist-entry"},{"title":"Add a new CIDR address to the IP allowlist","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json put /api/v1/clusters/{cluster_id}/networking/allowlist/{entry.cidr_ip}/{entry.cidr_mask}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/add-a-new-cidr-address-to-the-ip-allowlist-1"},{"title":"Update an IP allowlist entry","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json patch /api/v1/clusters/{cluster_id}/networking/allowlist/{entry.cidr_ip}/{entry.cidr_mask}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/update-an-ip-allowlist-entry"},{"title":"Lists all AwsEndpointConnections for a given cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/networking/aws-endpoint-connections","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/lists-all-awsendpointconnections-for-a-given-cluster"},{"title":"Sets the AWS Endpoint Connection state based on what is passed in the body","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json patch /api/v1/clusters/{cluster_id}/networking/aws-endpoint-connections/{endpoint_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/sets-the-aws-endpoint-connection-state-based-on-what-is-passed-in-the-body"},{"title":"List all egress rules associates with a cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/networking/egress-rules","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/list-all-egress-rules-associates-with-a-cluster"},{"title":"Add an egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/networking/egress-rules","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/add-an-egress-rule"},{"title":"Outbound traffic management","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/networking/egress-rules/egress-traffic-policy","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/outbound-traffic-management"},{"title":"Get an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-an-existing-egress-rule"},{"title":"Delete an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/delete-an-existing-egress-rule"},{"title":"Edit an existing egress rule","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json patch /api/v1/clusters/{cluster_id}/networking/egress-rules/{rule_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/edit-an-existing-egress-rule"},{"title":"Lists all PrivateEndpointServices for a given cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/networking/private-endpoint-services","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/lists-all-privateendpointservices-for-a-given-cluster"},{"title":"Creates all PrivateEndpointServices for a given cluster","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/networking/private-endpoint-services","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/creates-all-privateendpointservices-for-a-given-cluster"},{"title":"List nodes for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/nodes","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/list-nodes-for-a-cluster"},{"title":"List SQL users for a cluster","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/list-sql-users-for-a-cluster"},{"title":"Create a new SQL user","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json post /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/create-a-new-sql-user"},{"title":"Delete a SQL user","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/clusters/{cluster_id}/sql-users/{name}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/delete-a-sql-user"},{"title":"Update a SQL user's password","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-09-20.json put /api/v1/clusters/{cluster_id}/sql-users/{name}/password","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/update-a-sql-users-password"},{"title":"List invoices for a given organization","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/invoices","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/list-invoices-for-a-given-organization"},{"title":"Gets a specific invoice for an organization","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/invoices/{invoice_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/gets-a-specific-invoice-for-an-organization"},{"title":"Get information about the caller's organization","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/organization","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/get-information-about-the-callers-organization"},{"title":"Lists all RoleGrants","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/roles","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/lists-all-rolegrants"},{"title":"Gets All Role Grants for the specified user","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json get /api/v1/roles/{user_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/gets-all-role-grants-for-the-specified-user"},{"title":"Makes the users roles exactly those provided","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json put /api/v1/roles/{user_id}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/makes-the-users-roles-exactly-those-provided"},{"title":"Adds the user to the given role","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json post /api/v1/roles/{user_id}/{resource_type}/{resource_id}/{role_name}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/adds-the-user-to-the-given-role"},{"title":"Removes the user from the given role","deprecated":null,"version":null,"tag":"Preview","openapi":"/openapi/cloud/2022-09-20.json delete /api/v1/roles/{user_id}/{resource_type}/{resource_id}/{role_name}","href":"/docs/api/cloud/v1/2022-09-20/cockroachcloud/removes-the-user-from-the-given-role"}]}]}]},{"dropdown":"2022-03-31","icon":"books","groups":[{"group":"Overview","pages":[{"title":"CockroachDB Cloud API","href":"/docs/api/cloud/2022-03-31"}]},{"group":"Endpoints","pages":[{"group":"CockroachCloud","pages":[{"title":"List clusters owned by an organization.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json get /api/v1/clusters","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/list-clusters-owned-by-an-organization"},{"title":"Create and initialize a new cluster.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json post /api/v1/clusters","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/create-and-initialize-a-new-cluster"},{"title":"List the regions available for new clusters and nodes.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json get /api/v1/clusters/available-regions","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/list-the-regions-available-for-new-clusters-and-nodes"},{"title":"Get extended information about a cluster.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json get /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/get-extended-information-about-a-cluster"},{"title":"Delete a cluster and all of its data.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json delete /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/delete-a-cluster-and-all-of-its-data"},{"title":"Scale or edit a cluster.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json patch /api/v1/clusters/{cluster_id}","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/scale-or-edit-a-cluster"},{"title":"Get CMEK-related information for a cluster.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json get /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/get-cmek-related-information-for-a-cluster"},{"title":"Enable CMEK for a cluster.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json post /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/enable-cmek-for-a-cluster"},{"title":"Update the CMEK-related status for a cluster.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json patch /api/v1/clusters/{cluster_id}/cmek","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/update-the-cmek-related-status-for-a-cluster"},{"title":"Get the IP allowlist and propagation status for a cluster.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json get /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/get-the-ip-allowlist-and-propagation-status-for-a-cluster"},{"title":"Add a new CIDR address to the IP allowlist.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json post /api/v1/clusters/{cluster_id}/networking/allowlist","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/add-a-new-cidr-address-to-the-ip-allowlist"},{"title":"Delete an IP allowlist entry.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json delete /api/v1/clusters/{cluster_id}/networking/allowlist/{cidr_ip}/{cidr_mask}","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/delete-an-ip-allowlist-entry"},{"title":"Add a new CIDR address to the IP allowlist.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json put /api/v1/clusters/{cluster_id}/networking/allowlist/{entry.cidr_ip}/{entry.cidr_mask}","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/add-a-new-cidr-address-to-the-ip-allowlist-1"},{"title":"Update an IP allowlist entry.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json patch /api/v1/clusters/{cluster_id}/networking/allowlist/{entry.cidr_ip}/{entry.cidr_mask}","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/update-an-ip-allowlist-entry"},{"title":"List nodes for a cluster.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json get /api/v1/clusters/{cluster_id}/nodes","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/list-nodes-for-a-cluster"},{"title":"List SQL users for a cluster.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json get /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/list-sql-users-for-a-cluster"},{"title":"Create a new SQL user.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json post /api/v1/clusters/{cluster_id}/sql-users","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/create-a-new-sql-user"},{"title":"Delete a SQL user.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json delete /api/v1/clusters/{cluster_id}/sql-users/{name}","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/delete-a-sql-user"},{"title":"Update a SQL user's password.","deprecated":null,"version":null,"openapi":"/openapi/cloud/2022-03-31.json put /api/v1/clusters/{cluster_id}/sql-users/{name}/password","href":"/docs/api/cloud/v1/2022-03-31/cockroachcloud/update-a-sql-users-password"}]}]}]}]}]},{"product":"Releases","icon":"list","description":"Version history, support policy \u0026 advisories","tabs":[{"tab":"Releases","icon":"tag","groups":[{"group":"Overview","pages":[{"title":"CockroachDB Releases Overview","href":"/docs/releases"},{"title":"Release Support Policy","href":"/docs/releases/release-support-policy"},{"title":"CockroachDB Feature Availability","href":"/docs/releases/cockroachdb-feature-availability"},{"title":"CockroachDB Cloud Releases","href":"/docs/releases/cloud"},{"title":"MOLT Releases","href":"/docs/releases/molt"},{"title":"Public Kubernetes Operator Releases","href":"/docs/releases/kubernetes-operator"},{"title":"CockroachDB Downloads Archive","href":"/docs/releases/downloads-archive"},{"title":"Archived Documentation","href":"/docs/releases/archived-documentation"}]},{"group":"All Release Notes","pages":[{"title":"What's New in v26.4","sidebarTitle":"v26.4 Release notes","href":"/docs/releases/v26.4"},{"title":"What's New in v26.3","sidebarTitle":"v26.3 Release notes","href":"/docs/releases/v26.3"},{"title":"What's New in v26.2","sidebarTitle":"v26.2 Release notes","href":"/docs/releases/v26.2"},{"title":"What's New in v26.1","sidebarTitle":"v26.1 Release notes","href":"/docs/releases/v26.1"},{"title":"What's New in v25.4","sidebarTitle":"v25.4 Release notes","href":"/docs/releases/v25.4"},{"title":"What's New in v25.3","sidebarTitle":"v25.3 Release notes","href":"/docs/releases/v25.3"},{"title":"What's New in v25.2","sidebarTitle":"v25.2 Release notes","href":"/docs/releases/v25.2"},{"title":"What's New in v25.1","sidebarTitle":"v25.1 Release notes","href":"/docs/releases/v25.1"},{"title":"What's New in v24.3","sidebarTitle":"v24.3 Release notes","href":"/docs/releases/v24.3"},{"title":"What's New in v24.2","sidebarTitle":"v24.2 Release notes","href":"/docs/releases/v24.2"},{"title":"What's New in v24.1","sidebarTitle":"v24.1 Release notes","href":"/docs/releases/v24.1"},{"title":"What's New in v23.2","sidebarTitle":"v23.2 Release notes","href":"/docs/releases/v23.2"},{"title":"What's New in v23.1","sidebarTitle":"v23.1 Release notes","href":"/docs/releases/v23.1"},{"title":"What's New in v22.2","sidebarTitle":"v22.2 Release notes","href":"/docs/releases/v22.2"},{"title":"What's New in v22.1","sidebarTitle":"v22.1 Release notes","href":"/docs/releases/v22.1"},{"title":"What's New in v21.2","sidebarTitle":"v21.2 Release notes","href":"/docs/releases/v21.2"},{"title":"What's New in v21.1","sidebarTitle":"v21.1 Release notes","href":"/docs/releases/v21.1"},{"title":"What's New in v20.2","sidebarTitle":"v20.2 Release notes","href":"/docs/releases/v20.2"},{"title":"What's New in v20.1","sidebarTitle":"v20.1 Release notes","href":"/docs/releases/v20.1"},{"title":"What's New in v2.1","sidebarTitle":"v2.1 Release notes","href":"/docs/releases/v2.1"},{"title":"What's New in v2.0","sidebarTitle":"v2.0 Release notes","href":"/docs/releases/v2.0"},{"title":"What's New in v19.2","sidebarTitle":"v19.2 Release notes","href":"/docs/releases/v19.2"},{"title":"What's New in v19.1","sidebarTitle":"v19.1 Release notes","href":"/docs/releases/v19.1"},{"title":"What's New in v1.1","sidebarTitle":"v1.1 Release notes","href":"/docs/releases/v1.1"},{"title":"What's New in v1.0","sidebarTitle":"v1.0 Release notes","href":"/docs/releases/v1.0"}]}]},{"tab":"Security Advisories","icon":"shield-exclamation","pages":[{"title":"Technical Advisories","href":"/docs/advisories"}]}]}]},"title":"Architecture Overview - CockroachDB","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}