REST APIs for Confluent Manager for Apache Flink¶
You can use the Confluent REST API to manage these resources for Confluent Manager for Apache Flink® (CMF):
- Environments
- Applications
In addition to the REST API, you can manage the above resources by using these Confluent tools:
Prerequisites¶
The REST API requires networked access to CMF.
As part of the installation process, a Kubernetes service is created that exposes CMF behind an outward-facing endpoint. By default, the service exposes CMF on port 8080.
If you have configured authentication and/or authorization, each API request must be authenticated and you need permissions on the respective resource.
For more information, see:
Endpoints (v1)¶
All endpoints are served under /cmf/api/v1
.
Identifiers¶
All resources are identified by name. Each name must be unique in its scope and follow the following restrictions:
- Minimum length: 4
- Maximum length: 253
- Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
Timestamps¶
All timestamps in fields named metadata.creationTimestamp
and metadata.updateTimestamp
and the created_time
and updated_time
fields in the Environment are RFC 3339 formatted strings, compatible with Java’s Instant type.
The timestamp is in UTC, and does not contain any timezone information.name
This is an example: 2025-03-31T11:34:01.503Z
.
Example usage with curl¶
The following example shows how to create a Flink Application in an environment called “test” using curl:
Contents of the file flink-application.yaml
:
apiVersion: cmf.confluent.io/v1 kind: FlinkApplication metadata: name: curl-example spec: image: confluentinc/cp-flink:1.19.1-cp2 flinkVersion: v1_19 flinkConfiguration: taskmanager.numberOfTaskSlots: "1" serviceAccount: flink jobManager: resource: memory: 1024m cpu: 1 taskManager: resource: memory: 1024m cpu: 1 job: jarURI: local:///opt/flink/examples/streaming/StateMachineExample.jar state: running parallelism: 3 upgradeMode: stateless
Submission using curl
, assuming CMF is running on localhost:8080
:
curl -H "Content-type: application/yaml" --data-binary "@flink-application.yaml" localhost:8080/cmf/api/v1/environments/test/applications
API reference¶
This section contains the REST API reference for Confluent Manager for Apache Flink® and the API spec.
View the API spec¶
If you want to see the entire API spec, you can view the YAML file in the expanding section below.
View the entire YAML specification file
# Naming conventions: # - Post*: Schemas for POST requests # - Get*: Schemas for GET requests # Good resources: # - Spring Petclinic: https://github.com/spring-petclinic/spring-petclinic-rest/blob/master/src/main/resources/openapi.yml openapi: 3.0.1 info: title: Confluent Manager for Apache Flink / CMF description: Apache Flink job lifecycle management component for Confluent Platform. version: '1.0' servers: - url: http://localhost:8080 paths: ## ---------------------------- Environments API ---------------------------- ## /cmf/api/v1/environments: post: operationId: createOrUpdateEnvironment summary: Create or update an Environment requestBody: content: application/json: schema: $ref: '#/components/schemas/PostEnvironment' application/yaml: schema: $ref: '#/components/schemas/PostEnvironment' required: true responses: 201: description: The Environment was successfully created or updated. content: application/json: schema: $ref: '#/components/schemas/Environment' application/yaml: schema: $ref: '#/components/schemas/Environment' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' get: operationId: getEnvironments summary: Retrieve a paginated list of all environments. x-spring-paginated: true parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' - $ref: '#/components/parameters/sortParam' responses: 200: description: List of environments found. If no environments are found, an empty list is returned. Note the information about secret is not included in the list call yet. In order to get the information about secret, make a getSecret call. content: application/json: schema: $ref: '#/components/schemas/EnvironmentsPage' application/yaml: schema: $ref: '#/components/schemas/EnvironmentsPage' 304: description: Not modified. headers: ETag: description: An ID for this version of the response. schema: type: string 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}: get: operationId: getEnvironment summary: Get/Describe an environment with the given name. parameters: - name: envName in: path description: Name of the Environment to be retrieved. required: true schema: type: string responses: 200: description: Environment found and returned. content: application/json: schema: $ref: '#/components/schemas/Environment' application/yaml: schema: $ref: '#/components/schemas/Environment' 404: description: Environment not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' delete: operationId: deleteEnvironment parameters: - name: envName in: path description: Name of the Environment to be deleted. required: true schema: type: string responses: 200: description: Environment found and deleted. 304: description: Not modified. 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 404: description: Environment not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' ## ---------------------------- Applications API ---------------------------- ## /cmf/api/v1/environments/{envName}/applications: post: operationId: createOrUpdateApplication summary: Creates a new Flink Application or updates an existing one in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FlinkApplication' application/yaml: schema: $ref: '#/components/schemas/FlinkApplication' required: true responses: 201: description: The Application was successfully created or updated. content: application/json: schema: $ref: '#/components/schemas/FlinkApplication' application/yaml: schema: $ref: '#/components/schemas/FlinkApplication' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 422: description: Request valid but invalid content. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' get: operationId: getApplications summary: Retrieve a paginated list of all applications in the given Environment. x-spring-paginated: true parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' - $ref: '#/components/parameters/sortParam' - name: envName in: path description: Name of the Environment required: true schema: type: string responses: 200: description: Application found and returned. content: application/json: schema: $ref: '#/components/schemas/ApplicationsPage' application/yaml: schema: $ref: '#/components/schemas/ApplicationsPage' 304: description: Not modified. headers: ETag: description: An ID for this version of the response. schema: type: string 404: description: Environment not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/applications/{appName}: get: operationId: getApplication summary: Retrieve an Application of the given name in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: appName in: path description: Name of the Application required: true schema: type: string responses: 200: description: Application found and returned. content: application/json: schema: $ref: '#/components/schemas/FlinkApplication' application/yaml: schema: $ref: '#/components/schemas/FlinkApplication' 304: description: Not modified. headers: ETag: description: An ID for this version of the response. schema: type: string 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 404: description: Application not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' delete: operationId: deleteApplication summary: Deletes an Application of the given name in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: appName in: path description: Name of the Application required: true schema: type: string responses: 200: description: Application found and deleted. 304: description: Not modified. 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1alpha1/environments/{envName}/applications/{appName}/events: get: operationId: getApplicationEvents summary: Get a paginated list of events of the given Application x-spring-paginated: true parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' - $ref: '#/components/parameters/sortParam' - name: envName in: path description: Name of the Environment required: true schema: type: string - name: appName in: path description: Name of the Application required: true schema: type: string responses: 200: description: Events found and returned. content: application/json: schema: $ref: '#/components/schemas/EventsPage' application/yaml: schema: $ref: '#/components/schemas/EventsPage' 404: description: Environment or Application not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/applications/{appName}/start: post: operationId: startApplication summary: Starts an earlier submitted Flink Application parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: appName in: path description: Name of the Application required: true schema: type: string responses: 200: description: Application started content: application/json: schema: $ref: '#/components/schemas/FlinkApplication' application/yaml: schema: $ref: '#/components/schemas/FlinkApplication' 304: description: Not modified. 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/applications/{appName}/suspend: post: operationId: suspendApplication summary: Suspends an earlier started Flink Application parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: appName in: path description: Name of the Application required: true schema: type: string responses: 200: description: Application suspended content: application/json: schema: $ref: '#/components/schemas/FlinkApplication' application/yaml: schema: $ref: '#/components/schemas/FlinkApplication' 304: description: Not modified. 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/applications/{appName}/instances: get: operationId: getApplicationInstances summary: Get a paginated list of instances of the given Application x-spring-paginated: true parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' - $ref: '#/components/parameters/sortParam' - name: envName in: path description: Name of the Environment required: true schema: type: string - name: appName in: path description: Name of the Application required: true schema: type: string responses: 200: description: Instances found and returned. content: application/json: schema: $ref: '#/components/schemas/ApplicationInstancesPage' application/yaml: schema: $ref: '#/components/schemas/ApplicationInstancesPage' 404: description: Environment or Application not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/applications/{appName}/instances/{instName}: get: operationId: getApplicationInstance summary: Retrieve an Instance of an Application parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: appName in: path description: Name of the Application required: true schema: type: string - name: instName in: path description: Name of the ApplicationInstance required: true schema: type: string responses: 200: description: ApplicationInstance found and returned. content: application/json: schema: $ref: '#/components/schemas/FlinkApplicationInstance' application/yaml: schema: $ref: '#/components/schemas/FlinkApplicationInstance' 404: description: FlinkApplicationInstance or environment or application not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' ## ---------------------------- Environment Secret Mapping API ---------------------------- ## /cmf/api/v1/environments/{envName}/secret-mappings/{name}: delete: operationId: deleteEnvironmentSecretMapping summary: Deletes the Environment Secret Mapping for the given Environment and Secret. parameters: - name: envName in: path description: Name of the Environment in which the mapping has to be deleted. required: true schema: type: string - name: name in: path description: Name of the environment secret mapping to be deleted in the given environment. required: true schema: type: string responses: 204: description: The Environment Secret Mapping was successfully deleted. 404: description: Environment or Secret not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' get: operationId: getEnvironmentSecretMapping summary: Retrieve the Environment Secret Mapping for the given name in the given environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: name in: path description: Name of the environment secret mapping to be retrieved. required: true schema: type: string responses: 200: description: Environment Secret Mapping found and returned. content: application/json: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' application/yaml: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' 404: description: Environment or Secret not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' put: operationId: updateEnvironmentSecretMapping summary: Updates the Environment Secret Mapping for the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: name in: path description: Name of the environment secret mapping to be updated required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' application/yaml: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' required: true responses: 200: description: The Environment Secret Mapping was successfully updated. content: application/json: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' application/yaml: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 404: description: Environment or Secret not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/secret-mappings: post: operationId: createEnvironmentSecretMapping summary: Creates the Environment Secret Mapping for the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' application/yaml: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' required: true responses: 200: description: The Environment Secret Mapping was successfully created. content: application/json: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' application/yaml: schema: $ref: '#/components/schemas/EnvironmentSecretMapping' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 404: description: Environment not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 409: description: Environment Secret Mapping already exists. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' get: operationId: getEnvironmentSecretMappings summary: Retrieve a paginated list of all Environment Secret Mappings. x-spring-paginated: true parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' - $ref: '#/components/parameters/sortParam' - name: envName in: path description: Name of the Environment required: true schema: type: string responses: 200: description: Environment Secret Mappings found and returned. content: application/json: schema: $ref: '#/components/schemas/EnvironmentSecretMappingsPage' application/yaml: schema: $ref: '#/components/schemas/EnvironmentSecretMappingsPage' 404: description: Environment not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' ## ---------------------------- Statement API ---------------------------- ## /cmf/api/v1/environments/{envName}/statements: post: operationId: createStatement summary: Creates a new Flink SQL Statement in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Statement' application/yaml: schema: $ref: '#/components/schemas/Statement' required: true responses: 200: description: The Statement was successfully created. content: application/json: schema: $ref: '#/components/schemas/Statement' application/yaml: schema: $ref: '#/components/schemas/Statement' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 404: description: Environment not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 409: description: Statement already exists. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 422: description: Request valid but invalid content. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' get: operationId: getStatements summary: Retrieve a paginated list of Statements in the given Environment. x-spring-paginated: true parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' - $ref: '#/components/parameters/sortParam' - $ref: '#/components/parameters/computePoolParam' - $ref: '#/components/parameters/phaseParam' - name: envName in: path description: Name of the Environment required: true schema: type: string responses: 200: description: Statements found and returned. content: application/json: schema: $ref: '#/components/schemas/StatementsPage' application/yaml: schema: $ref: '#/components/schemas/StatementsPage' 404: description: Environment not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/statements/{stmtName}: get: operationId: getStatement summary: Retrieve the Statement of the given name in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: stmtName in: path description: Name of the Statement required: true schema: type: string responses: 200: description: Statement found and returned. content: application/json: schema: $ref: '#/components/schemas/Statement' application/yaml: schema: $ref: '#/components/schemas/Statement' 404: description: Statement not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' delete: operationId: deleteStatement summary: Deletes the Statement of the given name in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: stmtName in: path description: Name of the Statement required: true schema: type: string responses: 204: description: Statement was found and deleted. 202: description: Statement was found and deletion request received. 404: description: Statement not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' put: operationId: updateStatement summary: Updates a Statement of the given name in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: stmtName in: path description: Name of the Statement required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Statement' application/yaml: schema: $ref: '#/components/schemas/Statement' required: true responses: 200: description: Statement was found and updated. 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 404: description: Statement not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 422: description: Request valid but invalid content. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/statements/{stmtName}/results: get: operationId: getStatementResult summary: Retrieve the result of the interactive Statement with the given name in the given Environment. parameters: - $ref: '#/components/parameters/pageTokenParam' - name: envName in: path description: Name of the Environment required: true schema: type: string - name: stmtName in: path description: Name of the Statement required: true schema: type: string responses: 200: description: StatementResults found and returned. content: application/json: schema: $ref: '#/components/schemas/StatementResult' application/yaml: schema: $ref: '#/components/schemas/StatementResult' 400: description: Statement does not return results. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 404: description: Statement not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 410: description: Results are gone. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/statements/{stmtName}/exceptions: get: operationId: getStatementExceptions summary: Retrieves the last 10 exceptions of the Statement with the given name in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: stmtName in: path description: Name of the Statement required: true schema: type: string responses: 200: description: StatementExceptions found and returned. content: application/json: schema: $ref: '#/components/schemas/StatementExceptionList' application/yaml: schema: $ref: '#/components/schemas/StatementExceptionList' 404: description: Statement not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' ## ---------------------------- Compute Pool API ---------------------------- ## /cmf/api/v1/environments/{envName}/compute-pools: post: operationId: createComputePool summary: Creates a new Flink Compute Pool in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ComputePool' application/yaml: schema: $ref: '#/components/schemas/ComputePool' required: true responses: 200: description: The Compute Pool was successfully created. content: application/json: schema: $ref: '#/components/schemas/ComputePool' application/yaml: schema: $ref: '#/components/schemas/ComputePool' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 409: description: Compute Pool already exists. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 422: description: Request valid but invalid content. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' get: operationId: getComputePools summary: Retrieve a paginated list of Compute Pools in the given Environment. x-spring-paginated: true parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' - $ref: '#/components/parameters/sortParam' - name: envName in: path description: Name of the Environment required: true schema: type: string responses: 200: description: Compute Pools found and returned. content: application/json: schema: $ref: '#/components/schemas/ComputePoolsPage' application/yaml: schema: $ref: '#/components/schemas/ComputePoolsPage' 404: description: Environment not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/environments/{envName}/compute-pools/{computePoolName}: get: operationId: getComputePool summary: Retrieve the Compute Pool of the given name in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: computePoolName in: path description: Name of the Compute Pool required: true schema: type: string responses: 200: description: Compute Pool found and returned. content: application/json: schema: $ref: '#/components/schemas/ComputePool' application/yaml: schema: $ref: '#/components/schemas/ComputePool' 404: description: Compute Pool not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' delete: operationId: deleteComputePool summary: Deletes the ComputePool of the given name in the given Environment. parameters: - name: envName in: path description: Name of the Environment required: true schema: type: string - name: computePoolName in: path description: Name of the ComputePool required: true schema: type: string responses: 204: description: Compute Pool was found and deleted. 404: description: Compute Pool not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 409: description: Compute Pool is in use and cannot be deleted. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' ## ---------------------------- Secrets API ---------------------------- ## /cmf/api/v1/secrets: post: operationId: createSecret summary: Create a Secret. description: Create a Secret. This secrets can be then used to specify sensitive information in the Flink SQL statements. Right now these secrets are only used for Kafka and Schema Registry credentials. requestBody: content: application/json: schema: $ref: '#/components/schemas/Secret' application/yaml: schema: $ref: '#/components/schemas/Secret' required: true responses: 200: description: The Secret was successfully created. Note that for security reasons, you can never view the contents of the secret itself once created. content: application/json: schema: $ref: '#/components/schemas/Secret' application/yaml: schema: $ref: '#/components/schemas/Secret' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 409: description: The Secret already exists. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' get: operationId: getSecrets summary: Retrieve a paginated list of all secrets. Note that the actual secret data is masked for security reasons. x-spring-paginated: true parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' - $ref: '#/components/parameters/sortParam' responses: 200: description: List of secrets found. If no secrets are found, an empty list is returned. content: application/json: schema: $ref: '#/components/schemas/SecretsPage' application/yaml: schema: $ref: '#/components/schemas/SecretsPage' 304: description: The list of secrets has not changed. headers: ETag: description: An ID for this version of the response. schema: type: string 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/secrets/{secretName}: get: operationId: getSecret summary: Retrieve the Secret of the given name. Note that the secret data is not returned for security reasons. parameters: - name: secretName in: path description: Name of the Secret required: true schema: type: string responses: 200: description: Secret found and returned, with security data masked. content: application/json: schema: $ref: '#/components/schemas/Secret' application/yaml: schema: $ref: '#/components/schemas/Secret' 404: description: Secret not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' put: operationId: updateSecret summary: Update the secret. parameters: - name: secretName in: path description: Name of the Secret required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Secret' application/yaml: schema: $ref: '#/components/schemas/Secret' responses: 200: description: Returns the updated Secret content: application/json: schema: $ref: '#/components/schemas/Secret' application/yaml: schema: $ref: '#/components/schemas/Secret' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 404: description: Secret with the given name not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 422: description: Request valid but invalid content. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' delete: operationId: deleteSecret summary: Delete the secret with the given name. parameters: - name: secretName in: path description: Name of the Secret required: true schema: type: string responses: 204: description: Secret was successfully deleted. 404: description: Secret not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' ## ---------------------------- Catalog API ---------------------------- ## /cmf/api/v1/catalogs/kafka: post: operationId: createKafkaCatalog summary: Creates a new Kafka Catalog that can be referenced by Flink Statements requestBody: content: application/json: schema: $ref: '#/components/schemas/KafkaCatalog' application/yaml: schema: $ref: '#/components/schemas/KafkaCatalog' required: true responses: 200: description: The Kafka Catalog was successfully created. content: application/json: schema: $ref: '#/components/schemas/KafkaCatalog' application/yaml: schema: $ref: '#/components/schemas/KafkaCatalog' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 409: description: Kafka Catalog already exists. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 422: description: Request valid but invalid content. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' get: operationId: getKafkaCatalogs summary: Retrieve a paginated list of Kafka Catalogs x-spring-paginated: true parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' - $ref: '#/components/parameters/sortParam' responses: 200: description: Kafka Catalogs found and returned. content: application/json: schema: $ref: '#/components/schemas/KafkaCatalogsPage' application/yaml: schema: $ref: '#/components/schemas/KafkaCatalogsPage' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' /cmf/api/v1/catalogs/kafka/{catName}: get: operationId: getKafkaCatalog summary: Retrieve the Kafka Catalog of the given name. parameters: - name: catName in: path description: Name of the Kafka Catalog required: true schema: type: string responses: 200: description: Kafka Catalog found and returned. content: application/json: schema: $ref: '#/components/schemas/KafkaCatalog' application/yaml: schema: $ref: '#/components/schemas/KafkaCatalog' 404: description: Kafka Catalog not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' delete: operationId: deleteKafkaCatalog summary: Deletes the Kafka Catalog of the given name. parameters: - name: catName in: path description: Name of the Kafka Catalog required: true schema: type: string responses: 204: description: Kafka Catalog was found and deleted. 404: description: Kafka Catalog not found. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' 500: description: Server error. content: application/json: schema: $ref: '#/components/schemas/RestError' application/yaml: schema: $ref: '#/components/schemas/RestError' components: # https://github.com/daniel-shuy/swaggerhub-spring-pagination / Copyright (c) 2023 Daniel Shuy parameters: pageParam: in: query name: page schema: type: integer description: Zero-based page index (0..N) sizeParam: in: query name: size schema: type: integer description: The size of the page to be returned sortParam: in: query name: sort schema: type: array items: type: string description: >- Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. pageTokenParam: in: query name: page-token schema: type: string description: Token for the next page of results computePoolParam: in: query name: compute-pool schema: type: string description: Name of the ComputePool to filter on phaseParam: in: query name: phase schema: type: string enum: [pending, running, completed, deleting, failing, failed, stopped] description: Phase to filter on schemas: ## ---------------------------- Shared Utilities ---------------------------- ## RestError: title: REST Error description: The schema for all error responses. type: object properties: errors: title: errors description: List of all errors type: array items: title: error type: object description: An error properties: message: type: string description: An error message PaginationResponse: type: object properties: pageable: $ref: '#/components/schemas/Pageable' Sort: type: object format: sort properties: sorted: type: boolean description: Whether the results are sorted. example: true unsorted: type: boolean description: Whether the results are unsorted. example: false empty: type: boolean Pageable: type: object format: pageable properties: page: type: integer minimum: 0 size: type: integer description: The number of items in a page. minimum: 1 sort: $ref: '#/components/schemas/Sort' ## ---------------------------- Shared Bases ---------------------------- ## ResourceBaseV2: type: object properties: apiVersion: description: API version for spec type: string kind: description: Kind of resource - set to resource type type: string required: - apiVersion - kind PostResourceBase: type: object properties: name: title: Name description: A unique name for the resource. type: string # Validate for DNS subdomain name minLength: 4 maxLength: 253 pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$' GetResourceBase: type: object properties: created_time: title: Time when the resource has been created type: string format: date-time updated_time: title: Time when the resource has been last updated type: string format: date-time # defines kubernetesNamespace KubernetesNamespace: type: object properties: kubernetesNamespace: type: string title: Kubernetes namespace name where resources referencing this environment are created in. minLength: 1 maxLength: 253 pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$' # defines properties of fields with flinkApplicationDefaults ResourceWithFlinkApplicationDefaults: type: object properties: flinkApplicationDefaults: title: the defaults as YAML or JSON for FlinkApplications type: object format: yamlorjson # defines computePool defaults ComputePoolDefaults: type: object properties: computePoolDefaults: title: ComputePoolDefaults description: the defaults as YAML or JSON for ComputePools type: object format: yamlorjson # defines statement defaults StatementDefaults: type: object properties: flinkConfiguration: description: default Flink configuration for Statements type: object additionalProperties: type: string # defines defaults for detached and interactive statements AllStatementDefaults: type: object properties: statementDefaults: title: AllStatementDefaults description: the defaults for detached and interactive Statements type: object properties: detached: description: defaults for detached statements $ref: '#/components/schemas/StatementDefaults' interactive: description: defaults for interactive statements $ref: '#/components/schemas/StatementDefaults' ## ---------------------------- Request Schemas ---------------------------- ## PostEnvironment: title: Environment description: Environment type: object required: - name allOf: - $ref: '#/components/schemas/PostResourceBase' - $ref: '#/components/schemas/ResourceWithFlinkApplicationDefaults' - $ref: '#/components/schemas/KubernetesNamespace' - $ref: '#/components/schemas/ComputePoolDefaults' - $ref: '#/components/schemas/AllStatementDefaults' ## ---------------------------- Response Schemas ---------------------------- ## Environment: title: Environment description: Environment type: object allOf: - $ref: '#/components/schemas/PostResourceBase' - $ref: '#/components/schemas/GetResourceBase' - $ref: '#/components/schemas/ResourceWithFlinkApplicationDefaults' - $ref: '#/components/schemas/KubernetesNamespace' - $ref: '#/components/schemas/ComputePoolDefaults' - $ref: '#/components/schemas/AllStatementDefaults' properties: secrets: title: Secrets description: The secrets mapping for the environment. This is a mapping between connection_secret_id and the secret name. type: object additionalProperties: type: string default: { } required: - name - kubernetesNamespace EnvironmentSecretMapping: title: EnvironmentSecretMapping description: The secrets mapping for the environment. The name shows the name of the Connection Secret ID to be mapped. type: object properties: apiVersion: title: API version for EnvironmentSecretMapping spec type: string kind: title: Kind of resource - set to EnvironmentSecretMapping type: string metadata: title: EnvironmentSecretMappingMetadata description: Metadata about the environment secret mapping type: object properties: name: description: Name of the Connection Secret ID type: string uid: description: Unique identifier of the EnvironmentSecretMapping type: string creationTimestamp: description: Timestamp when the EnvironmentSecretMapping was created type: string updateTimestamp: description: Timestamp when the EnvironmentSecretMapping was last updated type: string labels: description: Labels of the EnvironmentSecretMapping type: object additionalProperties: type: string annotations: description: Annotations of the EnvironmentSecretMapping type: object additionalProperties: type: string spec: title: EnvironmentSecretMappingSpec description: Spec for environment secret mapping type: object writeOnly: true properties: secretName: description: Name of the secret to be mapped to the connection secret id of this mapping. type: string required: - secretName required: - apiVersion - kind EnvironmentSecretMappingsPage: type: object allOf: - $ref: '#/components/schemas/PaginationResponse' - type: object properties: metadata: type: object title: EnvironmentSecretMappingsPageMetadata properties: size: type: integer format: int64 default: 0 items: type: array items: $ref: '#/components/schemas/EnvironmentSecretMapping' default: [ ] Secret: title: Secret description: Represents a Secret that can be used to specify sensitive information in the Flink SQL statements. allOf: - $ref: '#/components/schemas/ResourceBaseV2' - type: object properties: metadata: title: SecretMetadata description: Metadata about the secret type: object properties: name: type: string description: Name of the Secret creationTimestamp: description: Timestamp when the Secret was created type: string readOnly: true updateTimestamp: description: Timestamp when the Secret was last updated type: string readOnly: true uid: description: Unique identifier of the Secret type: string readOnly: true labels: description: Labels of the Secret type: object additionalProperties: type: string annotations: description: Annotations of the Secret type: object additionalProperties: type: string required: - name spec: title: SecretSpec description: Spec for secret type: object writeOnly: true properties: data: title: SecretData description: Data of the secret type: object additionalProperties: type: string status: title: SecretStatus description: Status for the secret type: object readOnly: true properties: version: title: SecretVersion description: The version of the secret type: string environments: title: Environments description: The environments to which the secret is attached to. type: array items: type: string required: - metadata - spec SecretsPage: type: object allOf: - $ref: '#/components/schemas/PaginationResponse' - type: object properties: metadata: type: object title: SecretsPageMetadata properties: size: type: integer format: int64 default: 0 items: type: array items: $ref: '#/components/schemas/Secret' default: [ ] EnvironmentsPage: type: object allOf: - $ref: '#/components/schemas/PaginationResponse' - type: object properties: metadata: type: object title: EnvironmentsPageMetadata properties: size: type: integer format: int64 default: 0 items: type: array title: "Env" items: $ref: '#/components/schemas/Environment' default: [ ] FlinkApplication: title: FlinkApplication description: Represents a Flink Application submitted by the user type: object allOf: - $ref: '#/components/schemas/ResourceBaseV2' - type: object properties: metadata: title: Metadata about the application type: object format: yamlorjson spec: title: Spec for Flink Application type: object format: yamlorjson status: title: Status for Flink Application type: object format: yamlorjson required: # status is optional for application spec - metadata - spec ApplicationsPage: type: object allOf: - $ref: '#/components/schemas/PaginationResponse' - type: object properties: metadata: type: object title: ApplicationPageMetadata properties: size: type: integer format: int64 default: 0 items: type: array items: $ref: '#/components/schemas/FlinkApplication' default: [ ] FlinkApplicationEvent: title: FlinkApplicationEvent description: Events from the deployment of Flink clusters # TODO(CF-1159): Using the ResourceBaseV2 here leads to incorrectly generated EventType where the generated interface doesn't match the file name causing compilation errors. type: object properties: apiVersion: title: API version for Event spec - set to v1alpha1 type: string kind: title: Kind of resource - set to FlinkApplicationEvent type: string metadata: title: EventMetadata description: Metadata about the event type: object properties: name: description: Name of the Event type: string uid: description: Unique identifier of the Event. Identical to name. type: string creationTimestamp: description: Timestamp when the Event was created type: string flinkApplicationInstance: description: Name of the FlinkApplicationInstance which this event is related to type: string labels: description: Labels of the Event type: object additionalProperties: type: string annotations: description: Annotations of the Event type: object additionalProperties: type: string status: type: object title: EventStatus properties: message: description: Human readable status message. type: string type: title: EventType description: Type of the event type: string data: $ref: '#/components/schemas/EventData' required: - kind - apiVersion - metadata - status EventDataNewStatus: type: object properties: newStatus: description: "The new status" type: string EventDataJobException: type: object properties: exceptionString: description: "The full exception string from the Flink job" type: string EventData: oneOf: - $ref: '#/components/schemas/EventDataNewStatus' - $ref: '#/components/schemas/EventDataJobException' EventsPage: type: object allOf: - $ref: '#/components/schemas/PaginationResponse' - type: object properties: metadata: type: object title: EventsPageMetadata properties: size: type: integer format: int64 default: 0 items: type: array items: $ref: '#/components/schemas/FlinkApplicationEvent' default: [ ] FlinkApplicationInstance: title: ApplicationInstance description: An instance of a Flink Application type: object allOf: - $ref: '#/components/schemas/ResourceBaseV2' - type: object properties: metadata: title: ApplicationInstanceMetadata description: Metadata about the instance type: object properties: name: description: Name of the Instance - a uuid. type: string uid: description: Unique identifier of the instance. Identical to name. type: string creationTimestamp: description: Timestamp when the Instance was created type: string updateTimestamp: description: Timestamp when the Instance status was last updated type: string labels: description: Labels of the instance type: object additionalProperties: type: string annotations: description: Annotations of the instance type: object additionalProperties: type: string status: type: object title: ApplicationInstanceStatus properties: spec: description: The environment defaults merged with the FlinkApplication spec at instance creation time type: object format: yamlorjson jobStatus: type: object properties: jobId: description: Flink job id inside the Flink cluster type: string state: description: Tracks the final Flink JobStatus of the instance type: string ApplicationInstancesPage: type: object allOf: - $ref: '#/components/schemas/PaginationResponse' - type: object properties: metadata: type: object title: ApplicationInstancesPageMetadata properties: size: type: integer format: int64 default: 0 items: type: array items: $ref: '#/components/schemas/FlinkApplicationInstance' default: [ ] Statement: title: Statement description: Represents a SQL Statement submitted by the user allOf: - $ref: '#/components/schemas/ResourceBaseV2' - type: object properties: metadata: title: StatementMetadata description: Metadata about the statement type: object properties: name: description: Name of the Statement type: string creationTimestamp: description: Timestamp when the Statement was created type: string updateTimestamp: description: Timestamp when the Statement was updated last type: string uid: description: Unique identifier of the Statement type: string labels: description: Labels of the Statement type: object additionalProperties: type: string annotations: description: Annotations of the Statement type: object additionalProperties: type: string required: - name spec: title: StatementSpec description: Spec for statement type: object properties: statement: description: SQL statement type: string properties: title: SessionProperties description: Properties of the client session type: object additionalProperties: type: string flinkConfiguration: title: StatementFlinkConfiguration description: Flink configuration for the statement type: object additionalProperties: type: string computePoolName: description: Name of the ComputePool type: string parallelism: description: Parallelism of the statement type: integer format: int32 stopped: description: Whether the statement is stopped type: boolean required: - statement - computePoolName status: title: StatementStatus description: Status for statement type: object properties: phase: description: The lifecycle phase of the statement type: string detail: description: Details about the execution status of the statement type: string traits: title: StatementTraits description: Detailed information about the properties of the statement type: object properties: sqlKind: description: The kind of SQL statement type: string isBounded: description: Whether the result of the statement is bounded type: boolean isAppendOnly: description: Whether the result of the statement is append only type: boolean upsertColumns: description: The column indexes that are updated by the statement type: array items: type: integer format: int32 schema: title: StatementResultSchema description: The schema of the statement result $ref: '#/components/schemas/ResultSchema' required: - phase result: title: StatementResult description: Result of the statement $ref: '#/components/schemas/StatementResult' required: # status and result are optional for Statement spec - metadata - spec StatementsPage: type: object allOf: - $ref: '#/components/schemas/PaginationResponse' - type: object properties: metadata: type: object title: StatementPageMetadata properties: size: type: integer format: int64 default: 0 items: type: array items: $ref: '#/components/schemas/Statement' default: [ ] StatementResult: title: StatementResult description: Represents the result of a SQL Statement allOf: - $ref: '#/components/schemas/ResourceBaseV2' - type: object properties: metadata: title: StatementResultMetadata description: Metadata about the StatementResult type: object properties: creationTimestamp: description: Timestamp when the StatementResult was created type: string annotations: description: Annotations of the StatementResult type: object additionalProperties: type: string results: title: StatementResults description: Results of the Statement type: object properties: data: title: Data type: array items: description: A result row type: object format: yamlorjson required: - metadata - results StatementException: title: StatementException description: Represents an exception that occurred while executing a SQL Statement type: object allOf: - $ref: '#/components/schemas/ResourceBaseV2' - type: object properties: name: description: Name of the StatementException type: string message: description: Message of the StatementException type: string timestamp: description: Timestamp when the StatementException was created type: string required: - name - message - timestamp StatementExceptionList: title: StatementExceptionList description: Represents a list of exceptions that occurred while executing a SQL Statement type: object allOf: - $ref: '#/components/schemas/ResourceBaseV2' - type: object properties: data: title: Exceptions description: List of exceptions type: array maxItems: 10 items: $ref: '#/components/schemas/StatementException' default: [ ] required: - data DataType: title: DataType description: Represents a SQL data type type: object properties: type: description: Name of the data type of the column type: string nullable: description: Whether the data type is nullable type: boolean length: description: Length of the data type type: integer format: int32 precision: description: Precision of the data type type: integer format: int32 scale: description: Scale of the data type type: integer format: int32 keyType: description: Type of the key in the data type (if applicable) $ref: '#/components/schemas/DataType' x-go-pointer: true valueType: description: Type of the value in the data type (if applicable) $ref: '#/components/schemas/DataType' x-go-pointer: true elementType: description: Type of the elements in the data type (if applicable) $ref: '#/components/schemas/DataType' x-go-pointer: true fields: description: Fields of the data type (if applicable) type: array items: type: object title: DataTypeField description: Field of the data type properties: name: description: Name of the field type: string fieldType: description: Type of the field $ref: '#/components/schemas/DataType' x-go-pointer: true description: description: Description of the field type: string required: - name - fieldType resolution: description: Resolution of the data type (if applicable) type: string fractionalPrecision: description: Fractional precision of the data type (if applicable) type: integer format: int32 required: - type - nullable ResultSchema: title: ResultSchema description: Represents the schema of the result of a SQL Statement type: object properties: columns: description: Properites of all columns in the schema type: array items: title: ResultSchemaColumn type: object properties: name: description: Name of the column type: string type: description: Type of the column $ref: '#/components/schemas/DataType' required: - name - type required: - columns ComputePool: title: ComputePool description: Represents the configuration of a Flink cluster type: object allOf: - $ref: '#/components/schemas/ResourceBaseV2' - type: object properties: metadata: title: ComputePoolMetadata description: Metadata about the ComputePool type: object properties: name: description: Name of the ComputePool type: string creationTimestamp: description: Timestamp when the ComputePool was created type: string uid: description: Unique identifier of the ComputePool type: string labels: description: Labels of the ComputePool type: object additionalProperties: type: string annotations: description: Annotations of the ComputePool type: object additionalProperties: type: string required: - name spec: title: ComputePoolSpec description: Spec for ComputePool type: object properties: type: description: Type of the ComputePool type: string clusterSpec: description: Cluster Spec type: object format: yamlorjson required: - type - clusterSpec status: title: ComputePoolStatus description: Status for ComputePool type: object properties: phase: description: Phase of the ComputePool type: string required: - phase required: # status is optional for ComputePool spec - metadata - spec ComputePoolsPage: type: object allOf: - $ref: '#/components/schemas/PaginationResponse' - type: object properties: metadata: type: object title: ComputePoolPageMetadata properties: size: type: integer format: int64 default: 0 items: type: array items: $ref: '#/components/schemas/ComputePool' default: [ ] CatalogMetadata: title: CatalogMetadata description: Metadata about the Catalog type: object properties: name: description: Name of the Catalog type: string creationTimestamp: description: Timestamp when the Catalog was created type: string uid: description: Unique identifier of the Catalog type: string labels: description: Labels of the Statement type: object additionalProperties: type: string annotations: description: Annotations of the Statement type: object additionalProperties: type: string required: - name KafkaCatalog: title: KafkaCatalog description: Represents a the configuration of a Kafka Catalog type: object allOf: - $ref: '#/components/schemas/ResourceBaseV2' - type: object properties: metadata: $ref: '#/components/schemas/CatalogMetadata' spec: title: KafkaCatalogSpec description: Spec of a Kafka Catalog type: object properties: srInstance: description: Details about the SchemaRegistry instance of the Catalog type: object properties: connectionConfig: description: connection options for the SR client type: object additionalProperties: type: string connectionSecretId: description: an identifier to look up a Kubernetes secret that contains the connection credentials type: string required: - connectionConfig kafkaClusters: type: array items: type: object properties: databaseName: description: the database name under which the Kafka cluster is listed in the Catalog type: string connectionConfig: description: connection options for the Kafka client type: object additionalProperties: type: string connectionSecretId: description: an identifier to look up a Kubernetes secret that contains the connection credentials type: string required: - databaseName - connectionConfig required: - srInstance - kafkaClusters required: - metadata - spec KafkaCatalogsPage: type: object allOf: - $ref: '#/components/schemas/PaginationResponse' - type: object properties: metadata: type: object title: CatalogPageMetadata properties: size: type: integer format: int64 default: 0 items: type: array items: $ref: '#/components/schemas/KafkaCatalog' default: [ ]
Reference details¶
-
POST
/cmf/api/v1/environments
¶ Create or update an Environment
Example request:
POST /cmf/api/v1/environments HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string", "flinkApplicationDefaults": {}, "kubernetesNamespace": "string", "computePoolDefaults": {}, "statementDefaults": { "detached": { "flinkConfiguration": {} }, "interactive": { "flinkConfiguration": {} } } }
Status Codes: - 201 Created –
The Environment was successfully created or updated.
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "name": "string", "created_time": "2025-10-19T21:14:07.350960", "updated_time": "2025-10-19T21:14:07.350960", "flinkApplicationDefaults": {}, "kubernetesNamespace": "string", "computePoolDefaults": {}, "statementDefaults": { "detached": { "flinkConfiguration": {} }, "interactive": { "flinkConfiguration": {} } } }
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 201 Created –
-
GET
/cmf/api/v1/environments
¶ Retrieve a paginated list of all environments.
Query Parameters: - page (integer) – Zero-based page index (0..N)
- size (integer) – The size of the page to be returned
- sort (array) – Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
Example request:
GET /cmf/api/v1/environments HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
List of environments found. If no environments are found, an empty list is returned. Note the information about secret is not included in the list call yet. In order to get the information about secret, make a getSecret call.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "pageable": { "page": 1, "size": 1, "sort": { "sorted": true, "unsorted": true, "empty": true } }, "metadata": { "size": 1 }, "items": [ { "name": "string", "created_time": "2025-10-19T21:14:07.350960", "updated_time": "2025-10-19T21:14:07.350960", "flinkApplicationDefaults": {}, "kubernetesNamespace": "string", "computePoolDefaults": {}, "statementDefaults": { "detached": { "flinkConfiguration": {} }, "interactive": { "flinkConfiguration": {} } } } ] }
- 304 Not Modified – Not modified.
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
Response Headers: - ETag – An ID for this version of the response.
-
GET
/cmf/api/v1/environments/{envName}
¶ Get/Describe an environment with the given name.
Parameters: - envName (string) – Name of the Environment to be retrieved.
Example request:
GET /cmf/api/v1/environments/{envName} HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Environment found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "name": "string", "created_time": "2025-10-19T21:14:07.350960", "updated_time": "2025-10-19T21:14:07.350960", "flinkApplicationDefaults": {}, "kubernetesNamespace": "string", "computePoolDefaults": {}, "statementDefaults": { "detached": { "flinkConfiguration": {} }, "interactive": { "flinkConfiguration": {} } } }
- 404 Not Found –
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
DELETE
/cmf/api/v1/environments/{envName}
¶ Parameters: - envName (string) – Name of the Environment to be deleted.
Status Codes: - 200 OK – Environment found and deleted.
- 304 Not Modified – Not modified.
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 404 Not Found –
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
POST
/cmf/api/v1/environments/{envName}/applications
¶ Creates a new Flink Application or updates an existing one in the given Environment.
Parameters: - envName (string) – Name of the Environment
Example request:
POST /cmf/api/v1/environments/{envName}/applications HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": {}, "spec": {}, "status": {} }
Status Codes: - 201 Created –
The Application was successfully created or updated.
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": {}, "spec": {}, "status": {} }
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 422 Unprocessable Entity –
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/applications
¶ Retrieve a paginated list of all applications in the given Environment.
Parameters: - envName (string) – Name of the Environment
Query Parameters: - page (integer) – Zero-based page index (0..N)
- size (integer) – The size of the page to be returned
- sort (array) – Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
Example request:
GET /cmf/api/v1/environments/{envName}/applications HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Application found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "pageable": { "page": 1, "size": 1, "sort": { "sorted": true, "unsorted": true, "empty": true } }, "metadata": { "size": 1 }, "items": [ { "apiVersion": "string", "kind": "string", "metadata": {}, "spec": {}, "status": {} } ] }
- 304 Not Modified – Not modified.
- 404 Not Found –
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
Response Headers: - ETag – An ID for this version of the response.
-
GET
/cmf/api/v1/environments/{envName}/applications/{appName}
¶ Retrieve an Application of the given name in the given Environment.
Parameters: - envName (string) – Name of the Environment
- appName (string) – Name of the Application
Example request:
GET /cmf/api/v1/environments/{envName}/applications/{appName} HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Application found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": {}, "spec": {}, "status": {} }
- 304 Not Modified – Not modified.
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 404 Not Found –
Application not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Response Headers: - ETag – An ID for this version of the response.
-
DELETE
/cmf/api/v1/environments/{envName}/applications/{appName}
¶ Deletes an Application of the given name in the given Environment.
Parameters: - envName (string) – Name of the Environment
- appName (string) – Name of the Application
Status Codes: - 200 OK – Application found and deleted.
- 304 Not Modified – Not modified.
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1alpha1/environments/{envName}/applications/{appName}/events
¶ Get a paginated list of events of the given Application
Parameters: - envName (string) – Name of the Environment
- appName (string) – Name of the Application
Query Parameters: - page (integer) – Zero-based page index (0..N)
- size (integer) – The size of the page to be returned
- sort (array) – Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
Example request:
GET /cmf/api/v1alpha1/environments/{envName}/applications/{appName}/events HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Events found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "pageable": { "page": 1, "size": 1, "sort": { "sorted": true, "unsorted": true, "empty": true } }, "metadata": { "size": 1 }, "items": [ { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "uid": "string", "creationTimestamp": "string", "flinkApplicationInstance": "string", "labels": {}, "annotations": {} }, "status": { "message": "string", "type": "string", "data": { "newStatus": "string" } } } ] }
- 404 Not Found –
Environment or Application not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
POST
/cmf/api/v1/environments/{envName}/applications/{appName}/start
¶ Starts an earlier submitted Flink Application
Parameters: - envName (string) – Name of the Environment
- appName (string) – Name of the Application
Status Codes: - 200 OK –
Application started
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": {}, "spec": {}, "status": {} }
- 304 Not Modified – Not modified.
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
POST
/cmf/api/v1/environments/{envName}/applications/{appName}/suspend
¶ Suspends an earlier started Flink Application
Parameters: - envName (string) – Name of the Environment
- appName (string) – Name of the Application
Status Codes: - 200 OK –
Application suspended
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": {}, "spec": {}, "status": {} }
- 304 Not Modified – Not modified.
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/applications/{appName}/instances
¶ Get a paginated list of instances of the given Application
Parameters: - envName (string) – Name of the Environment
- appName (string) – Name of the Application
Query Parameters: - page (integer) – Zero-based page index (0..N)
- size (integer) – The size of the page to be returned
- sort (array) – Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
Example request:
GET /cmf/api/v1/environments/{envName}/applications/{appName}/instances HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Instances found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "pageable": { "page": 1, "size": 1, "sort": { "sorted": true, "unsorted": true, "empty": true } }, "metadata": { "size": 1 }, "items": [ { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "uid": "string", "creationTimestamp": "string", "updateTimestamp": "string", "labels": {}, "annotations": {} }, "status": { "spec": {}, "jobStatus": { "jobId": "string", "state": "string" } } } ] }
- 404 Not Found –
Environment or Application not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/applications/{appName}/instances/{instName}
¶ Retrieve an Instance of an Application
Parameters: - envName (string) – Name of the Environment
- appName (string) – Name of the Application
- instName (string) – Name of the ApplicationInstance
Example request:
GET /cmf/api/v1/environments/{envName}/applications/{appName}/instances/{instName} HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
ApplicationInstance found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "uid": "string", "creationTimestamp": "string", "updateTimestamp": "string", "labels": {}, "annotations": {} }, "status": { "spec": {}, "jobStatus": { "jobId": "string", "state": "string" } } }
- 404 Not Found –
FlinkApplicationInstance or environment or application not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
DELETE
/cmf/api/v1/environments/{envName}/secret-mappings/{name}
¶ Deletes the Environment Secret Mapping for the given Environment and Secret.
Parameters: - envName (string) – Name of the Environment in which the mapping has to be deleted.
- name (string) – Name of the environment secret mapping to be deleted in the given environment.
Status Codes: - 204 No Content – The Environment Secret Mapping was successfully deleted.
- 404 Not Found –
Environment or Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/secret-mappings/{name}
¶ Retrieve the Environment Secret Mapping for the given name in the given environment.
Parameters: - envName (string) – Name of the Environment
- name (string) – Name of the environment secret mapping to be retrieved.
Example request:
GET /cmf/api/v1/environments/{envName}/secret-mappings/{name} HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Environment Secret Mapping found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "uid": "string", "creationTimestamp": "string", "updateTimestamp": "string", "labels": {}, "annotations": {} }, "spec": { "secretName": "string" } }
- 404 Not Found –
Environment or Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
PUT
/cmf/api/v1/environments/{envName}/secret-mappings/{name}
¶ Updates the Environment Secret Mapping for the given Environment.
Parameters: - envName (string) – Name of the Environment
- name (string) – Name of the environment secret mapping to be updated
Example request:
PUT /cmf/api/v1/environments/{envName}/secret-mappings/{name} HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "uid": "string", "creationTimestamp": "string", "updateTimestamp": "string", "labels": {}, "annotations": {} }, "spec": { "secretName": "string" } }
Status Codes: - 200 OK –
The Environment Secret Mapping was successfully updated.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "uid": "string", "creationTimestamp": "string", "updateTimestamp": "string", "labels": {}, "annotations": {} }, "spec": { "secretName": "string" } }
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 404 Not Found –
Environment or Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
POST
/cmf/api/v1/environments/{envName}/secret-mappings
¶ Creates the Environment Secret Mapping for the given Environment.
Parameters: - envName (string) – Name of the Environment
Example request:
POST /cmf/api/v1/environments/{envName}/secret-mappings HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "uid": "string", "creationTimestamp": "string", "updateTimestamp": "string", "labels": {}, "annotations": {} }, "spec": { "secretName": "string" } }
Status Codes: - 200 OK –
The Environment Secret Mapping was successfully created.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "uid": "string", "creationTimestamp": "string", "updateTimestamp": "string", "labels": {}, "annotations": {} }, "spec": { "secretName": "string" } }
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 404 Not Found –
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 409 Conflict –
Environment Secret Mapping already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/secret-mappings
¶ Retrieve a paginated list of all Environment Secret Mappings.
Parameters: - envName (string) – Name of the Environment
Query Parameters: - page (integer) – Zero-based page index (0..N)
- size (integer) – The size of the page to be returned
- sort (array) – Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
Example request:
GET /cmf/api/v1/environments/{envName}/secret-mappings HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Environment Secret Mappings found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "pageable": { "page": 1, "size": 1, "sort": { "sorted": true, "unsorted": true, "empty": true } }, "metadata": { "size": 1 }, "items": [ { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "uid": "string", "creationTimestamp": "string", "updateTimestamp": "string", "labels": {}, "annotations": {} }, "spec": { "secretName": "string" } } ] }
- 404 Not Found –
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
POST
/cmf/api/v1/environments/{envName}/statements
¶ Creates a new Flink SQL Statement in the given Environment.
Parameters: - envName (string) – Name of the Environment
Example request:
POST /cmf/api/v1/environments/{envName}/statements HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "statement": "string", "properties": {}, "flinkConfiguration": {}, "computePoolName": "string", "parallelism": 1, "stopped": true }, "status": { "phase": "string", "detail": "string", "traits": { "sqlKind": "string", "isBounded": true, "isAppendOnly": true, "upsertColumns": [ 1 ], "schema": { "columns": [ { "name": "string", "type": { "type": "string", "nullable": true, "length": 1, "precision": 1, "scale": 1, "keyType": {}, "valueType": {}, "elementType": {}, "fields": [ { "name": "string", "fieldType": {}, "description": "string" } ], "resolution": "string", "fractionalPrecision": 1 } } ] } } }, "result": { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } } }
Status Codes: - 200 OK –
The Statement was successfully created.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "statement": "string", "properties": {}, "flinkConfiguration": {}, "computePoolName": "string", "parallelism": 1, "stopped": true }, "status": { "phase": "string", "detail": "string", "traits": { "sqlKind": "string", "isBounded": true, "isAppendOnly": true, "upsertColumns": [ 1 ], "schema": { "columns": [ { "name": "string", "type": { "type": "string", "nullable": true, "length": 1, "precision": 1, "scale": 1, "keyType": {}, "valueType": {}, "elementType": {}, "fields": [ { "name": "string", "fieldType": {}, "description": "string" } ], "resolution": "string", "fractionalPrecision": 1 } } ] } } }, "result": { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } } }
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 404 Not Found –
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 409 Conflict –
Statement already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 422 Unprocessable Entity –
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/statements
¶ Retrieve a paginated list of Statements in the given Environment.
Parameters: - envName (string) – Name of the Environment
Query Parameters: - page (integer) – Zero-based page index (0..N)
- size (integer) – The size of the page to be returned
- sort (array) – Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
- compute-pool (string) – Name of the ComputePool to filter on
- phase (string) – Phase to filter on
Example request:
GET /cmf/api/v1/environments/{envName}/statements HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Statements found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "pageable": { "page": 1, "size": 1, "sort": { "sorted": true, "unsorted": true, "empty": true } }, "metadata": { "size": 1 }, "items": [ { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "statement": "string", "properties": {}, "flinkConfiguration": {}, "computePoolName": "string", "parallelism": 1, "stopped": true }, "status": { "phase": "string", "detail": "string", "traits": { "sqlKind": "string", "isBounded": true, "isAppendOnly": true, "upsertColumns": [ 1 ], "schema": { "columns": [ { "name": "string", "type": { "type": "string", "nullable": true, "length": 1, "precision": 1, "scale": 1, "keyType": {}, "valueType": {}, "elementType": {}, "fields": [ { "name": "string", "fieldType": {}, "description": "string" } ], "resolution": "string", "fractionalPrecision": 1 } } ] } } }, "result": { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } } } ] }
- 404 Not Found –
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/statements/{stmtName}
¶ Retrieve the Statement of the given name in the given Environment.
Parameters: - envName (string) – Name of the Environment
- stmtName (string) – Name of the Statement
Example request:
GET /cmf/api/v1/environments/{envName}/statements/{stmtName} HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Statement found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "statement": "string", "properties": {}, "flinkConfiguration": {}, "computePoolName": "string", "parallelism": 1, "stopped": true }, "status": { "phase": "string", "detail": "string", "traits": { "sqlKind": "string", "isBounded": true, "isAppendOnly": true, "upsertColumns": [ 1 ], "schema": { "columns": [ { "name": "string", "type": { "type": "string", "nullable": true, "length": 1, "precision": 1, "scale": 1, "keyType": {}, "valueType": {}, "elementType": {}, "fields": [ { "name": "string", "fieldType": {}, "description": "string" } ], "resolution": "string", "fractionalPrecision": 1 } } ] } } }, "result": { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } } }
- 404 Not Found –
Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
DELETE
/cmf/api/v1/environments/{envName}/statements/{stmtName}
¶ Deletes the Statement of the given name in the given Environment.
Parameters: - envName (string) – Name of the Environment
- stmtName (string) – Name of the Statement
Status Codes: - 204 No Content – Statement was found and deleted.
- 202 Accepted – Statement was found and deletion request received.
- 404 Not Found –
Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
PUT
/cmf/api/v1/environments/{envName}/statements/{stmtName}
¶ Updates a Statement of the given name in the given Environment.
Parameters: - envName (string) – Name of the Environment
- stmtName (string) – Name of the Statement
Example request:
PUT /cmf/api/v1/environments/{envName}/statements/{stmtName} HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "statement": "string", "properties": {}, "flinkConfiguration": {}, "computePoolName": "string", "parallelism": 1, "stopped": true }, "status": { "phase": "string", "detail": "string", "traits": { "sqlKind": "string", "isBounded": true, "isAppendOnly": true, "upsertColumns": [ 1 ], "schema": { "columns": [ { "name": "string", "type": { "type": "string", "nullable": true, "length": 1, "precision": 1, "scale": 1, "keyType": {}, "valueType": {}, "elementType": {}, "fields": [ { "name": "string", "fieldType": {}, "description": "string" } ], "resolution": "string", "fractionalPrecision": 1 } } ] } } }, "result": { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } } }
Status Codes: - 200 OK – Statement was found and updated.
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 404 Not Found –
Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 422 Unprocessable Entity –
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/statements/{stmtName}/results
¶ Retrieve the result of the interactive Statement with the given name in the given Environment.
Parameters: - envName (string) – Name of the Environment
- stmtName (string) – Name of the Statement
Query Parameters: - page-token (string) – Token for the next page of results
Example request:
GET /cmf/api/v1/environments/{envName}/statements/{stmtName}/results HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
StatementResults found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } }
- 400 Bad Request –
Statement does not return results.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 404 Not Found –
Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 410 Gone –
Results are gone.
Example response:
HTTP/1.1 410 Gone Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/statements/{stmtName}/exceptions
¶ Retrieves the last 10 exceptions of the Statement with the given name in the given Environment.
Parameters: - envName (string) – Name of the Environment
- stmtName (string) – Name of the Statement
Example request:
GET /cmf/api/v1/environments/{envName}/statements/{stmtName}/exceptions HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
StatementExceptions found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "data": [ { "apiVersion": "string", "kind": "string", "name": "string", "message": "string", "timestamp": "string" } ] }
- 404 Not Found –
Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
POST
/cmf/api/v1/environments/{envName}/compute-pools
¶ Creates a new Flink Compute Pool in the given Environment.
Parameters: - envName (string) – Name of the Environment
Example request:
POST /cmf/api/v1/environments/{envName}/compute-pools HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "type": "string", "clusterSpec": {} }, "status": { "phase": "string" } }
Status Codes: - 200 OK –
The Compute Pool was successfully created.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "type": "string", "clusterSpec": {} }, "status": { "phase": "string" } }
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 409 Conflict –
Compute Pool already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 422 Unprocessable Entity –
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/compute-pools
¶ Retrieve a paginated list of Compute Pools in the given Environment.
Parameters: - envName (string) – Name of the Environment
Query Parameters: - page (integer) – Zero-based page index (0..N)
- size (integer) – The size of the page to be returned
- sort (array) – Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
Example request:
GET /cmf/api/v1/environments/{envName}/compute-pools HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Compute Pools found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "pageable": { "page": 1, "size": 1, "sort": { "sorted": true, "unsorted": true, "empty": true } }, "metadata": { "size": 1 }, "items": [ { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "type": "string", "clusterSpec": {} }, "status": { "phase": "string" } } ] }
- 404 Not Found –
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/environments/{envName}/compute-pools/{computePoolName}
¶ Retrieve the Compute Pool of the given name in the given Environment.
Parameters: - envName (string) – Name of the Environment
- computePoolName (string) – Name of the Compute Pool
Example request:
GET /cmf/api/v1/environments/{envName}/compute-pools/{computePoolName} HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Compute Pool found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "type": "string", "clusterSpec": {} }, "status": { "phase": "string" } }
- 404 Not Found –
Compute Pool not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
DELETE
/cmf/api/v1/environments/{envName}/compute-pools/{computePoolName}
¶ Deletes the ComputePool of the given name in the given Environment.
Parameters: - envName (string) – Name of the Environment
- computePoolName (string) – Name of the ComputePool
Status Codes: - 204 No Content – Compute Pool was found and deleted.
- 404 Not Found –
Compute Pool not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 409 Conflict –
Compute Pool is in use and cannot be deleted.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
POST
/cmf/api/v1/secrets
¶ Create a Secret.
Create a Secret. This secrets can be then used to specify sensitive information in the Flink SQL statements. Right now these secrets are only used for Kafka and Schema Registry credentials.
Example request:
POST /cmf/api/v1/secrets HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "labels": {}, "annotations": {} }, "spec": { "data": {} } }
Status Codes: - 200 OK –
The Secret was successfully created. Note that for security reasons, you can never view the contents of the secret itself once created.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "data": {} }, "status": { "version": "string", "environments": [ "string" ] } }
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 409 Conflict –
The Secret already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 200 OK –
-
GET
/cmf/api/v1/secrets
¶ Retrieve a paginated list of all secrets. Note that the actual secret data is masked for security reasons.
Query Parameters: - page (integer) – Zero-based page index (0..N)
- size (integer) – The size of the page to be returned
- sort (array) – Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
Example request:
GET /cmf/api/v1/secrets HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
List of secrets found. If no secrets are found, an empty list is returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "pageable": { "page": 1, "size": 1, "sort": { "sorted": true, "unsorted": true, "empty": true } }, "metadata": { "size": 1 }, "items": [ { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "data": {} }, "status": { "version": "string", "environments": [ "string" ] } } ] }
- 304 Not Modified – The list of secrets has not changed.
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
Response Headers: - ETag – An ID for this version of the response.
-
GET
/cmf/api/v1/secrets/{secretName}
¶ Retrieve the Secret of the given name. Note that the secret data is not returned for security reasons.
Parameters: - secretName (string) – Name of the Secret
Example request:
GET /cmf/api/v1/secrets/{secretName} HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Secret found and returned, with security data masked.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "data": {} }, "status": { "version": "string", "environments": [ "string" ] } }
- 404 Not Found –
Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
PUT
/cmf/api/v1/secrets/{secretName}
¶ Update the secret.
Parameters: - secretName (string) – Name of the Secret
Example request:
PUT /cmf/api/v1/secrets/{secretName} HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "labels": {}, "annotations": {} }, "spec": { "data": {} } }
Status Codes: - 200 OK –
Returns the updated Secret
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "data": {} }, "status": { "version": "string", "environments": [ "string" ] } }
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 404 Not Found –
Secret with the given name not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 422 Unprocessable Entity –
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
DELETE
/cmf/api/v1/secrets/{secretName}
¶ Delete the secret with the given name.
Parameters: - secretName (string) – Name of the Secret
Status Codes: - 204 No Content – Secret was successfully deleted.
- 404 Not Found –
Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
POST
/cmf/api/v1/catalogs/kafka
¶ Creates a new Kafka Catalog that can be referenced by Flink Statements
Example request:
POST /cmf/api/v1/catalogs/kafka HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "srInstance": { "connectionConfig": {}, "connectionSecretId": "string" }, "kafkaClusters": [ { "databaseName": "string", "connectionConfig": {}, "connectionSecretId": "string" } ] } }
Status Codes: - 200 OK –
The Kafka Catalog was successfully created.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "srInstance": { "connectionConfig": {}, "connectionSecretId": "string" }, "kafkaClusters": [ { "databaseName": "string", "connectionConfig": {}, "connectionSecretId": "string" } ] } }
- 400 Bad Request –
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 409 Conflict –
Kafka Catalog already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 422 Unprocessable Entity –
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 200 OK –
-
GET
/cmf/api/v1/catalogs/kafka
¶ Retrieve a paginated list of Kafka Catalogs
Query Parameters: - page (integer) – Zero-based page index (0..N)
- size (integer) – The size of the page to be returned
- sort (array) – Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
Example request:
GET /cmf/api/v1/catalogs/kafka HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Kafka Catalogs found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "pageable": { "page": 1, "size": 1, "sort": { "sorted": true, "unsorted": true, "empty": true } }, "metadata": { "size": 1 }, "items": [ { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "srInstance": { "connectionConfig": {}, "connectionSecretId": "string" }, "kafkaClusters": [ { "databaseName": "string", "connectionConfig": {}, "connectionSecretId": "string" } ] } } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
GET
/cmf/api/v1/catalogs/kafka/{catName}
¶ Retrieve the Kafka Catalog of the given name.
Parameters: - catName (string) – Name of the Kafka Catalog
Example request:
GET /cmf/api/v1/catalogs/kafka/{catName} HTTP/1.1 Host: example.com
Status Codes: - 200 OK –
Kafka Catalog found and returned.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "srInstance": { "connectionConfig": {}, "connectionSecretId": "string" }, "kafkaClusters": [ { "databaseName": "string", "connectionConfig": {}, "connectionSecretId": "string" } ] } }
- 404 Not Found –
Kafka Catalog not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
-
DELETE
/cmf/api/v1/catalogs/kafka/{catName}
¶ Deletes the Kafka Catalog of the given name.
Parameters: - catName (string) – Name of the Kafka Catalog
Status Codes: - 204 No Content – Kafka Catalog was found and deleted.
- 404 Not Found –
Kafka Catalog not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 500 Internal Server Error –
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
Troubleshooting¶
Resource not found: If you encounter the error Resource not found… when making a GET call, it may be due to the wrong URL. Specifically, the requested REST resource might not exist.
For example:
When making the GET call:
GET http://localhost:8080/hello
You will receive the error:
Resource not found: [hello]
Similarly, if you make the GET call:
GET http://localhost:8080/ or GET http://localhost:8080
You will receive the error:
Resource not found: []
This occurs because you are requesting an empty resource.