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 download the file: apispec-v1.yml
Reference details
Environments
- POST /cmf/api/v1/environments
Create or update an Environment
basic-environment - Basic Environment:
POST /cmf/api/v1/environments HTTP/1.1 Host: example.com Content-Type: application/json { "name": "production", "kubernetesNamespace": "flink-production", "flinkApplicationDefaults": { "spec": { "flinkConfiguration": { "taskmanager.numberOfTaskSlots": "4", "rest.profiling.enabled": "true" }, "jobManager": { "resource": { "memory": "1024m", "cpu": 1 } }, "taskManager": { "resource": { "memory": "1024m", "cpu": 1 } } } }, "computePoolDefaults": { "clusterSpec": { "flinkVersion": "v1_19", "image": "confluentinc/cp-flink-sql:1.19-cp5", "flinkConfiguration": { "taskmanager.numberOfTaskSlots": "4" } } }, "statementDefaults": { "detached": { "flinkConfiguration": { "state.backend.type": "hashmap" } }, "interactive": { "flinkConfiguration": { "state.backend.type": "hashmap" } } } }
basic-environment-yaml - Basic Environment (YAML):
POST /cmf/api/v1/environments HTTP/1.1 Host: example.com Content-Type: application/yaml { "name": "staging", "kubernetesNamespace": "flink-staging", "flinkApplicationDefaults": { "spec": { "flinkConfiguration": { "taskmanager.numberOfTaskSlots": "2", "rest.profiling.enabled": "true" }, "jobManager": { "resource": { "memory": "1024m", "cpu": 1 } }, "taskManager": { "resource": { "memory": "1024m", "cpu": 1 } } } } }
- Status Codes:
The Environment was successfully created or updated.
created-environment - Created Environment:
HTTP/1.1 201 Created Content-Type: application/json { "name": "production", "kubernetesNamespace": "flink-production", "created_time": "2024-01-15T10:30:00Z", "updated_time": "2024-01-15T10:30:00Z", "flinkApplicationDefaults": { "spec": { "flinkConfiguration": { "taskmanager.numberOfTaskSlots": "4", "rest.profiling.enabled": "true" }, "jobManager": { "resource": { "memory": "1024m", "cpu": 1 } }, "taskManager": { "resource": { "memory": "1024m", "cpu": 1 } } } }, "computePoolDefaults": { "clusterSpec": { "flinkVersion": "v1_19", "image": "confluentinc/cp-flink-sql:1.19-cp5", "flinkConfiguration": { "taskmanager.numberOfTaskSlots": "4" } } }, "statementDefaults": { "detached": { "flinkConfiguration": { "state.backend.type": "hashmap" } }, "interactive": { "flinkConfiguration": { "state.backend.type": "hashmap" } } }, "secrets": {} }
Bad request.
validation-error - Validation Error:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "name: size must be between 4 and 2147483647" }, { "message": "Environment's kubernetesNamespace 'fl' does not exist." } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 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.
include-resource-information (boolean) – Whether to include resource summary in the response.
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": "2026-01-24T00:34:19.233415", "updated_time": "2026-01-24T00:34:19.233415", "flinkApplicationDefaults": {}, "kubernetesNamespace": "string", "computePoolDefaults": {}, "statementDefaults": { "detached": { "flinkConfiguration": {} }, "interactive": { "flinkConfiguration": {} } } } ] }
304 Not Modified – Not modified.
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.
- Query Parameters:
include-resource-information (boolean) – Whether to include resource summary in the response.
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": "2026-01-24T00:34:19.233415", "updated_time": "2026-01-24T00:34:19.233415", "flinkApplicationDefaults": {}, "kubernetesNamespace": "string", "computePoolDefaults": {}, "statementDefaults": { "detached": { "flinkConfiguration": {} }, "interactive": { "flinkConfiguration": {} } } }
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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.
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
Environment not found.
Example response:
HTTP/1.1 404 Not Found 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.
Environment or Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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" } }
Environment or Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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" } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Environment or Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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" } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Environment Secret Mapping already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
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" } } ] }
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
FlinkApplications
- 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
basic-application - Basic Flink Application:
POST /cmf/api/v1/environments/{envName}/applications HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "cmf.confluent.io/v1", "kind": "FlinkApplication", "metadata": { "name": "state-machine", "labels": { "app": "state-machine", "environment": "production" }, "annotations": { "description": "Real-time fraud detection application" } }, "spec": { "image": "confluentinc/cp-flink:1.19.3-cp2", "flinkVersion": "v1_19", "flinkConfiguration": { "taskmanager.numberOfTaskSlots": "2", "metrics.reporter.prom.factory.class": "org.apache.flink.metrics.prometheus.PrometheusReporterFactory", "metrics.reporter.prom.port": "9249-9250" }, "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": 2, "upgradeMode": "stateless" } } }
yaml-application - Flink Application (YAML):
POST /cmf/api/v1/environments/{envName}/applications HTTP/1.1 Host: example.com Content-Type: application/yaml { "apiVersion": "cmf.confluent.io/v1", "kind": "FlinkApplication", "metadata": { "name": "news-aggregator", "labels": { "app": "news-aggregator", "environment": "staging" } }, "spec": { "image": "confluentinc/cp-flink:1.19.3-cp2", "flinkVersion": "v1_19", "flinkConfiguration": { "taskmanager.numberOfTaskSlots": "4", "metrics.reporter.prom.factory.class": "org.apache.flink.metrics.prometheus.PrometheusReporterFactory", "metrics.reporter.prom.port": "9249-9250" }, "serviceAccount": "flink", "jobManager": { "resource": { "memory": "1024m", "cpu": 1 } }, "taskManager": { "resource": { "memory": "1024m", "cpu": 1 } }, "job": { "jarURI": "local:///opt/flink/examples/streaming/WordCount.jar", "state": "running", "parallelism": 4, "upgradeMode": "stateless" } } }
- Status Codes:
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": {} }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
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.
include-resource-information (boolean) – Whether to include resource summary in the response.
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.
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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
- Query Parameters:
include-resource-information (boolean) – Whether to include resource summary in the response.
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.
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
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.
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" } } } ] }
Environment or Application not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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
- Query Parameters:
startFromSavepointUid (string) – UID of the Savepoint from which the application should be started. This savepoint could belong to the application or can be a detached savepoint.
- 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.
Environment, Application or Savepoint not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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.
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" } } } ] }
Environment or Application not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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" } } }
FlinkApplicationInstance or environment or application not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
Secrets
- 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" ] } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
The Secret already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 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.
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" ] } }
Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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" ] } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Secret with the given name not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
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.
Secret not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
SQL
- POST /cmf/api/v1/environments/{envName}/statements
Creates a new Flink SQL Statement in the given Environment.
- Parameters:
envName (string) – Name of the Environment
basic-statement - Basic SQL Statement:
POST /cmf/api/v1/environments/{envName}/statements HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "cmf.confluent.io/v1", "kind": "Statement", "metadata": { "name": "test-stmt", "labels": { "app": "data-processing", "environment": "production" }, "annotations": { "description": "Test SQL statement for data processing" } }, "spec": { "statement": "INSERT INTO blackhole SELECT click_id FROM clicks;", "computePoolName": "test-pool", "parallelism": 2, "stopped": false, "flinkConfiguration": { "state.backend.type": "hashmap", "execution.checkpointing.interval": "2000" } } }
yaml-statement - Statement (YAML):
POST /cmf/api/v1/environments/{envName}/statements HTTP/1.1 Host: example.com Content-Type: application/yaml { "apiVersion": "cmf.confluent.io/v1", "kind": "Statement", "metadata": { "name": "data-streaming", "labels": { "app": "streaming", "environment": "staging" } }, "spec": { "statement": "INSERT INTO blackhole SELECT click_id FROM clicks;", "computePoolName": "streaming-pool", "parallelism": 2, "stopped": false, "flinkConfiguration": { "state.backend.type": "hashmap", "execution.checkpointing.interval": "2000" } } }
- 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, "startFromSavepoint": { "savepointName": "string", "uid": "string", "initialSavepointPath": "string", "allowNonRestoredState": true, "savepointRedeployNonce": 1 } }, "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 } } ] } }, "resourceSummary": { "jobManager": { "cpu": 1.0, "memory": 1, "count": 1 }, "taskManager": { "cpu": 1.0, "memory": 1, "count": 1 } } }, "result": { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Statement already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
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
include-resource-information (boolean) – Whether to include resource summary in the response.
name (string) – Wildcard filter by statement name (e.g. ?name=abc)
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, "startFromSavepoint": { "savepointName": "string", "uid": "string", "initialSavepointPath": "string", "allowNonRestoredState": true, "savepointRedeployNonce": 1 } }, "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 } } ] } }, "resourceSummary": { "jobManager": { "cpu": 1.0, "memory": 1, "count": 1 }, "taskManager": { "cpu": 1.0, "memory": 1, "count": 1 } } }, "result": { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } } } ] }
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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
- Query Parameters:
include-resource-information (boolean) – Whether to include resource summary in the response.
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, "startFromSavepoint": { "savepointName": "string", "uid": "string", "initialSavepointPath": "string", "allowNonRestoredState": true, "savepointRedeployNonce": 1 } }, "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 } } ] } }, "resourceSummary": { "jobManager": { "cpu": 1.0, "memory": 1, "count": 1 }, "taskManager": { "cpu": 1.0, "memory": 1, "count": 1 } } }, "result": { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } } }
Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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.
Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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, "startFromSavepoint": { "savepointName": "string", "uid": "string", "initialSavepointPath": "string", "allowNonRestoredState": true, "savepointRedeployNonce": 1 } }, "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 } } ] } }, "resourceSummary": { "jobManager": { "cpu": 1.0, "memory": 1, "count": 1 }, "taskManager": { "cpu": 1.0, "memory": 1, "count": 1 } } }, "result": { "apiVersion": "string", "kind": "string", "metadata": { "creationTimestamp": "string", "annotations": {} }, "results": { "data": [ {} ] } } }
- Status Codes:
200 OK – Statement was found and updated.
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
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": [ {} ] } }
Statement does not return results.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
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" } ] }
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" } ] }
Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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
basic-compute-pool - Basic Compute Pool:
POST /cmf/api/v1/environments/{envName}/compute-pools HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "cmf.confluent.io/v1", "kind": "ComputePool", "metadata": { "name": "test-pool", "labels": { "environment": "production" }, "annotations": { "description": "Standard compute pool for production workloads" } }, "spec": { "type": "DEDICATED", "clusterSpec": { "flinkVersion": "v1_19", "image": "confluentinc/cp-flink-sql:1.19-cp5", "flinkConfiguration": { "taskmanager.numberOfTaskSlots": "1" }, "taskManager": { "resource": { "cpu": 0.5, "memory": "1024m" } }, "jobManager": { "resource": { "cpu": 0.5, "memory": "1024m" } } } } }
yaml-compute-pool - Compute Pool (YAML):
POST /cmf/api/v1/environments/{envName}/compute-pools HTTP/1.1 Host: example.com Content-Type: application/yaml { "apiVersion": "cmf.confluent.io/v1", "kind": "ComputePool", "metadata": { "name": "staging-pool", "labels": { "environment": "staging" } }, "spec": { "type": "DEDICATED", "clusterSpec": { "flinkVersion": "v1_19", "image": "confluentinc/cp-flink-sql:1.19-cp5", "flinkConfiguration": { "taskmanager.numberOfTaskSlots": "2" }, "taskManager": { "resource": { "cpu": 1, "memory": "1024m" } }, "jobManager": { "resource": { "cpu": 1, "memory": "1024m" } } } } }
- 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", "resourceSummary": { "jobManager": { "cpu": 1.0, "memory": 1, "count": 1 }, "taskManager": { "cpu": 1.0, "memory": 1, "count": 1 } } } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Compute Pool already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
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.
include-resource-information (boolean) – Whether to include resource summary in the response.
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", "resourceSummary": { "jobManager": { "cpu": 1.0, "memory": 1, "count": 1 }, "taskManager": { "cpu": 1.0, "memory": 1, "count": 1 } } } } ] }
Environment not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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
- Query Parameters:
include-resource-information (boolean) – Whether to include resource summary in the response.
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", "resourceSummary": { "jobManager": { "cpu": 1.0, "memory": 1, "count": 1 }, "taskManager": { "cpu": 1.0, "memory": 1, "count": 1 } } } }
Compute Pool not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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.
Compute Pool not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
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/catalogs/kafka
Creates a new Kafka Catalog that can be referenced by Flink Statements
basic-kafka-catalog - Basic Kafka Catalog:
POST /cmf/api/v1/catalogs/kafka HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "cmf.confluent.io/v1", "kind": "KafkaCatalog", "metadata": { "name": "test-cat", "labels": { "environment": "production", "managedBy": "CMF" }, "annotations": { "description": "Production Kafka catalog for Flink statements" } }, "spec": { "srInstance": { "connectionConfig": { "schema.registry.url": "https://schema-registry.example.com" }, "connectionSecretId": "sr-secret-id" } } }
yaml-kafka-catalog - Kafka Catalog (YAML):
POST /cmf/api/v1/catalogs/kafka HTTP/1.1 Host: example.com Content-Type: application/yaml { "apiVersion": "cmf.confluent.io/v1", "kind": "KafkaCatalog", "metadata": { "name": "staging-catalog", "labels": { "environment": "staging" } }, "spec": { "srInstance": { "connectionConfig": { "schema.registry.url": "https://sr-staging.example.com" }, "connectionSecretId": "sr-staging-secret" } } }
- 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", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "srInstance": { "connectionConfig": {}, "connectionSecretId": "string" }, "kafkaClusters": [ { "databaseName": "string", "connectionConfig": {}, "connectionSecretId": "string" } ] }, "status": { "environmentsWithAccess": [ "string" ] } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Kafka Catalog already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- 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", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "srInstance": { "connectionConfig": {}, "connectionSecretId": "string" }, "kafkaClusters": [ { "databaseName": "string", "connectionConfig": {}, "connectionSecretId": "string" } ] }, "status": { "environmentsWithAccess": [ "string" ] } } ] }
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", "updateTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "srInstance": { "connectionConfig": {}, "connectionSecretId": "string" }, "kafkaClusters": [ { "databaseName": "string", "connectionConfig": {}, "connectionSecretId": "string" } ] }, "status": { "environmentsWithAccess": [ "string" ] } }
Kafka Catalog not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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.
Kafka Catalog not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Catalog contains databases and cannot be deleted.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- PUT /cmf/api/v1/catalogs/kafka/{catName}
Updates a KafkaCatalog of the given name.
- Parameters:
catName (string) – Name of the KafkaCatalog
Example request:
PUT /cmf/api/v1/catalogs/kafka/{catName} 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": { "srInstance": { "connectionConfig": {}, "connectionSecretId": "string" }, "kafkaClusters": [ { "databaseName": "string", "connectionConfig": {}, "connectionSecretId": "string" } ] }, "status": { "environmentsWithAccess": [ "string" ] } }
- Status Codes:
200 OK – KafkaCatalog was found and updated.
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
KafkaCatalog not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- POST /cmf/api/v1/catalogs/kafka/{catName}/databases
Creates a new Kafka Database
- Parameters:
catName (string) – Name of the Catalog
basic-kafka-database - Basic Kafka Database:
POST /cmf/api/v1/catalogs/kafka/{catName}/databases HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "cmf.confluent.io/v1", "kind": "KafkaDatabase", "metadata": { "name": "dev", "labels": { "environment": "production", "managedBy": "CMF" }, "annotations": { "description": "Development Kafka database" } }, "spec": { "kafkaCluster": { "connectionConfig": { "bootstrap.servers": "kafka-dev.example.com:9092", "security.protocol": "SASL_PLAINTEXT", "sasl.mechanism": "PLAIN" }, "connectionSecretId": "dev-secret-id" }, "alterEnvironments": [ "production" ] } }
yaml-kafka-database - Kafka Database (YAML):
POST /cmf/api/v1/catalogs/kafka/{catName}/databases HTTP/1.1 Host: example.com Content-Type: application/yaml { "apiVersion": "cmf.confluent.io/v1", "kind": "KafkaDatabase", "metadata": { "name": "staging", "labels": { "environment": "staging" } }, "spec": { "kafkaCluster": { "connectionConfig": { "bootstrap.servers": "kafka-staging.example.com:9092", "security.protocol": "SASL_PLAINTEXT" }, "connectionSecretId": "staging-kafka-secret" }, "alterEnvironments": [ "staging" ] } }
- Status Codes:
200 OK –
The Kafka Database 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": { "kafkaCluster": { "connectionConfig": {}, "connectionSecretId": "string" }, "alterEnvironments": [ "string" ] }, "status": { "environmentsWithAccess": [ "string" ] } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Kafka Database already exists.
Example response:
HTTP/1.1 409 Conflict Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
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}/databases
Retrieve a paginated list of Kafka Databases
- Parameters:
catName (string) – Name of the Catalog
- 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/{catName}/databases HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Kafka Databases 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": { "kafkaCluster": { "connectionConfig": {}, "connectionSecretId": "string" }, "alterEnvironments": [ "string" ] }, "status": { "environmentsWithAccess": [ "string" ] } } ] }
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}/databases/{dbName}
Retrieve the Kafka Database of the given name in the given KafkaCatalog.
- Parameters:
catName (string) – Name of the Kafka Catalog
dbName (string) – Name of the Kafka Database
Example request:
GET /cmf/api/v1/catalogs/kafka/{catName}/databases/{dbName} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Kafka Database 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": { "kafkaCluster": { "connectionConfig": {}, "connectionSecretId": "string" }, "alterEnvironments": [ "string" ] }, "status": { "environmentsWithAccess": [ "string" ] } }
Kafka Database not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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}/databases/{dbName}
Deletes the Kafka Database of the given name in the given KafkaCatalog.
- Parameters:
catName (string) – Name of the Kafka Catalog
dbName (string) – Name of the Kafka Database
- Status Codes:
204 No Content – Kafka Database was found and deleted.
Kafka Database not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- PUT /cmf/api/v1/catalogs/kafka/{catName}/databases/{dbName}
Updates a KafkaDatabase of the given name in the given KafkaCatalog.
- Parameters:
catName (string) – Name of the KafkaCatalog
dbName (string) – Name of the KafkaDatabase
Example request:
PUT /cmf/api/v1/catalogs/kafka/{catName}/databases/{dbName} 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": { "kafkaCluster": { "connectionConfig": {}, "connectionSecretId": "string" }, "alterEnvironments": [ "string" ] }, "status": { "environmentsWithAccess": [ "string" ] } }
- Status Codes:
200 OK – KafkaDatabase was found and updated.
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
KafkaDatabase not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
Savepoints
- POST /cmf/api/v1/environments/{envName}/applications/{appName}/savepoints
Creates a new Savepoint for the given Application in the given Environment.
- Parameters:
envName (string) – Name of the Environment
appName (string) – Name of the Application
Example request:
POST /cmf/api/v1/environments/{envName}/applications/{appName}/savepoints HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
- Status Codes:
Savepoint was successfully created.
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
Environment or Application not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
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}/savepoints
Retrieve a paginated list of all Savepoints for the given Application in the given Environment.
- 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}/savepoints HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Savepoints found and returned. In case, there are no savepoints, 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", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } } ] }
Environment or Application not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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}/savepoints/{savepointName}
Retrieve the Savepoint of the given name for the given Application in the given Environment.
- Parameters:
envName (string) – Name of the Environment
appName (string) – Name of the Application
savepointName (string) – Name of the Savepoint
Example request:
GET /cmf/api/v1/environments/{envName}/applications/{appName}/savepoints/{savepointName} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Savepoint 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": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
Environment, Application or Savepoint not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- DELETE /cmf/api/v1/environments/{envName}/applications/{appName}/savepoints/{savepointName}
Deletes the Savepoint of the given name for the given Application in the given Environment.
- Parameters:
envName (string) – Name of the Environment
appName (string) – Name of the Application
savepointName (string) – Name of the Savepoint to be deleted.
- Query Parameters:
force (boolean) – If a Savepoint is marked for deletion, it can be force deleted.
- Status Codes:
204 No Content – Savepoint was found and deleted.
Environment, Application or Savepoint not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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}/savepoints/{savepointName}/detach
Detaches the Savepoint of the given name for the given Application in the given Environment.
- Parameters:
envName (string) – Name of the Environment
appName (string) – Name of the Application
savepointName (string) – Name of the Savepoint to be detached.
- Status Codes:
200 OK –
Savepoint was successfully detached 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": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
Environment, Application or Savepoint not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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/{stmtName}/savepoints
Creates a new Savepoint for the given Statement in the given Environment.
- Parameters:
envName (string) – Name of the Environment
stmtName (string) – Name of the Statement
Example request:
POST /cmf/api/v1/environments/{envName}/statements/{stmtName}/savepoints HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
- Status Codes:
Savepoint was successfully created.
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Environment or Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
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}/savepoints
Retrieve a paginated list of all Savepoints for the given Statement in the given Environment.
- Parameters:
envName (string) – Name of the Environment
stmtName (string) – Name of the Statement
- 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}/statements/{stmtName}/savepoints HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Savepoints found and returned. In case, there are no savepoints, 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", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } } ] }
Environment or Statement not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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}/savepoints/{savepointName}
Retrieve the Savepoint of the given name for the given Statement in the given Environment.
- Parameters:
envName (string) – Name of the Environment
stmtName (string) – Name of the Statement
savepointName (string) – Name of the Savepoint
Example request:
GET /cmf/api/v1/environments/{envName}/statements/{stmtName}/savepoints/{savepointName} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Savepoint 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": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
Environment, Statement or Savepoint not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
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}/savepoints/{savepointName}
Deletes the Savepoint of the given name for the given Statement in the given Environment.
- Parameters:
envName (string) – Name of the Environment
stmtName (string) – Name of the Statement
savepointName (string) – Name of the Savepoint to be deleted.
- Query Parameters:
force (boolean) – If a Savepoint is marked for deletion, it can be force deleted.
- Status Codes:
204 No Content – Savepoint was found and deleted.
Environment, Statement or Savepoint not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
DetachedSavepoints
- POST /cmf/api/v1/detached-savepoints
Creates a new detached savepoint.
Example request:
POST /cmf/api/v1/detached-savepoints HTTP/1.1 Host: example.com Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
- Status Codes:
Detached Savepoint was successfully created and returned.
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "apiVersion": "string", "kind": "string", "metadata": { "name": "string", "creationTimestamp": "string", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
Bad request.
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "errors": [ { "message": "string" } ] }
Request valid but invalid content.
Example response:
HTTP/1.1 422 Unprocessable Entity Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- GET /cmf/api/v1/detached-savepoints
Retrieve a paginated list of all Detached Savepoints.
- 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.
name (string) – Filter by detached savepoint name prefix (e.g. ?name=abc)
Example request:
GET /cmf/api/v1/detached-savepoints HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Detached Savepoints found and returned. In case, there are none, 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", "uid": "string", "labels": {}, "annotations": {} }, "spec": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- GET /cmf/api/v1/detached-savepoints/{detachedSavepointName}
Retrieve the Detached Savepoint of the given name.
- Parameters:
detachedSavepointName (string) – Name of the Detached Savepoint
Example request:
GET /cmf/api/v1/detached-savepoints/{detachedSavepointName} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Detached Savepoint 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": { "path": "string", "backoffLimit": 1, "formatType": "CANONICAL" }, "status": { "state": "string", "path": "string", "triggerTimestamp": "string", "resultTimestamp": "string", "failures": 1, "error": "string", "pendingDeletion": true } }
Detached Savepoint not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- DELETE /cmf/api/v1/detached-savepoints/{detachedSavepointName}
Deletes the Detached Savepoint of the given name.
- Parameters:
detachedSavepointName (string) – Name of the Detached Savepoint
- Status Codes:
204 No Content – Detached Savepoint was found and deleted.
Detached Savepoint not found.
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "errors": [ { "message": "string" } ] }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
CMFInformation
- GET /cmf/api/v1/system-information
Retrieve system information about the CMF deployment.
Example request:
GET /cmf/api/v1/system-information HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
System information retrieved successfully.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "status": { "version": "string", "revision": "string" } }
Server error.
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "errors": [ { "message": "string" } ] }
- GET /cmf/api/v1/resource-information
Retrieve resource information about the CMF deployment.
Example request:
GET /cmf/api/v1/resource-information HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Resource information retrieved successfully.
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "status": { "resources": { "environments": 1, "applications": 1, "computePools": 1, "statements": 1, "secrets": 1, "catalogs": 1, "savepoints": 1, "detachedSavepoints": 1 }, "resourceSummary": { "cpu": 1.0, "memory": 1 } } }
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/helloYou will receive the error:
Resource not found: [hello]
Similarly, if you make the GET call:
GET http://localhost:8080/ or GET http://localhost:8080You will receive the error:
Resource not found: []
This occurs because you are requesting an empty resource.