> ## Documentation Index
> Fetch the complete documentation index at: https://cockroachlabs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# API Support Policy

export const InternalLink = ({version, path = "", children, ...props}) => {
  let detectedVersion = version || "stable";
  if (typeof window !== 'undefined' && !version) {
    const match = window.location.pathname.match(/\/docs\/([^/]+)/);
    if (match) {
      detectedVersion = match[1];
    }
  }
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
  return <a href={`/docs/${detectedVersion}/${normalizedPath}`} {...props}>
      {children}
    </a>;
};

Cockroach Labs exposes various application programming interfaces (APIs).

The vast majority of changes to these interfaces are seamless additions of new functionality. However, some changes are backward-incompatible and may require you to adjust your integration. Changes to an API are introduced according to its support policy.

This page includes the following information:

* Our API [support policies](#support-policies).
* Our definitions of [backward-incompatible](#backward-incompatible-changes) and [backward-compatible](#backward-compatible-changes) changes.
* A summary of [APIs](#apis) that CockroachDB makes available.

## Support policies

| Type     | Description                                                               | Guarantees                                                                                                                                                                                                         |
| -------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Stable   | Supported for interfacing with third-party automated tools.               | [Backward-incompatible changes](#backward-incompatible-changes) may be introduced in new major versions.<br />[Backward-compatible changes](#backward-compatible-changes) may be introduced in new patch versions. |
| Unstable | Supported for consumption by humans. Not supported for automation.        | [Backward-incompatible changes](#backward-incompatible-changes) may be introduced in new major and patch versions.                                                                                                 |
| Reserved | Intended for use by CockroachDB developers. Not supported for public use. | N/A                                                                                                                                                                                                                |

Backward-incompatible changes to **stable APIs** are highlighted in the <InternalLink version="releases" path="index#supported-releases">release notes</InternalLink> for major CockroachDB versions. Users are asked to consider backward-incompatible changes before [upgrading](/docs/releases/) to a new CockroachDB version.

### Backward-incompatible changes

A change is *backward-incompatible* when existing automation requires an update in order to continue working. These changes are also known as "breaking changes":

* Removal or renaming of an endpoint, <InternalLink path="functions-and-operators#built-in-functions">built-in function</InternalLink>, <InternalLink path="cluster-settings">cluster setting</InternalLink>, or session variable.
* Removal or renaming of a SQL statement or syntax.
* Addition, removal, or renaming of a mandatory command-line flag or HTTP field.
* Removal or renaming of an optional command-line flag or HTTP field.
* Change in behavior of a <InternalLink path="functions-and-operators#built-in-functions">built-in function</InternalLink> without fixing a bug or PostgreSQL incompatibility.
* Removal or renaming of possible values in an `ENUM` session variable or <InternalLink path="cluster-settings">cluster setting</InternalLink>.
* Change in non-interactive <InternalLink path="cockroach-sql">`cockroach sql`</InternalLink> shell input or output.
* Change in behavior of a <InternalLink path="eventlog">structured log event</InternalLink> type, including the <InternalLink path="logging-overview#logging-channels">logging channel</InternalLink> it is emitted on.
* Renaming of a <InternalLink path="eventlog">structured log event</InternalLink> type or payload field.

### Backward-compatible changes

A change is *backward-compatible* when existing automation continues to work without updates.

The following list is not exhaustive:

* Addition of an optional command-line flag or HTTP field.
* Removal or change of any functionality documented as Preview or otherwise not fully supported.
* Marking functionality as deprecated via in-line documentation, hints, or warnings without removing it altogether.
* Addition or removal of a metric.
* Addition of a structured log event type or payload field.
* Addition of a new <InternalLink path="logging-overview#logging-channels">logging channel</InternalLink>.

### Versioning

A stable API may be assigned a new version number in two situations:

* When changes are introduced to the API.
* When a new CockroachDB version is released.

## APIs

<Note>
  A *mixed* API includes both stable and unstable features.
</Note>

| Interface                                         | Policy   | Versioning                               | Notes                                                                                                                                                                                                                      | Availability                                                        |
| ------------------------------------------------- | -------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [PostgreSQL wire protocol][pg-wire]               | Stable   | Versioned concurrently with CockroachDB  | Compatible with PostgreSQL version 13.                                                                                                                                                                                     | All products                                                        |
| [SQL syntax][sql-syntax]                          | Mixed    | Versioned concurrently with CockroachDB  | Best-effort policy to add and not remove SQL syntax. All `SHOW` statements are unstable, as described in the following row.                                                                                                | All products                                                        |
| `SHOW` SQL statements                             | Unstable | Versioned concurrently with CockroachDB  | This includes all documented SQL `SHOW` statements, which display unstable output.                                                                                                                                         | All products                                                        |
| [information\_schema system catalog][info-schema] | Stable   | Versioned concurrently with CockroachDB  |                                                                                                                                                                                                                            | All products                                                        |
| [pg\_catalog system catalog][pg-catalog]          | Stable   | Versioned concurrently with CockroachDB  |                                                                                                                                                                                                                            | All products                                                        |
| [pg\_extension system catalog][pg-extension]      | Stable   | Versioned concurrently with CockroachDB  |                                                                                                                                                                                                                            | All products                                                        |
| [crdb\_internal system catalog][crdb-internal]    | Reserved | Versioned concurrently with CockroachDB  | A [subset of the crdb\_internal system catalog][crdb-internal-subset] is stable.                                                                                                                                           | All products                                                        |
| [Built-in functions][built-in-functions]          | Mixed    | Versioned concurrently with CockroachDB  | Any built-in functions prefixed with `crdb_internal` are reserved.                                                                                                                                                         | All products                                                        |
| [cockroach commands][cockroach-commands]          | Mixed    | Versioned concurrently with CockroachDB  | Stability considerations for `cockroach sql` are described in the following row.                                                                                                                                           | All products                                                        |
| [cockroach sql shell][cockroach-sql]              | Mixed    | Versioned concurrently with CockroachDB  | When used non-interactively, `cockroach sql` is stable unless your usage relies on unstable input or output. Any `cockroach sql` output prefixed by `#` is unstable. When used interactively, `cockroach sql` is unstable. | All products                                                        |
| [Health endpoints][health-endpoints]              | Stable   | No new versions forthcoming.             |                                                                                                                                                                                                                            | All products                                                        |
| [Prometheus endpoint][prometheus-endpoint]        | Stable   | No new versions forthcoming.             | Although this endpoint is not versioned, individual metrics may be added or removed in each CockroachDB release. No changes are expected to response format.                                                               | CockroachDB Standard, CockroachDB Advanced, CockroachDB CockroachDB |
| [Cluster API][cluster-api]                        | Mixed    | Versioned independently from CockroachDB | For information on supported endpoints, versioning, and stability, refer to [Cluster API][cluster-api].                                                                                                                    | CockroachDB Advanced, CockroachDB CockroachDB                       |
| [DB Console][db-console]                          | Unstable | N/A                                      | For stable access to the information present in this tool, use the [Cluster API][cluster-api].                                                                                                                             | CockroachDB Advanced, CockroachDB CockroachDB                       |
| [Logging][logging-overview]                       | Mixed    | Versioned concurrently with CockroachDB  | Stability varies by [event type][eventlog]. Structured events are stable and unstructured events are unstable.                                                                                                             | CockroachDB Standard, CockroachDB Advanced, CockroachDB CockroachDB |
| [ccloud CLI][ccloud-cli]                          | Mixed    | Versioned independently from CockroachDB | Default output is unstable. Specify the `–json` argument in the CLI for stable output that follows the versioning scheme.                                                                                                  | CockroachDB Cloud                                                   |
| [CockroachDB Cloud API][cloud-api]                | Stable   | Versioned independently from CockroachDB |                                                                                                                                                                                                                            | CockroachDB Cloud                                                   |
| [CockroachDB Cloud Console][cloud-console]        | Unstable | N/A                                      |                                                                                                                                                                                                                            | CockroachDB Cloud                                                   |
| [Advanced Debug endpoints][ui-debug-pages]        | Reserved | N/A                                      |                                                                                                                                                                                                                            | N/A                                                                 |

[pg-wire]: /docs/v25.3/postgresql-compatibility

[sql-syntax]: /docs/v25.3/sql-feature-support

[info-schema]: /docs/v25.3/information-schema

[pg-catalog]: /docs/v25.3/pg-catalog

[pg-extension]: /docs/v25.3/pg-extension

[crdb-internal]: /docs/v25.3/crdb-internal

[crdb-internal-subset]: /docs/v25.3/crdb-internal#tables

[built-in-functions]: /docs/v25.3/functions-and-operators#built-in-functions

[cockroach-commands]: /docs/v25.3/cockroach-commands

[cockroach-sql]: /docs/v25.3/cockroach-sql

[health-endpoints]: /docs/v25.3/monitoring-and-alerting#health-endpoints

[prometheus-endpoint]: /docs/v25.3/prometheus-endpoint

[cluster-api]: /docs/v25.3/cluster-api

[db-console]: /docs/v25.3/ui-overview

[logging-overview]: /docs/v25.3/logging-overview

[eventlog]: /docs/v25.3/eventlog

[ccloud-cli]: /docs/cockroachcloud/ccloud-get-started

[cloud-api]: /docs/cockroachcloud/cloud-api

[cloud-console]: /docs/cockroachcloud/create-an-account#log-in-to-your-account

[ui-debug-pages]: /docs/v25.3/ui-debug-pages

## See also

* <InternalLink version="releases" path="release-support-policy">Release Support Policy</InternalLink>
* <InternalLink path="monitoring-and-alerting">Monitoring and Alerting</InternalLink>
