openapi: 3.2.0
info:
title: TiDB Cloud Starter and Essential Branch API
description: "*TiDB Cloud API is in beta.*\n\nThis API manages [TiDB Cloud Starter](https://docs.pingcap.com/tidbcloud/select-cluster-tier/#tidb-cloud-serverless) and [TiDB Cloud Essential](https://docs.pingcap.com/tidbcloud/select-cluster-tier/#essential) instances. For [TiDB Cloud Dedicated](https://docs.pingcap.com/tidbcloud/select-cluster-tier/#tidb-cloud-dedicated) clusters, use the [TiDB Cloud Dedicated API](https://docs.pingcap.com/tidbcloud/api/v1beta1/dedicated/). For more information about TiDB Cloud API, see [TiDB Cloud API Overview](https://docs.pingcap.com/tidbcloud/api-overview/).\n\n# Overview\n\nThe TiDB Cloud Starter and Essential API is a [REST interface](https://en.wikipedia.org/wiki/Representational_state_transfer) that provides you with programmatic access to manage TiDB Cloud Starter and Essential instances and related resources within TiDB Cloud.\n\nThe API has the following features:\n\n- **JSON entities.** All entities are expressed in JSON.\n- **HTTPS-only.** You can only access the API via HTTPS, ensuring all the data sent over the network is encrypted with TLS.\n- **Key-based access and digest authentication.** Before you access TiDB Cloud API, you must generate an API key. All requests are authenticated through [HTTP Digest Authentication](https://en.wikipedia.org/wiki/Digest_access_authentication), ensuring the API key is never sent over the network.\n\n# Get Started\n\nThis guide helps you make your first API call to TiDB Cloud API. You'll learn how to authenticate a request, build a request, and interpret the response.\n\n## Prerequisites\n\nTo complete this guide, you need to perform the following tasks:\n\n- Create a [TiDB Cloud account](https://tidbcloud.com/free-trial)\n- Install [curl](https://curl.se/)\n\n## Step 1. Create an API key\n\nTo create an API key, log in to your TiDB Cloud console. Navigate to the [**API Keys**](https://tidbcloud.com/org-settings/api-keys) page of your organization, and create an API key.\n\nAn API key contains a public key and a private key. Copy and save them in a secure location. You will need to use the API key later in this guide.\n\nFor more details about creating API keys, refer to [API Key Management](#section/Authentication/API-Key-Management).\n\n## Step 2. Make your first API call\n\n### Build an API call\n\nTiDB Cloud API call consists of the following components:\n\n- **A host**. The host for TiDB Cloud API is <https://serverless.tidbapi.com>.\n- **An API Key**. The public key and the private key are required for authentication.\n- **A request**. When submitting data to a resource via `POST`, `PATCH`, or `PUT`, you must submit your payload in JSON.\n\nIn this guide, you call the [List all clusters](#tag/Cluster/operation/ClusterService_ListClusters) endpoint. For the detailed description of the endpoint, see the [API reference](#tag/Cluster/operation/ClusterService_ListClusters).\n\n### Call an API endpoint\n\nTo get all TiDB Cloud Starter and Essential instances in your organization, run the following command in your terminal. Remember to change `YOUR_PUBLIC_KEY` to your public key and `YOUR_PRIVATE_KEY` to your private key.\n\n```shell\ncurl --digest \\\n --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --request GET \\\n --url 'https://serverless.tidbapi.com/v1beta1/clusters'\n```\n\n## Step 3. Check the response\n\nAfter making the API call, if the status code in response is `200` and you see details about all TiDB Cloud Starter and Essential instances in your organization, your request is successful.\n\n# Authentication\n\nThe TiDB Cloud API uses [HTTP Digest Authentication](https://en.wikipedia.org/wiki/Digest_access_authentication). It protects your private key from being sent over the network. For more details about HTTP Digest Authentication, refer to the [IETF RFC](https://datatracker.ietf.org/doc/html/rfc7616).\n\n## API key overview\n\n- The API key contains a public key and a private key, which act as the username and password required in the HTTP Digest Authentication. The private key only displays upon the key creation.\n- The API key belongs to your organization and acts as the `Organization Owner` role. You can check [permissions of owner](https://docs.pingcap.com/tidbcloud/manage-user-access#configure-member-roles).\n- You must provide the correct API key in every request. Otherwise, TiDB Cloud responds with a `401` error.\n\n## API key management\n\n### Create an API key\n\nOnly the **owner** of an organization can create an API key.\n\nTo create an API key in an organization, perform the following steps:\n\n1. In the [TiDB Cloud console](https://tidbcloud.com), switch to your target organization using the combo box in the upper-left corner.\n2. In the left navigation pane, click **Organization Settings** > **API Keys**.\n3. On the **API Keys** page, click **Create API Key**.\n4. Enter a description for your API key.\n5. Configure the role and scope for the API key. For more information about the permissions of a role, see [User roles](https://docs.pingcap.com/tidbcloud/manage-user-access/#user-roles).\n6. Click **Generate API Key**. Copy and save the public key and the private key.\n7. Make sure that you have copied and saved the private key in a secure location. The private key only displays upon the creation. After leaving this page, you will not be able to get the full private key again.\n8. Click **Done**.\n\n### View details of an API key\n\nTo view details of an API key, perform the following steps:\n\n1. In the [TiDB Cloud console](https://tidbcloud.com), switch to your target organization using the combo box in the upper-left corner.\n2. In the left navigation pane, click **Organization Settings** > **API Keys**.\n3. You can view the details of the API keys on the page.\n\n### Edit an API key\n\nOnly the **owner** of an organization can modify an API key.\n\nTo edit an API key in an organization, perform the following steps:\n\n1. In the [TiDB Cloud console](https://tidbcloud.com), switch to your target organization using the combo box in the upper-left corner.\n2. In the left navigation pane, click **Organization Settings** > **API Keys**.\n3. On the **API Keys** page, click **...** in the API key row that you want to change, and then click **Update Role**.\n4. You can update the description and role of the API key.\n5. Click **Update**.\n\n### Delete an API key\n\nOnly the **owner** of an organization can delete an API key.\n\nTo delete an API key in an organization, perform the following steps:\n\n1. In the [TiDB Cloud console](https://tidbcloud.com), switch to your target organization using the combo box in the upper-left corner.\n2. In the left navigation pane, click **Organization Settings** > **API Keys**.\n3. On the **API Keys** page, click **...** in the API key row that you want to delete, and then click **Delete**.\n4. Click **I understand, delete it.**\n\n# Rate Limiting\n\nThe TiDB Cloud API allows up to 100 requests per minute per API key. If you exceed the rate limit, the API returns a `429` error. For more quota, you can [submit a request](https://support.pingcap.com/hc/en-us/requests/new?ticket_form_id=7800003722519) to contact our support team.\n\nEach API request returns the following headers about the limit.\n\n- `X-Ratelimit-Limit-Minute`: The number of requests allowed per minute. It is 100 currently.\n- `X-Ratelimit-Remaining-Minute`: The number of remaining requests in the current minute. When it reaches `0`, the API returns a `429` error and indicates that you exceed the rate limit.\n- `X-Ratelimit-Reset`: The time in seconds at which the current rate limit resets.\n\nIf you exceed the rate limit, an error response returns like this.\n\n```\n> HTTP/2 429\n> date: Fri, 22 Jul 2022 05:28:37 GMT\n> content-type: application/json\n> content-length: 66\n> x-ratelimit-reset: 23\n> x-ratelimit-remaining-minute: 0\n> x-ratelimit-limit-minute: 100\n> x-kong-response-latency: 2\n> server: kong/2.8.1\n\n> {\"details\":[],\"code\":49900007,\"message\":\"The request exceeded the limit of 100 times per apikey per minute. For more quota, please contact us: https://support.pingcap.com/hc/en-us/requests/new?ticket_form_id=7800003722519\"}\n```\n\n# API Changelog\n\nThis changelog lists all changes to the TiDB Cloud API.\n\n<!-- In reverse chronological order -->\n\n## 20260414\n\n- Rename TiDB Cloud Starter and Essential clusters to TiDB Cloud Starter and Essential instances. This is only a terminology change in the API descriptions, which does not affect your API usage.\n\n## 20250812\n\n- Initial release of the TiDB Cloud Starter and Essential API, including the following resources and endpoints:\n\n - Cluster:\n - [List TiDB Cloud Starter and Essential instances](#tag/Cluster/operation/ClusterService_ListClusters)\n - [Create a new TiDB Cloud Starter or Essential instance](#tag/Cluster/operation/ClusterService_CreateCluster)\n - [Get details of a TiDB Cloud Starter or Essential instance](#tag/Cluster/operation/ClusterService_GetCluster)\n - [Delete a TiDB Cloud Starter or Essential instance](#tag/Cluster/operation/ClusterService_DeleteCluster)\n - [Update a TiDB Cloud Starter or Essential instance](#tag/Cluster/operation/ClusterService_PartialUpdateCluster)\n - [List available regions for an organization](#tag/Cluster/operation/ClusterService_ListRegions)\n - Branch:\n - [List branches](#tag/Branch/operation/BranchService_ListBranches)\n - [Create a branch](#tag/Branch/operation/BranchService_CreateBranch)\n - [Get details of a branch](#tag/Branch/operation/BranchService_GetBranch)\n - [Delete a branch](#tag/Branch/operation/BranchService_DeleteBranch)\n - [Reset a branch](#tag/Branch/operation/BranchService_ResetBranch)\n - Export:\n - [List export tasks for a cluster](#tag/Export/operation/ExportService_ListExports)\n - [Create an export task](#tag/Export/operation/ExportService_CreateExport)\n - [Get details of an export task](#tag/Export/operation/ExportService_GetExport)\n - [Delete an export task](#tag/Export/operation/ExportService_DeleteExport)\n - [Cancel an export task](#tag/Export/operation/ExportService_CancelExport)\n - Import:\n - [List import tasks for a cluster](#tag/Import/operation/ImportService_ListImports)\n - [Create an import task](#tag/Import/operation/ImportService_CreateImport)\n - [Get an import task](#tag/Import/operation/ImportService_GetImport)\n - [Cancel an import task](#tag/Import/operation/ImportService_CancelImport)\n"
version: v1beta1
servers:
- url: https://serverless.tidbapi.com/v1beta1
tags:
- name: Branch
paths:
/clusters/{clusterId}/branches:
get:
summary: List branches
operationId: BranchService_ListBranches
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v1beta1ListBranchesResponse'
'400':
description: A request field is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'429':
description: You have exceed the rate limit.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the TiDB Cloud Starter or Essential instance to which the [branch](https://docs.pingcap.com/tidbcloud/branch-overview/) belongs.
in: path
required: true
schema:
type: string
- name: pageSize
description: The maximum number of branches to return. If not specified, at most 10 branches will be returned. The maximum value is `100`. Values greater than `100` are set to `100`.
in: query
required: false
schema:
type: integer
format: int32
default: 10
maximum: 100
minimum: 1
- name: pageToken
description: 'The pagination token received from a previous [List branches](#tag/Branch/operation/BranchService_ListBranches) request. Use this token to retrieve the next page of results.
**Note**: When paginating, all other parameters must match the original request.'
in: query
required: false
schema:
type: string
tags:
- Branch
x-codeSamples:
- label: curl
lang: cURL
source: 'curl --location ''https://serverless.tidbapi.com/v1beta1/clusters/{cluster_id}/branches'' \
--digest --user ''YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY'' \
--header ''Accept: application/json'''
post:
summary: Create a branch
operationId: BranchService_CreateBranch
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v1beta1Branch'
'400':
description: A request field is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'429':
description: You have exceed the rate limit.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the TiDB Cloud Starter or Essential instance to which the branch belongs.
in: path
required: true
schema:
type: string
tags:
- Branch
x-codeSamples:
- label: curl
lang: cURL
source: "curl --location 'https://serverless.tidbapi.com/v1beta1/clusters/{cluster_id}/branches' \\\n--digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n--header 'Content-Type: application/json' \\\n--header 'Accept: application/json' \\\n--data '{\n \"displayName\": \"test\"\n}'"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/v1beta1Branch'
description: The branch being created.
required: true
/clusters/{clusterId}/branches/{branchId}:
get:
summary: Get details of a branch
operationId: BranchService_GetBranch
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v1beta1Branch'
'400':
description: A request field is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'429':
description: You have exceed the rate limit.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the TiDB Cloud Starter or Essential instance to which the branch belongs.
in: path
required: true
schema:
type: string
- name: branchId
description: The ID of the branch.
in: path
required: true
schema:
type: string
- name: view
description: 'The detail level of the branch information to return.
- `BASIC`: returns only basic branch information.
- `FULL`: returns complete branch details.'
in: query
required: false
schema:
type: string
enum:
- BASIC
- FULL
default: FULL
tags:
- Branch
x-codeSamples:
- label: curl
lang: cURL
source: 'curl --location ''https://serverless.tidbapi.com/v1beta1/clusters/{cluster_id}/branches/{branch_id}'' \
--digest --user ''YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY'' \
--header ''Accept: application/json'''
delete:
summary: Delete a branch
operationId: BranchService_DeleteBranch
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v1beta1Branch'
'400':
description: A request field is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'429':
description: You have exceed the rate limit.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the TiDB Cloud Starter or Essential instance to which the branch belongs.
in: path
required: true
schema:
type: string
- name: branchId
description: The ID of the branch.
in: path
required: true
schema:
type: string
tags:
- Branch
x-codeSamples:
- label: curl
lang: cURL
source: 'curl --location --request DELETE ''https://serverless.tidbapi.com/v1beta1/clusters/{cluster_id}/branches/{branch_id}'' \
--digest --user ''YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY'' \
--header ''Accept: application/json'''
/clusters/{clusterId}/branches/{branchId}:reset:
post:
summary: Reset a branch
description: Resets a branch to match the current state of its parent branch.
operationId: BranchService_ResetBranch
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v1beta1Branch'
'400':
description: A request field is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'429':
description: You have exceed the rate limit.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the TiDB Cloud Starter or Essential instance to which the branch belongs.
in: path
required: true
schema:
type: string
- name: branchId
description: The ID of the branch.
in: path
required: true
schema:
type: string
tags:
- Branch
x-codeSamples:
- label: curl
lang: cURL
source: 'curl --location --request POST ''https://serverless.tidbapi.com/v1beta1/clusters/{cluster_id}/branches/{branch_id}:reset'' \
--digest --user ''YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY'' \
--header ''Accept: application/json'''
components:
schemas:
v1beta1ListBranchesResponse:
type: object
properties:
branches:
type: array
items:
type: object
$ref: '#/components/schemas/v1beta1Branch'
description: A list of branches that match the query.
nextPageToken:
type: string
description: The token to retrieve the next page of results. Use this value as the `pageToken` parameter in the next request. This field is empty when there are no more pages.
totalSize:
type: integer
format: int64
description: The total number of branches that match the query.
description: Message for response to list branches.
v1beta1BranchState:
type: string
enum:
- CREATING
- ACTIVE
- DELETED
- RESTORING
description: "Branch State.\n\n - CREATING: The branch is creating.\n - ACTIVE: The branch is active and running.\n - DELETED: The branch is deleted.\n - RESTORING: The branch is restoring."
googlerpcStatus:
type: object
properties:
code:
type: integer
format: int32
description: The error code returned with this error.
message:
type: string
description: The error message returned with this error.
details:
type: array
items:
type: object
$ref: '#/components/schemas/protobufAny'
description: A list of messages with additional error details.
description: 'The `Status` type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by [gRPC](https://github.com/grpc). Each `Status` message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the
[API Design Guide](https://cloud.google.com/apis/design/errors).'
v1beta1BranchEndpointsPublicAuthorizedNetwork:
type: object
properties:
displayName:
type: string
description: The display name of the authorized network.
startIpAddress:
type: string
description: The starting IP address of the authorized network range.
endIpAddress:
type: string
description: The ending IP address of the authorized network range.
protobufAny:
type: object
properties:
'@type':
type: string
description: A URL or resource name that uniquely identifies the type of the serialized protocol buffer message.
additionalProperties: {}
description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": <string>,\n \"lastName\": <string>\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }"
v1beta1BranchEndpointsPrivate:
type: object
properties:
host:
type: string
description: The hostname of the private endpoint.
readOnly: true
port:
type: integer
format: int32
description: The port number of the private endpoint.
readOnly: true
aws:
description: The [AWS PrivateLink](https://aws.amazon.com/privatelink/) configuration details for private access.
readOnly: true
allOf:
- $ref: '#/components/schemas/v1beta1BranchEndpointsPrivateAWS'
description: Message for Private Endpoint for this branch.
v1beta1BranchEndpointsPublic:
type: object
properties:
host:
type: string
description: The hostname of the public endpoint.
readOnly: true
port:
type: integer
format: int32
description: The port number of the public endpoint.
readOnly: true
disabled:
type: boolean
description: Indicates whether the public endpoint is disabled.
authorizedNetworks:
type: array
items:
type: object
$ref: '#/components/schemas/v1beta1BranchEndpointsPublicAuthorizedNetwork'
description: The list of networks that are allowed to connect to the branch.
readOnly: true
description: Message for Public Endpoint for this branch.
v1beta1BranchEndpoints:
type: object
properties:
public:
description: The public endpoint configuration for connecting to the branch.
allOf:
- $ref: '#/components/schemas/v1beta1BranchEndpointsPublic'
private:
description: The private endpoint for securely connecting to the branch.
readOnly: true
allOf:
- $ref: '#/components/schemas/v1beta1BranchEndpointsPrivate'
description: Message for the Endpoints for this branch.
v1beta1Branch:
type: object
properties:
name:
type: string
description: The unique identifier for the branch.
readOnly: true
branchId:
type: string
description: The system-generated ID of the branch.
readOnly: true
displayName:
type: string
description: The user-defined name of the branch.
clusterId:
type: string
description: The ID of the TiDB Cloud Starter or Essential instance to which the branch belongs.
readOnly: true
parentId:
type: string
description: The ID of the branch parent.
createdBy:
type: string
description: The email address of the user who create the branch.
readOnly: true
state:
description: The state of the branch.
readOnly: true
allOf:
- $ref: '#/components/schemas/v1beta1BranchState'
endpoints:
description: The connection endpoints for accessing the branch.
readOnly: true
allOf:
- $ref: '#/components/schemas/v1beta1BranchEndpoints'
userPrefix:
type:
- string
- 'null'
description: The unique prefix automatically generated for SQL usernames on this TiDB Cloud Starter or Essential instance. TiDB Cloud uses this prefix to distinguish between TiDB Cloud Starter and Essential instances. For more information, see [User name prefix](https://docs.pingcap.com/tidbcloud/select-cluster-tier/#user-name-prefix).
readOnly: true
createTime:
type: string
format: date-time
description: The timestamp when the branch was created, in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
readOnly: true
updateTime:
type: string
format: date-time
description: The timestamp when the branch was last updated, in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
readOnly: true
annotations:
type: object
additionalProperties:
type: string
description: The annotations for the branch.
parentDisplayName:
type: string
description: The display name
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pingcap/refs/heads/main/openapi/pingcap-branch-api-openapi.yml