openapi: 3.2.0 info: title: CockroachDB Cloud Private Endpoints API description: The CockroachDB Cloud API is a REST interface that provides programmatic access to manage the lifecycle of clusters within a CockroachDB Cloud organization. version: '2024-09-16' contact: name: Cockroach Labs Support url: https://support.cockroachlabs.com termsOfService: https://www.cockroachlabs.com/cloud-terms-and-conditions/ servers: - url: https://cockroachlabs.cloud description: CockroachDB Cloud Production Server security: - bearerAuth: [] tags: - name: Private Endpoints description: Manage private endpoint services and connections for secure VPC-level access to clusters. paths: /api/v1/clusters/{cluster_id}/networking/private-endpoint-services: get: operationId: ListPrivateEndpointServices summary: List private endpoint services description: Returns a list of private endpoint services configured for the specified cluster. tags: - Private Endpoints parameters: - $ref: '#/components/parameters/clusterId' responses: '200': description: List of private endpoint services returned successfully. content: application/json: schema: $ref: '#/components/schemas/ListPrivateEndpointServicesResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: operationId: CreatePrivateEndpointServices summary: Create private endpoint services description: Creates private endpoint services for the specified cluster to enable VPC-level private connectivity. tags: - Private Endpoints parameters: - $ref: '#/components/parameters/clusterId' responses: '200': description: Private endpoint services created successfully. content: application/json: schema: $ref: '#/components/schemas/ListPrivateEndpointServicesResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections: get: operationId: ListPrivateEndpointConnections summary: List private endpoint connections description: Returns a list of private endpoint connections for the specified cluster. tags: - Private Endpoints parameters: - $ref: '#/components/parameters/clusterId' responses: '200': description: List of private endpoint connections returned successfully. content: application/json: schema: $ref: '#/components/schemas/ListPrivateEndpointConnectionsResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: operationId: AddPrivateEndpointConnection summary: Add a private endpoint connection description: Adds a new private endpoint connection for the specified cluster. tags: - Private Endpoints parameters: - $ref: '#/components/parameters/clusterId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddPrivateEndpointConnectionRequest' responses: '200': description: Private endpoint connection added successfully. content: application/json: schema: $ref: '#/components/schemas/PrivateEndpointConnection' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /api/v1/clusters/{cluster_id}/networking/private-endpoint-connections/{endpoint_id}: delete: operationId: DeletePrivateEndpointConnection summary: Delete a private endpoint connection description: Removes a specific private endpoint connection from the cluster. tags: - Private Endpoints parameters: - $ref: '#/components/parameters/clusterId' - $ref: '#/components/parameters/endpointId' responses: '200': description: Private endpoint connection deleted successfully. content: application/json: schema: $ref: '#/components/schemas/PrivateEndpointConnection' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: Error: type: object description: Standard error response returned by the API. properties: code: type: integer description: HTTP status code of the error. message: type: string description: Human-readable description of the error. details: type: array description: Additional detail objects providing error context. items: type: object ListPrivateEndpointServicesResponse: type: object description: List of private endpoint services for a cluster. properties: services: type: array description: Array of private endpoint service objects. items: type: object ListPrivateEndpointConnectionsResponse: type: object description: List of private endpoint connections for a cluster. properties: connections: type: array description: Array of private endpoint connection objects. items: $ref: '#/components/schemas/PrivateEndpointConnection' AddPrivateEndpointConnectionRequest: type: object description: Request body for adding a private endpoint connection. required: - endpoint_id properties: endpoint_id: type: string description: Cloud provider endpoint identifier to connect. PrivateEndpointConnection: type: object description: Represents a private endpoint connection for VPC-level access to a CockroachDB cluster. properties: id: type: string description: Unique identifier of the private endpoint connection. cloud_provider: type: string description: Cloud provider where the endpoint is hosted. status: type: string description: Status of the private endpoint connection. endpoint_id: type: string description: Cloud provider endpoint identifier. region_name: type: string description: Cloud region of the endpoint. responses: BadRequest: description: The request body or parameters are invalid. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: clusterId: name: cluster_id in: path required: true description: Unique identifier of the CockroachDB Cloud cluster. schema: type: string endpointId: name: endpoint_id in: path required: true description: Unique identifier of the private endpoint connection. schema: type: string securitySchemes: bearerAuth: type: http scheme: bearer description: Bearer token authentication. Generate a token in the CockroachDB Cloud Console under Organization Settings > API Access. externalDocs: description: CockroachDB Cloud API Documentation url: https://www.cockroachlabs.com/docs/cockroachcloud/cloud-api