> ## 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. [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 [release notes](/docs/releases#supported-releases) for major CockroachDB versions. Users are asked to consider backward-incompatible changes before <InternalLink version="releases" path="v25.2">upgrading</InternalLink> 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                                                        |
| ------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| <InternalLink path="postgresql-compatibility">PostgreSQL wire protocol</InternalLink>                                           | Stable   | Versioned concurrently with CockroachDB  | Compatible with PostgreSQL version 13.                                                                                                                                                                                     | All products                                                        |
| <InternalLink path="sql-feature-support">SQL syntax</InternalLink>                                                              | 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                                                        |
| <InternalLink path="information-schema">information\_schema system catalog</InternalLink>                                       | Stable   | Versioned concurrently with CockroachDB  |                                                                                                                                                                                                                            | All products                                                        |
| <InternalLink path="pg-catalog">pg\_catalog system catalog</InternalLink>                                                       | Stable   | Versioned concurrently with CockroachDB  |                                                                                                                                                                                                                            | All products                                                        |
| <InternalLink path="pg-extension">pg\_extension system catalog</InternalLink>                                                   | Stable   | Versioned concurrently with CockroachDB  |                                                                                                                                                                                                                            | All products                                                        |
| <InternalLink path="crdb-internal">crdb\_internal system catalog</InternalLink>                                                 | Reserved | Versioned concurrently with CockroachDB  | A <InternalLink path="crdb-internal#tables">subset of the crdb\_internal system catalog</InternalLink> is stable.                                                                                                          | All products                                                        |
| <InternalLink path="functions-and-operators#built-in-functions">Built-in functions</InternalLink>                               | Mixed    | Versioned concurrently with CockroachDB  | Any built-in functions prefixed with `crdb\_internal` are reserved.                                                                                                                                                        | All products                                                        |
| <InternalLink path="cockroach-commands">cockroach commands</InternalLink>                                                       | Mixed    | Versioned concurrently with CockroachDB  | Stability considerations for `cockroach sql` are described in the following row.                                                                                                                                           | All products                                                        |
| <InternalLink path="cockroach-sql">cockroach sql shell</InternalLink>                                                           | 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                                                        |
| <InternalLink path="monitoring-and-alerting#health-endpoints">Health endpoints</InternalLink>                                   | Stable   | No new versions forthcoming.             |                                                                                                                                                                                                                            | All products                                                        |
| <InternalLink path="monitoring-and-alerting#prometheus-endpoint">Prometheus endpoint</InternalLink>                             | 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, self-hosted CockroachDB |
| <InternalLink path="cluster-api">Cluster API</InternalLink>                                                                     | Mixed    | Versioned independently from CockroachDB | For information on supported endpoints, versioning, and stability, refer to <InternalLink path="cluster-api">Cluster API</InternalLink>.                                                                                   | CockroachDB Advanced, self-hosted CockroachDB                       |
| <InternalLink path="ui-overview">DB Console</InternalLink>                                                                      | Unstable | N/A                                      | For stable access to the information present in this tool, use the <InternalLink path="cluster-api">Cluster API</InternalLink>.                                                                                            | CockroachDB Advanced, self-hosted CockroachDB                       |
| <InternalLink path="logging-overview">Logging</InternalLink>                                                                    | Mixed    | Versioned concurrently with CockroachDB  | Stability varies by <InternalLink path="eventlog">event type</InternalLink>. Structured events are stable and unstructured events are unstable.                                                                            | CockroachDB Standard, CockroachDB Advanced, self-hosted CockroachDB |
| <InternalLink version="cockroachcloud" path="ccloud-get-started">ccloud CLI</InternalLink>                                      | 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                                                   |
| <InternalLink version="cockroachcloud" path="cloud-api">CockroachDB Cloud API</InternalLink>                                    | Stable   | Versioned independently from CockroachDB |                                                                                                                                                                                                                            | CockroachDB Cloud                                                   |
| <InternalLink version="cockroachcloud" path="create-an-account#log-in-to-your-account">CockroachDB Cloud Console</InternalLink> | Unstable | N/A                                      |                                                                                                                                                                                                                            | CockroachDB Cloud                                                   |
| <InternalLink path="ui-debug-pages">Advanced Debug endpoints</InternalLink>                                                     | Reserved | N/A                                      |                                                                                                                                                                                                                            | N/A                                                                 |

## See also

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