{
"operationId": "savedQueryList",
"summary": "List saved queries",
"description": "**Disclaimer:** This beta endpoint is evolving; the API contract may change. <br /><br /> Returns saved queries for the service.",
"tags": [
"Saved queries"
],
"security": [
{
"basicAuth": [
"control-plane:service:view"
]
}
],
"parameters": [
{
"in": "path",
"name": "organizationId",
"schema": {
"description": "ID of the requested organization.",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
},
"required": true,
"description": "ID of the requested organization."
},
{
"in": "path",
"name": "serviceId",
"schema": {
"description": "ID of the requested service.",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
},
"required": true,
"description": "ID of the requested service."
},
{
"in": "query",
"name": "cursor",
"schema": {
"description": "Cursor returned as `nextCursor` on the previous page.",
"type": "string"
},
"description": "Cursor returned as `nextCursor` on the previous page."
},
{
"in": "query",
"name": "limit",
"schema": {
"description": "Maximum number of records to return per page. Defaults to 100. Maximum is 100.",
"default": 100,
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"description": "Maximum number of records to return per page. Defaults to 100. Maximum is 100."
}
],
"responses": {
"200": {
"description": "Successful response.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"result": {
"description": "Saved queries for the service.",
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicSavedQueryListItem"
}
},
"limit": {
"description": "Maximum number of results returned in this page.",
"type": "integer"
},
"totalCount": {
"description": "Total number of results across all pages. It has only informative value, thus is not guaranteed and it is provided on a best-effort basis. Null if the total count is unknown.",
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"nextCursor": {
"description": "Cursor for the next page, to be sent as the `cursor` query parameter. Null on the last page.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"description": "HTTP status code.",
"example": 200,
"type": "integer"
},
"requestId": {
"description": "Unique id assigned to every request. UUIDv4",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
}
},
"required": [
"result",
"limit",
"totalCount",
"nextCursor",
"status",
"requestId"
],
"additionalProperties": false
}
}
}
},
"400": {
"description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"description": "Error message.",
"type": "string"
},
"issues": {
"description": "Validation issues that caused the request to be rejected.",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"description": "Path to the invalid field.",
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"code": {
"description": "Validation issue code.",
"type": "string"
},
"message": {
"description": "Human-readable description of the issue.",
"type": "string"
}
},
"required": [
"path",
"code",
"message"
],
"additionalProperties": false
}
},
"status": {
"description": "HTTP status code.",
"example": 400,
"type": "integer"
},
"requestId": {
"description": "Unique id assigned to every request. UUIDv4",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
}
},
"required": [
"error",
"status",
"requestId"
],
"additionalProperties": false
}
}
}
},
"403": {
"description": "The request is forbidden.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"description": "Human-readable error message.",
"type": "string"
},
"status": {
"description": "HTTP status code.",
"example": 403,
"type": "integer"
},
"requestId": {
"description": "Unique id assigned to every request. UUIDv4",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
}
},
"required": [
"error",
"status",
"requestId"
],
"additionalProperties": false
}
}
}
},
"404": {
"description": "Service not found.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"description": "Human-readable error message.",
"type": "string"
},
"status": {
"description": "HTTP status code.",
"example": 404,
"type": "integer"
},
"requestId": {
"description": "Unique id assigned to every request. UUIDv4",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
}
},
"required": [
"error",
"status",
"requestId"
],
"additionalProperties": false
}
}
}
},
"500": {
"description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"description": "Error message.",
"type": "string"
},
"status": {
"description": "HTTP status code.",
"example": 500,
"type": "integer"
},
"requestId": {
"description": "Unique id assigned to every request. UUIDv4",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
}
},
"required": [
"error",
"status",
"requestId"
],
"additionalProperties": {}
}
}
}
}
},
"x-badges": [
{
"name": "Beta",
"position": "after"
}
]
}
The live ClickHouse Cloud OpenAPI spec has drifted from the Rust API library.
The comparison was produced by the shared
syn-based analyzer.https://api.clickhouse.cloud/v1crates/clickhouse-cloud-api/src/client.rscrates/clickhouse-cloud-api/src/models.rscrates/clickhouse-openapi-analyzerSummary
Missing Client Methods
saved_query_deleteDELETE
/v1/organizations/{organizationId}/services/{serviceId}/saved-queries/{queryId}Operation spec JSON
{ "operationId": "savedQueryDelete", "summary": "Delete a saved query", "description": "**Disclaimer:** This beta endpoint is evolving; the API contract may change. <br /><br /> Deletes a saved query.", "tags": [ "Saved queries" ], "security": [ { "basicAuth": [ "control-plane:service:manage" ] } ], "parameters": [ { "in": "path", "name": "organizationId", "schema": { "description": "ID of the requested organization.", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" }, "required": true, "description": "ID of the requested organization." }, { "in": "path", "name": "serviceId", "schema": { "description": "ID of the requested service.", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" }, "required": true, "description": "ID of the requested service." }, { "in": "path", "name": "queryId", "schema": { "description": "ID of the requested saved query.", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" }, "required": true, "description": "ID of the requested saved query." } ], "responses": { "200": { "description": "The saved query was deleted.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "description": "HTTP status code.", "example": 200, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "status", "requestId" ], "additionalProperties": false } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Error message.", "type": "string" }, "issues": { "description": "Validation issues that caused the request to be rejected.", "type": "array", "items": { "type": "object", "properties": { "path": { "description": "Path to the invalid field.", "type": "array", "items": { "anyOf": [ { "type": "string" }, { "type": "number" } ] } }, "code": { "description": "Validation issue code.", "type": "string" }, "message": { "description": "Human-readable description of the issue.", "type": "string" } }, "required": [ "path", "code", "message" ], "additionalProperties": false } }, "status": { "description": "HTTP status code.", "example": 400, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "403": { "description": "The request is forbidden.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Human-readable error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 403, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "404": { "description": "Saved query not found.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Human-readable error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 404, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "409": { "description": "Saved query can not be managed via this API.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Human-readable error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 409, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 500, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": {} } } } } }, "x-badges": [ { "name": "Beta", "position": "after" } ] }organization_byoc_infrastructure_getGET
/v1/organizations/{organizationId}/byocInfrastructure/{byocInfrastructureId}Operation spec JSON
{ "summary": "Get BYOC infrastructure details", "description": "**This endpoint is in beta.** API contract is stable, and no breaking changes are expected in the future. <br /><br /> Returns the full configuration of a BYOC infrastructure, including private link and load balancer state, network layout, and BYO-VPC settings read from the data plane.", "operationId": "organizationByocInfrastructureGet", "parameters": [ { "in": "path", "name": "organizationId", "description": "ID of the requested organization.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "in": "path", "name": "byocInfrastructureId", "description": "ID of the requested BYOC Infrastructure", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 200 }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" }, "result": { "$ref": "#/components/schemas/ByocInfrastructureDetails" } } } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 400 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "HTTP status code.", "example": 500 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } } }, "security": [ { "basicAuth": [ "control-plane:organization:view" ] } ], "tags": [ "Organization" ], "x-badges": [ { "name": "Beta", "position": "after" } ] }organization_byoc_infrastructure_private_endpoint_config_getGET
/v1/organizations/{organizationId}/byocInfrastructure/{byocInfrastructureId}/privateEndpointConfigOperation spec JSON
{ "summary": "Get BYOC infrastructure private endpoint configuration", "description": "**This endpoint is in beta.** API contract is stable, and no breaking changes are expected in the future. <br /><br /> Returns the private link endpoint service details of a BYOC infrastructure. For BYOC organizations this replaces the deprecated organization-level `privateEndpointConfig` endpoint.", "operationId": "organizationByocInfrastructurePrivateEndpointConfigGet", "parameters": [ { "in": "path", "name": "organizationId", "description": "ID of the requested organization.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "in": "path", "name": "byocInfrastructureId", "description": "ID of the requested BYOC Infrastructure", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 200 }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" }, "result": { "$ref": "#/components/schemas/ByocInfrastructurePrivateEndpointConfig" } } } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 400 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "HTTP status code.", "example": 500 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } } }, "security": [ { "basicAuth": [ "control-plane:organization:view" ] } ], "tags": [ "Organization" ], "x-badges": [ { "name": "Beta", "position": "after" } ] }organization_byoc_infrastructure_progress_getGET
/v1/organizations/{organizationId}/byocInfrastructure/{byocInfrastructureId}/progressOperation spec JSON
{ "summary": "Get BYOC infrastructure provisioning progress", "description": "**Disclaimer:** This beta endpoint is evolving; the API contract may change. <br /><br /> Returns the stage-by-stage provisioning progress of a BYOC infrastructure, more granular than the `state` field: overall status plus a tree of provisioning stages down to individual cloud resources.", "operationId": "organizationByocInfrastructureProgressGet", "parameters": [ { "in": "path", "name": "organizationId", "description": "ID of the requested organization.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "in": "path", "name": "byocInfrastructureId", "description": "ID of the requested BYOC Infrastructure", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 200 }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" }, "result": { "$ref": "#/components/schemas/ByocInfrastructureProgress" } } } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 400 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "HTTP status code.", "example": 500 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } } }, "security": [ { "basicAuth": [ "control-plane:organization:view" ] } ], "tags": [ "Organization" ], "x-badges": [ { "name": "Beta", "position": "after" } ] }organization_byoc_infrastructure_tags_getGET
/v1/organizations/{organizationId}/byocInfrastructure/{byocInfrastructureId}/tagsOperation spec JSON
{ "summary": "Get BYOC infrastructure tags", "description": "**This endpoint is in beta.** API contract is stable, and no breaking changes are expected in the future. <br /><br /> Returns the additional tags currently applied to the cloud resources of the BYOC infrastructure. Tags are replaced as a whole through the infrastructure update endpoint.", "operationId": "organizationByocInfrastructureTagsGet", "parameters": [ { "in": "path", "name": "organizationId", "description": "ID of the requested organization.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "in": "path", "name": "byocInfrastructureId", "description": "ID of the requested BYOC Infrastructure", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 200 }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" }, "result": { "$ref": "#/components/schemas/ByocInfrastructureTagsResponse" } } } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 400 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "HTTP status code.", "example": 500 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } } }, "security": [ { "basicAuth": [ "control-plane:organization:view" ] } ], "tags": [ "Organization" ], "x-badges": [ { "name": "Beta", "position": "after" } ] }postgres_service_backup_get_listGET
/v1/organizations/{organizationId}/postgres/{postgresId}/backupsOperation spec JSON
{ "summary": "List of Postgres service backups", "description": "**This endpoint is in beta.** API contract is stable, and no breaking changes are expected in the future. <br /><br /> Returns a list of the base backups retained for a Postgres service, ordered by last modified date, newest first. Results are capped at `limit` (default and maximum 100) per page. Every response carries `limit`, `totalCount` and `nextCursor`; pass `nextCursor` as the `cursor` query parameter to fetch the next page, repeating until it is null. A Postgres service is recovered to a point in time rather than to a single backup, so restore it with the restore endpoint and a timestamp rather than with a backup key from this list.", "operationId": "postgresServiceBackupGetList", "parameters": [ { "in": "path", "name": "organizationId", "description": "ID of the organization that owns the Postgres service.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "in": "path", "name": "postgresId", "description": "ID of the Postgres service the backups were created from.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "in": "query", "name": "limit", "description": "Maximum number of results to return.", "schema": { "type": "integer", "minimum": 1, "maximum": 100, "default": 100 } }, { "in": "query", "name": "cursor", "description": "Opaque cursor from a previous response's `nextCursor`, marking where to resume the list.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 200 }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" }, "result": { "type": "array", "items": { "$ref": "#/components/schemas/PostgresBackup" } }, "limit": { "type": "integer", "description": "Maximum number of results returned in this page." }, "totalCount": { "type": [ "integer", "null" ], "description": "Total number of results across all pages. It has only informative value, thus is not guaranteed and it is provided on a best-effort basis. Null if the total count is unknown." }, "nextCursor": { "type": [ "string", "null" ], "description": "Cursor for the next page, to be sent as the `cursor` query parameter. Null on the last page." } } } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 400 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "HTTP status code.", "example": 500 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } } }, "security": [ { "basicAuth": [ "control-plane:postgres-service:view" ] } ], "tags": [ "Postgres" ], "x-badges": [ { "name": "Beta", "position": "after" } ] }saved_query_listGET
/v1/organizations/{organizationId}/services/{serviceId}/saved-queriesOperation spec JSON
{ "operationId": "savedQueryList", "summary": "List saved queries", "description": "**Disclaimer:** This beta endpoint is evolving; the API contract may change. <br /><br /> Returns saved queries for the service.", "tags": [ "Saved queries" ], "security": [ { "basicAuth": [ "control-plane:service:view" ] } ], "parameters": [ { "in": "path", "name": "organizationId", "schema": { "description": "ID of the requested organization.", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" }, "required": true, "description": "ID of the requested organization." }, { "in": "path", "name": "serviceId", "schema": { "description": "ID of the requested service.", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" }, "required": true, "description": "ID of the requested service." }, { "in": "query", "name": "cursor", "schema": { "description": "Cursor returned as `nextCursor` on the previous page.", "type": "string" }, "description": "Cursor returned as `nextCursor` on the previous page." }, { "in": "query", "name": "limit", "schema": { "description": "Maximum number of records to return per page. Defaults to 100. Maximum is 100.", "default": 100, "type": "integer", "exclusiveMinimum": 0, "maximum": 100 }, "description": "Maximum number of records to return per page. Defaults to 100. Maximum is 100." } ], "responses": { "200": { "description": "Successful response.", "content": { "application/json": { "schema": { "type": "object", "properties": { "result": { "description": "Saved queries for the service.", "type": "array", "items": { "$ref": "#/components/schemas/PublicSavedQueryListItem" } }, "limit": { "description": "Maximum number of results returned in this page.", "type": "integer" }, "totalCount": { "description": "Total number of results across all pages. It has only informative value, thus is not guaranteed and it is provided on a best-effort basis. Null if the total count is unknown.", "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "nextCursor": { "description": "Cursor for the next page, to be sent as the `cursor` query parameter. Null on the last page.", "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "status": { "description": "HTTP status code.", "example": 200, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "result", "limit", "totalCount", "nextCursor", "status", "requestId" ], "additionalProperties": false } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Error message.", "type": "string" }, "issues": { "description": "Validation issues that caused the request to be rejected.", "type": "array", "items": { "type": "object", "properties": { "path": { "description": "Path to the invalid field.", "type": "array", "items": { "anyOf": [ { "type": "string" }, { "type": "number" } ] } }, "code": { "description": "Validation issue code.", "type": "string" }, "message": { "description": "Human-readable description of the issue.", "type": "string" } }, "required": [ "path", "code", "message" ], "additionalProperties": false } }, "status": { "description": "HTTP status code.", "example": 400, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "403": { "description": "The request is forbidden.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Human-readable error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 403, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "404": { "description": "Service not found.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Human-readable error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 404, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 500, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": {} } } } } }, "x-badges": [ { "name": "Beta", "position": "after" } ] }saved_query_getGET
/v1/organizations/{organizationId}/services/{serviceId}/saved-queries/{queryId}Operation spec JSON
{ "operationId": "savedQueryGet", "summary": "Get a saved query", "description": "**Disclaimer:** This beta endpoint is evolving; the API contract may change. <br /><br /> Returns a saved query.", "tags": [ "Saved queries" ], "security": [ { "basicAuth": [ "control-plane:service:view" ] } ], "parameters": [ { "in": "path", "name": "organizationId", "schema": { "description": "ID of the requested organization.", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" }, "required": true, "description": "ID of the requested organization." }, { "in": "path", "name": "serviceId", "schema": { "description": "ID of the requested service.", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" }, "required": true, "description": "ID of the requested service." }, { "in": "path", "name": "queryId", "schema": { "description": "ID of the requested saved query.", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" }, "required": true, "description": "ID of the requested saved query." } ], "responses": { "200": { "description": "Successful response.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "description": "HTTP status code.", "example": 200, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" }, "result": { "$ref": "#/components/schemas/PublicSavedQuery" } }, "required": [ "status", "requestId", "result" ], "additionalProperties": false } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Error message.", "type": "string" }, "issues": { "description": "Validation issues that caused the request to be rejected.", "type": "array", "items": { "type": "object", "properties": { "path": { "description": "Path to the invalid field.", "type": "array", "items": { "anyOf": [ { "type": "string" }, { "type": "number" } ] } }, "code": { "description": "Validation issue code.", "type": "string" }, "message": { "description": "Human-readable description of the issue.", "type": "string" } }, "required": [ "path", "code", "message" ], "additionalProperties": false } }, "status": { "description": "HTTP status code.", "example": 400, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "403": { "description": "The request is forbidden.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Human-readable error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 403, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "404": { "description": "Saved query not found.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Human-readable error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 404, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": false } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "description": "Error message.", "type": "string" }, "status": { "description": "HTTP status code.", "example": 500, "type": "integer" }, "requestId": { "description": "Unique id assigned to every request. UUIDv4", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" } }, "required": [ "error", "status", "requestId" ], "additionalProperties": {} } } } } }, "x-badges": [ { "name": "Beta", "position": "after" } ] }whoami_getGET
/v1/whoamiOperation spec JSON
{ "summary": "Resolve the caller identity", "description": "**Disclaimer:** This beta endpoint is evolving; the API contract may change. <br /><br /> Returns the identity of the authenticated caller. For a user (JWT or clickhousectl token) the result carries the user fields; for an organization API key it carries the key fields instead. Use `actorType` to tell the two apart.", "operationId": "whoamiGet", "parameters": [], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 200 }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" }, "result": { "$ref": "#/components/schemas/Whoami" } } } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 400 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "HTTP status code.", "example": 500 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } } }, "tags": [ "User management" ], "x-badges": [ { "name": "Beta", "position": "after" } ] }organization_byoc_infrastructure_validatePOST
/v1/organizations/{organizationId}/byocInfrastructure/validateOperation spec JSON
{ "summary": "Validate BYOC infrastructure prerequisites", "description": "**Disclaimer:** This beta endpoint is evolving; the API contract may change. <br /><br /> Preflight-validates that a cloud account is ready for BYOC infrastructure creation: simulates the cloud permissions ClickHouse needs (and, for BYO-VPC, checks the provided network resources) without creating anything. Takes the same parameters as infrastructure creation, so a payload that passes validation will not be rejected by create for the same inputs.", "operationId": "organizationByocInfrastructureValidate", "parameters": [ { "in": "path", "name": "organizationId", "description": "ID of the requested organization.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ByocInfrastructureValidatePostRequest" } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 200 }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" }, "result": { "$ref": "#/components/schemas/ByocInfrastructureValidation" } } } } } }, "400": { "description": "The request cannot be processed due to a client error. Please verify your request parameters and try again.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "number", "description": "HTTP status code.", "example": 400 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } }, "500": { "description": "An internal server error has occurred. If this issue persists, please contact ClickHouse Cloud support for assistance.", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "HTTP status code.", "example": 500 }, "error": { "type": "string", "description": "Detailed error description." }, "requestId": { "type": "string", "description": "Unique id assigned to every request. UUIDv4", "format": "uuid" } } } } } } }, "security": [ { "basicAuth": [ "control-plane:organization:manage" ] } ], "tags": [ "Organization" ], "x-badges": [ { "name": "Beta", "position": "after" } ] }saved_query_createPOST
/v1/organizations/{organizationId}/services/{serviceId}/saved-queriesReport continues in the next comment.