# API Changelog

This changelog lists all changes to the TiDB Cloud API.

<!-- In reverse chronological order -->

## 20260414

- Add a `type` field to the [List all accessible projects](#tag/Project/operation/ListProjects) endpoint.

    - If your application only reads the `id` and `name` fields from project responses, no changes are required.
    - If you need to distinguish between [project types](https://docs.pingcap.com/tidbcloud/tidbx-instance-move-faq/?plan=starter#what-project-types-are-available-in-tidb-cloud) (for example, to filter dedicated projects, TiDB X projects, or the TiDB X virtual project), start reading the `type` field. For more information, see [Project API Migration Guide for TiDB Cloud Starter and Essential](https://docs.pingcap.com/tidbcloud/tidbx-starter-essential-project-api-migration-guide).

- Rename TiDB Cloud Starter clusters to TiDB Cloud Starter instances. This is only a terminology change in the API descriptions, which does not affect your API usage.

## 20250812

- Rename the cloud product option "TiDB Cloud Serverless" to "TiDB Cloud Starter".

## 20240910

- Rename the two cloud product options as follows:

    - "TiDB Serverless" is renamed to "TiDB Cloud Serverless".
    - "TiDB Dedicated" is renamed to "TiDB Cloud Dedicated".

## 20240416

- Update the OpenAPI specification to indicate that all optional fields can accept null values. This change improves flexibility by allowing the omission of a parameter when it is not required.

## 20230905

- Add six new endpoints for managing the private endpoint service and private endpoints:

    - [Create a private endpoint service for a cluster](#tag/Cluster/operation/CreatePrivateEndpointService)
    - [Retrieve the private endpoint service information for a cluster](#tag/Cluster/operation/GetPrivateEndpointService)
    - [Create a private endpoint for a cluster](#tag/Cluster/operation/CreatePrivateEndpoint)
    - [List all private endpoints for a cluster](#tag/Cluster/operation/ListPrivateEndpoints)
    - [List all private endpoints in a project](#tag/Cluster/operation/ListPrivateEndpointsOfProject)
    - [Delete a private endpoint for a cluster](#tag/Cluster/operation/DeletePrivateEndpoint)

## 20230801

- Add one cluster status: `"PAUSING"`.

## 20230602

- Rename the two tier options as follows:

    - "Serverless Tier" is renamed to "TiDB Serverless".
    - "Dedicated Tier" is renamed to "TiDB Dedicated".

## 20230328

- Add three new endpoints:

    - [Create a project](#tag/Project/operation/CreateProject)
    - [List AWS Customer-Managed Encryption Keys for a project](#tag/Cluster/operation/ListAwsCmek)
    - [Configure AWS Customer-Managed Encryption Keys for a project](#tag/Cluster/operation/CreateAwsCmek)

## 20230321

- Update three fields of the [Modify a Dedicated Tier cluster](#tag/Cluster/operation/UpdateCluster) endpoint. These fields now support decreasing the size of TiDB, TiKV, or TiFlash nodes.

    - `config.components.tidb.node_size`
    - `config.components.tikv.node_size`
    - `config.components.tiflash.node_size`

## 20230228

- Add the `imports` resource, including the following endpoints:

    - [List all import tasks for a cluster](#tag/Import/operation/ListImportTasks)
    - [Get an import task](#tag/Import/operation/GetImportTask)
    - [Create an import task](#tag/Import/operation/CreateImportTask)
    - [Update an import task](#tag/Import/operation/UpdateImportTask)
    - [Upload a local file for an import task](#tag/Import/operation/UploadLocalFile)
    - [Preview data before starting an import task](#tag/Import/operation/PreviewImportData)
    - [Retrieve the role information for import tasks on a cluster](#tag/Import/operation/GetImportTaskRoleInfo)

## 20230214

- Update two fields of the [Modify a Dedicated Tier cluster](#tag/Cluster/operation/UpdateCluster) endpoint. These fields now support decreasing TiKV or TiFlash nodes.

    - `config.components.tikv.node_quantity`
    - `config.components.tiflash.node_quantity`

## 20230104

- Add three fields to the [Modify a Dedicated Tier cluster](#tag/Cluster/operation/UpdateCluster) endpoint. These fields support scaling up node sizes, but not scaling down.

    - `config.components.tidb.node_size`
    - `config.components.tikv.node_size`
    - `config.components.tiflash.node_size`

## 20221028

- [Developer Tier is upgraded to Serverless Tier](https://docs.pingcap.com/tidbcloud/release-notes-2022#october-28-2022). Serverless Tier is still in beta and free to use.

    [Creating a cluster](#tag/Cluster/operation/CreateCluster) with the `cluster_type` field set to `DEVELOPER` creates a Serverless Tier cluster now.

## 20220920

- The API is now in public beta and available to all users.

## 20220906

- Add a `config.components.tikv.storage_size_gib` field to the [Modify a Dedicated Tier cluster](#tag/Cluster/operation/UpdateCluster) endpoint.
- Modify the `config.components.tikv.node_quantity` and `config.components.tiflash.node_quantity` fields from `required` to `optional` for the [Modify a Dedicated Tier cluster](#tag/Cluster/operation/UpdateCluster) endpoint.
- Remove the "Can not modify `storage_size_gib` of an existing cluster" limitation of the `config.components.tiflash.storage_size_gib` field for the [Create a cluster](#tag/Cluster/operation/CreateCluster) and [Modify a Dedicated Tier cluster](#tag/Cluster/operation/UpdateCluster) endpoints.

## 20220823

- Add a `config.paused` field to the [Modify a Dedicated Tier cluster](#tag/Cluster/operation/UpdateCluster) endpoint.
- Add two cluster statuses: `"IMPORTING"` and `"UNAVAILABLE"`.

## 20220809

- Initial release of the TiDB Cloud API (v1beta) in private beta, including the following resources and endpoints:

    - Project:

        - [List all accessible projects](#tag/Project/operation/ListProjects)

    - Cluster:
        - [List the cloud providers, regions and available specifications](#tag/Cluster/operation/ListProviderRegions)
        - [List all clusters in a project](/#tag/Cluster/operation/ListClustersOfProject)
        - [Create a cluster](#tag/Cluster/operation/CreateCluster)
        - [Get a cluster by ID](#tag/Cluster/operation/GetCluster)
        - [Delete a cluster](#tag/Cluster/operation/DeleteCluster)
        - [Modify a Dedicated Tier cluster](#tag/Cluster/operation/UpdateCluster)
    - Backup:
        - [List all backups for a cluster](#tag/Backup/operation/ListBackUpOfCluster)
        - [Create a backup for a cluster](#tag/Backup/operation/CreateBackup)
        - [Get a backup for a cluster](#tag/Backup/operation/GetBackupOfCluster)
        - [Delete a backup for a cluster](#tag/Backup/operation/DeleteBackup)
    - Restore:
        - [List the restore tasks in a project](#tag/Restore/operation/ListRestoreTasks)
        - [Create a restore task](#tag/Restore/operation/CreateRestoreTask)
        - [Get a restore task](#tag/Restore/operation/GetRestoreTask)
