REST API Guide

This section describes the Spring Cloud Data Flow REST API.spring-doc.cn

41. Overview

Spring Cloud Data Flow provides a REST API that lets you access all aspects of the server. In fact, the Spring Cloud Data Flow shell is a first-class consumer of that API.spring-doc.cn

If you plan to use the REST API with Java, you should consider using the provided Java client (DataflowTemplate) that uses the REST API internally.

41.1. HTTP Version

Spring Cloud Data Flow establishes a RESTful API version that is updated when there is a breaking change to the API. The API version can be seen at the end of the home page of Spring Cloud Data Flow as shown in the example below:spring-doc.cn

{"_links":
    {"dashboard":{"href":"http://localhost:9393/dashboard"}
    ...
    },
"api.revision":14}

The table below shows the SCDF Release version and its current RESTful API version.spring-doc.cn

SCDF Version API Version

2.10.xspring-doc.cn

14spring-doc.cn

2.9.xspring-doc.cn

14spring-doc.cn

2.8.xspring-doc.cn

14spring-doc.cn

2.7.xspring-doc.cn

14spring-doc.cn

41.2. HTTP verbs

Spring Cloud Data Flow tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP verbs, as described in the following table:spring-doc.cn

Verb Usage

GETspring-doc.cn

Used to retrieve a resource.spring-doc.cn

POSTspring-doc.cn

Used to create a new resource.spring-doc.cn

PUTspring-doc.cn

Used to update an existing resource, including partial updates. Also used for resources that imply the concept of restarts, such as tasks.spring-doc.cn

DELETEspring-doc.cn

Used to delete an existing resource.spring-doc.cn

41.3. HTTP Status Codes

Spring Cloud Data Flow tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP status codes, as shown in the following table:spring-doc.cn

Status code Usage

200 OKspring-doc.cn

The request completed successfully.spring-doc.cn

201 Createdspring-doc.cn

A new resource has been created successfully. The resource’s URI is available from the response’s Location header.spring-doc.cn

204 No Contentspring-doc.cn

An update to an existing resource has been applied successfully.spring-doc.cn

400 Bad Requestspring-doc.cn

The request was malformed. The response body includes an error description that provides further information.spring-doc.cn

404 Not Foundspring-doc.cn

The requested resource did not exist.spring-doc.cn

409 Conflictspring-doc.cn

The requested resource already exists. For example, the task already exists or the stream was already being deployedspring-doc.cn

422 Unprocessable Entityspring-doc.cn

Returned in cases where the job execution cannot be stopped or restarted.spring-doc.cn

41.4. Headers

Every response has the following headers:spring-doc.cn

Name Description

Content-Typespring-doc.cn

The Content-Type of the payload, e.g. application/hal+jsonspring-doc.cn

41.5. Errors

Path Type Description

errorspring-doc.cn

Stringspring-doc.cn

The HTTP error that occurred, e.g. Bad Requestspring-doc.cn

messagespring-doc.cn

Stringspring-doc.cn

A description of the cause of the errorspring-doc.cn

pathspring-doc.cn

Stringspring-doc.cn

The path to which the request was madespring-doc.cn

statusspring-doc.cn

Numberspring-doc.cn

The HTTP status code, e.g. 400spring-doc.cn

timestampspring-doc.cn

Stringspring-doc.cn

The time, in milliseconds, at which the error occurredspring-doc.cn

41.6. Hypermedia

Spring Cloud Data Flow uses hypermedia, and resources include links to other resources in their responses. Responses are in the Hypertext Application from resource-to-resource Language (HAL) format. Links can be found beneath the _links key. Users of the API should not create URIs themselves. Instead, they should use the above-described links to navigate.spring-doc.cn

42. Resources

The API includes the following resources:spring-doc.cn

42.1. Index

The index provides the entry point into Spring Cloud Data Flow’s REST API. The following topics provide more details:spring-doc.cn

42.1.1. Accessing the index

Use a GET request to access the index.spring-doc.cn

Request Structure
GET / HTTP/1.1
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/' -i -X GET
Response Structure
Path Type Description

_linksspring-doc.cn

Objectspring-doc.cn

Links to other resourcesspring-doc.cn

['api.revision']spring-doc.cn

Numberspring-doc.cn

Incremented each time a change is implemented in this REST APIspring-doc.cn

_links.audit-records.hrefspring-doc.cn

Stringspring-doc.cn

Link to the audit recordsspring-doc.cn

_links.dashboard.hrefspring-doc.cn

Stringspring-doc.cn

Link to the dashboardspring-doc.cn

_links.streams/definitions.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/definitionsspring-doc.cn

_links.streams/definitions/definition.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/definitions/definitionspring-doc.cn

_links.streams/definitions/definition.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/definitions/definition is templatedspring-doc.cn

_links.runtime/apps.hrefspring-doc.cn

Stringspring-doc.cn

Link to the runtime/appsspring-doc.cn

_links.runtime/apps/{appId}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the runtime/apps/{appId}spring-doc.cn

_links.runtime/apps/{appId}.templatedspring-doc.cn

Booleanspring-doc.cn

Link runtime/apps is templatedspring-doc.cn

_links.runtime/apps/{appId}/instances.hrefspring-doc.cn

Stringspring-doc.cn

Link to the runtime/apps/{appId}/instancesspring-doc.cn

_links.runtime/apps/{appId}/instances.templatedspring-doc.cn

Booleanspring-doc.cn

Link runtime/apps/{appId}/instances is templatedspring-doc.cn

_links.runtime/apps/{appId}/instances/{instanceId}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the runtime/apps/{appId}/instances/{instanceId}spring-doc.cn

_links.runtime/apps/{appId}/instances/{instanceId}.templatedspring-doc.cn

Booleanspring-doc.cn

Link runtime/apps/{appId}/instances/{instanceId} is templatedspring-doc.cn

_links.runtime/apps/{appId}/instances/{instanceId}/post.hrefspring-doc.cn

Stringspring-doc.cn

Link to the runtime/apps/{appId}/instances/{instanceId}/postspring-doc.cn

_links.runtime/apps/{appId}/instances/{instanceId}/post.templatedspring-doc.cn

Booleanspring-doc.cn

Link runtime/apps/{appId}/instances/{instanceId}/post is templatedspring-doc.cn

_links.runtime/apps/{appId}/instances/{instanceId}/actuator[].hrefspring-doc.cn

Stringspring-doc.cn

Link to the runtime/apps/{appId}/instances/{instanceId}/actuatorspring-doc.cn

_links.runtime/apps/{appId}/instances/{instanceId}/actuator[].templatedspring-doc.cn

Booleanspring-doc.cn

Link runtime/apps/{appId}/instances/{instanceId}/actuator is templatedspring-doc.cn

_links.runtime/streams.hrefspring-doc.cn

Stringspring-doc.cn

Link to the runtime/streamsspring-doc.cn

_links.runtime/streams.templatedspring-doc.cn

Booleanspring-doc.cn

Link runtime/streams is templatedspring-doc.cn

_links.runtime/streams/{streamNames}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the runtime/streams/{streamNames}spring-doc.cn

_links.runtime/streams/{streamNames}.templatedspring-doc.cn

Booleanspring-doc.cn

Link runtime/streams/{streamNames} is templatedspring-doc.cn

_links.streams/logs.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/logsspring-doc.cn

_links.streams/logs/{streamName}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/logs/{streamName}spring-doc.cn

_links.streams/logs/{streamName}/{appName}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/logs/{streamName}/{appName}spring-doc.cn

_links.streams/logs/{streamName}.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/logs/{streamName} is templatedspring-doc.cn

_links.streams/logs/{streamName}/{appName}.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/logs/{streamName}/{appName} is templatedspring-doc.cn

_links.streams/deploymentsspring-doc.cn

Objectspring-doc.cn

Link to streams/deploymentsspring-doc.cn

_links.streams/deployments.hrefspring-doc.cn

Stringspring-doc.cn

Link to streams/deploymentsspring-doc.cn

_links.streams/deployments/{name}spring-doc.cn

Objectspring-doc.cn

Link streams/deployments/{name} is templatedspring-doc.cn

_links.streams/deployments/{name}.hrefspring-doc.cn

Stringspring-doc.cn

Link streams/deployments/{name} is templatedspring-doc.cn

_links.streams/deployments/{name}.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/deployments/{name} is templatedspring-doc.cn

_links.streams/deployments/{name}{?reuse-deployment-properties}.hrefspring-doc.cn

Stringspring-doc.cn

Link streams/deployments/{name} is templatedspring-doc.cn

_links.streams/deployments/{name}{?reuse-deployment-properties}.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/deployments/{name} is templatedspring-doc.cn

_links.streams/deployments/deployment.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/deployments/deploymentspring-doc.cn

_links.streams/deployments/deployment.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/deployments/deployment is templatedspring-doc.cn

_links.streams/deployments/manifest/{name}/{version}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/deployments/manifest/{name}/{version}spring-doc.cn

_links.streams/deployments/manifest/{name}/{version}.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/deployments/manifest/{name}/{version} is templatedspring-doc.cn

_links.streams/deployments/history/{name}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/deployments/history/{name}spring-doc.cn

_links.streams/deployments/history/{name}.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/deployments/history is templatedspring-doc.cn

_links.streams/deployments/rollback/{name}/{version}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/deployments/rollback/{name}/{version}spring-doc.cn

_links.streams/deployments/rollback/{name}/{version}.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/deployments/rollback/{name}/{version} is templatedspring-doc.cn

_links.streams/deployments/update/{name}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/deployments/update/{name}spring-doc.cn

_links.streams/deployments/update/{name}.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/deployments/update/{name} is templatedspring-doc.cn

_links.streams/deployments/platform/list.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/deployments/platform/listspring-doc.cn

_links.streams/deployments/scale/{streamName}/{appName}/instances/{count}.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/deployments/scale/{streamName}/{appName}/instances/{count}spring-doc.cn

_links.streams/deployments/scale/{streamName}/{appName}/instances/{count}.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/deployments/scale/{streamName}/{appName}/instances/{count} is templatedspring-doc.cn

_links.streams/validation.hrefspring-doc.cn

Stringspring-doc.cn

Link to the streams/validationspring-doc.cn

_links.streams/validation.templatedspring-doc.cn

Booleanspring-doc.cn

Link streams/validation is templatedspring-doc.cn

_links.tasks/platforms.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/platformsspring-doc.cn

_links.tasks/definitions.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/definitionsspring-doc.cn

_links.tasks/definitions/definition.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/definitions/definitionspring-doc.cn

_links.tasks/definitions/definition.templatedspring-doc.cn

Booleanspring-doc.cn

Link tasks/definitions/definition is templatedspring-doc.cn

_links.tasks/executions.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/executionsspring-doc.cn

_links.tasks/executions/name.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/executions/namespring-doc.cn

_links.tasks/executions/name.templatedspring-doc.cn

Booleanspring-doc.cn

Link tasks/executions/name is templatedspring-doc.cn

_links.tasks/executions/current.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/executions/currentspring-doc.cn

_links.tasks/executions/execution.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/executions/executionspring-doc.cn

_links.tasks/executions/execution.templatedspring-doc.cn

Booleanspring-doc.cn

Link tasks/executions/execution is templatedspring-doc.cn

_links.tasks/info/executions.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/info/executionsspring-doc.cn

_links.tasks/info/executions.templatedspring-doc.cn

Booleanspring-doc.cn

Link tasks/info is templatedspring-doc.cn

_links.tasks/logs.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/logsspring-doc.cn

_links.tasks/logs.templatedspring-doc.cn

Booleanspring-doc.cn

Link tasks/logs is templatedspring-doc.cn

_links.tasks/schedules.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/executions/schedulesspring-doc.cn

_links.tasks/schedules/instances.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/schedules/instancesspring-doc.cn

_links.tasks/schedules/instances.templatedspring-doc.cn

Booleanspring-doc.cn

Link tasks/schedules/instances is templatedspring-doc.cn

_links.tasks/validation.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tasks/validationspring-doc.cn

_links.tasks/validation.templatedspring-doc.cn

Booleanspring-doc.cn

Link tasks/validation is templatedspring-doc.cn

_links.jobs/executions.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/executionsspring-doc.cn

_links.jobs/thinexecutions.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/thinexecutionsspring-doc.cn

_links.jobs/executions/name.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/executions/namespring-doc.cn

_links.jobs/executions/name.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/executions/name is templatedspring-doc.cn

_links.jobs/executions/status.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/executions/statusspring-doc.cn

_links.jobs/executions/status.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/executions/status is templatedspring-doc.cn

_links.jobs/thinexecutions/name.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/thinexecutions/namespring-doc.cn

_links.jobs/thinexecutions/name.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/executions/name is templatedspring-doc.cn

_links.jobs/thinexecutions/jobInstanceId.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/thinexecutions/jobInstanceIdspring-doc.cn

_links.jobs/thinexecutions/jobInstanceId.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/executions/jobInstanceId is templatedspring-doc.cn

_links.jobs/thinexecutions/taskExecutionId.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/thinexecutions/taskExecutionIdspring-doc.cn

_links.jobs/thinexecutions/taskExecutionId.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/executions/taskExecutionId is templatedspring-doc.cn

_links.jobs/executions/execution.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/executions/executionspring-doc.cn

_links.jobs/executions/execution.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/executions/execution is templatedspring-doc.cn

_links.jobs/executions/execution/steps.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/executions/execution/stepsspring-doc.cn

_links.jobs/executions/execution/steps.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/executions/execution/steps is templatedspring-doc.cn

_links.jobs/executions/execution/steps/step.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/executions/execution/steps/stepspring-doc.cn

_links.jobs/executions/execution/steps/step.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/executions/execution/steps/step is templatedspring-doc.cn

_links.jobs/executions/execution/steps/step/progress.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/executions/execution/steps/step/progressspring-doc.cn

_links.jobs/executions/execution/steps/step/progress.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/executions/execution/steps/step/progress is templatedspring-doc.cn

_links.jobs/instances/name.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/instances/namespring-doc.cn

_links.jobs/instances/name.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/instances/name is templatedspring-doc.cn

_links.jobs/instances/instance.hrefspring-doc.cn

Stringspring-doc.cn

Link to the jobs/instances/instancespring-doc.cn

_links.jobs/instances/instance.templatedspring-doc.cn

Booleanspring-doc.cn

Link jobs/instances/instance is templatedspring-doc.cn

_links.tools/parseTaskTextToGraph.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tools/parseTaskTextToGraphspring-doc.cn

_links.tools/convertTaskGraphToText.hrefspring-doc.cn

Stringspring-doc.cn

Link to the tools/convertTaskGraphToTextspring-doc.cn

_links.apps.hrefspring-doc.cn

Stringspring-doc.cn

Link to the appsspring-doc.cn

_links.about.hrefspring-doc.cn

Stringspring-doc.cn

Link to the aboutspring-doc.cn

_links.completions/stream.hrefspring-doc.cn

Stringspring-doc.cn

Link to the completions/streamspring-doc.cn

_links.completions/stream.templatedspring-doc.cn

Booleanspring-doc.cn

Link completions/stream is templatedspring-doc.cn

_links.completions/task.hrefspring-doc.cn

Stringspring-doc.cn

Link to the completions/taskspring-doc.cn

_links.completions/task.templatedspring-doc.cn

Booleanspring-doc.cn

Link completions/task is templatedspring-doc.cn

Example Response
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 7583

{
  "_links" : {
    "dashboard" : {
      "href" : "http://localhost:9393/dashboard"
    },
    "audit-records" : {
      "href" : "http://localhost:9393/audit-records"
    },
    "streams/definitions" : {
      "href" : "http://localhost:9393/streams/definitions"
    },
    "streams/definitions/definition" : {
      "href" : "http://localhost:9393/streams/definitions/{name}",
      "templated" : true
    },
    "streams/validation" : {
      "href" : "http://localhost:9393/streams/validation/{name}",
      "templated" : true
    },
    "runtime/streams" : {
      "href" : "http://localhost:9393/runtime/streams{?names}",
      "templated" : true
    },
    "runtime/streams/{streamNames}" : {
      "href" : "http://localhost:9393/runtime/streams/{streamNames}",
      "templated" : true
    },
    "runtime/apps" : {
      "href" : "http://localhost:9393/runtime/apps"
    },
    "runtime/apps/{appId}" : {
      "href" : "http://localhost:9393/runtime/apps/{appId}",
      "templated" : true
    },
    "runtime/apps/{appId}/instances" : {
      "href" : "http://localhost:9393/runtime/apps/{appId}/instances",
      "templated" : true
    },
    "runtime/apps/{appId}/instances/{instanceId}" : {
      "href" : "http://localhost:9393/runtime/apps/{appId}/instances/{instanceId}",
      "templated" : true
    },
    "runtime/apps/{appId}/instances/{instanceId}/actuator" : [ {
      "href" : "http://localhost:9393/runtime/apps/{appId}/instances/{instanceId}/actuator?endpoint={endpoint}",
      "templated" : true
    }, {
      "href" : "http://localhost:9393/runtime/apps/{appId}/instances/{instanceId}/actuator",
      "templated" : true
    } ],
    "runtime/apps/{appId}/instances/{instanceId}/post" : {
      "href" : "http://localhost:9393/runtime/apps/{appId}/instances/{instanceId}/post",
      "templated" : true
    },
    "streams/deployments" : {
      "href" : "http://localhost:9393/streams/deployments"
    },
    "streams/deployments/{name}{?reuse-deployment-properties}" : {
      "href" : "http://localhost:9393/streams/deployments/{name}?reuse-deployment-properties=false",
      "templated" : true
    },
    "streams/deployments/{name}" : {
      "href" : "http://localhost:9393/streams/deployments/{name}",
      "templated" : true
    },
    "streams/deployments/history/{name}" : {
      "href" : "http://localhost:9393/streams/deployments/history/{name}",
      "templated" : true
    },
    "streams/deployments/manifest/{name}/{version}" : {
      "href" : "http://localhost:9393/streams/deployments/manifest/{name}/{version}",
      "templated" : true
    },
    "streams/deployments/platform/list" : {
      "href" : "http://localhost:9393/streams/deployments/platform/list"
    },
    "streams/deployments/rollback/{name}/{version}" : {
      "href" : "http://localhost:9393/streams/deployments/rollback/{name}/{version}",
      "templated" : true
    },
    "streams/deployments/update/{name}" : {
      "href" : "http://localhost:9393/streams/deployments/update/{name}",
      "templated" : true
    },
    "streams/deployments/deployment" : {
      "href" : "http://localhost:9393/streams/deployments/{name}",
      "templated" : true
    },
    "streams/deployments/scale/{streamName}/{appName}/instances/{count}" : {
      "href" : "http://localhost:9393/streams/deployments/scale/{streamName}/{appName}/instances/{count}",
      "templated" : true
    },
    "streams/logs" : {
      "href" : "http://localhost:9393/streams/logs"
    },
    "streams/logs/{streamName}" : {
      "href" : "http://localhost:9393/streams/logs/{streamName}",
      "templated" : true
    },
    "streams/logs/{streamName}/{appName}" : {
      "href" : "http://localhost:9393/streams/logs/{streamName}/{appName}",
      "templated" : true
    },
    "tasks/platforms" : {
      "href" : "http://localhost:9393/tasks/platforms"
    },
    "tasks/definitions" : {
      "href" : "http://localhost:9393/tasks/definitions"
    },
    "tasks/definitions/definition" : {
      "href" : "http://localhost:9393/tasks/definitions/{name}",
      "templated" : true
    },
    "tasks/executions" : {
      "href" : "http://localhost:9393/tasks/executions"
    },
    "tasks/executions/name" : {
      "href" : "http://localhost:9393/tasks/executions{?name}",
      "templated" : true
    },
    "tasks/executions/current" : {
      "href" : "http://localhost:9393/tasks/executions/current"
    },
    "tasks/executions/execution" : {
      "href" : "http://localhost:9393/tasks/executions/{id}",
      "templated" : true
    },
    "tasks/validation" : {
      "href" : "http://localhost:9393/tasks/validation/{name}",
      "templated" : true
    },
    "tasks/info/executions" : {
      "href" : "http://localhost:9393/tasks/info/executions{?completed,name}",
      "templated" : true
    },
    "tasks/logs" : {
      "href" : "http://localhost:9393/tasks/logs/{taskExternalExecutionId}{?platformName}",
      "templated" : true
    },
    "tasks/schedules" : {
      "href" : "http://localhost:9393/tasks/schedules"
    },
    "tasks/schedules/instances" : {
      "href" : "http://localhost:9393/tasks/schedules/instances/{taskDefinitionName}",
      "templated" : true
    },
    "jobs/executions" : {
      "href" : "http://localhost:9393/jobs/executions"
    },
    "jobs/executions/name" : {
      "href" : "http://localhost:9393/jobs/executions{?name}",
      "templated" : true
    },
    "jobs/executions/status" : {
      "href" : "http://localhost:9393/jobs/executions{?status}",
      "templated" : true
    },
    "jobs/executions/execution" : {
      "href" : "http://localhost:9393/jobs/executions/{id}",
      "templated" : true
    },
    "jobs/executions/execution/steps" : {
      "href" : "http://localhost:9393/jobs/executions/{jobExecutionId}/steps",
      "templated" : true
    },
    "jobs/executions/execution/steps/step" : {
      "href" : "http://localhost:9393/jobs/executions/{jobExecutionId}/steps/{stepId}",
      "templated" : true
    },
    "jobs/executions/execution/steps/step/progress" : {
      "href" : "http://localhost:9393/jobs/executions/{jobExecutionId}/steps/{stepId}/progress",
      "templated" : true
    },
    "jobs/instances/name" : {
      "href" : "http://localhost:9393/jobs/instances{?name}",
      "templated" : true
    },
    "jobs/instances/instance" : {
      "href" : "http://localhost:9393/jobs/instances/{id}",
      "templated" : true
    },
    "tools/parseTaskTextToGraph" : {
      "href" : "http://localhost:9393/tools"
    },
    "tools/convertTaskGraphToText" : {
      "href" : "http://localhost:9393/tools"
    },
    "jobs/thinexecutions" : {
      "href" : "http://localhost:9393/jobs/thinexecutions"
    },
    "jobs/thinexecutions/name" : {
      "href" : "http://localhost:9393/jobs/thinexecutions{?name}",
      "templated" : true
    },
    "jobs/thinexecutions/jobInstanceId" : {
      "href" : "http://localhost:9393/jobs/thinexecutions{?jobInstanceId}",
      "templated" : true
    },
    "jobs/thinexecutions/taskExecutionId" : {
      "href" : "http://localhost:9393/jobs/thinexecutions{?taskExecutionId}",
      "templated" : true
    },
    "apps" : {
      "href" : "http://localhost:9393/apps"
    },
    "about" : {
      "href" : "http://localhost:9393/about"
    },
    "completions/stream" : {
      "href" : "http://localhost:9393/completions/stream{?start,detailLevel}",
      "templated" : true
    },
    "completions/task" : {
      "href" : "http://localhost:9393/completions/task{?start,detailLevel}",
      "templated" : true
    }
  },
  "api.revision" : 14
}

The main element of the index are the links, as they let you traverse the API and execute the desired functionality:spring-doc.cn

Relation Description

aboutspring-doc.cn

Access meta information, including enabled features, security info, version informationspring-doc.cn

dashboardspring-doc.cn

Access the dashboard UIspring-doc.cn

audit-recordsspring-doc.cn

Provides audit trail informationspring-doc.cn

appsspring-doc.cn

Handle registered applicationsspring-doc.cn

completions/streamspring-doc.cn

Exposes the DSL completion features for Streamspring-doc.cn

completions/taskspring-doc.cn

Exposes the DSL completion features for Taskspring-doc.cn

jobs/executionsspring-doc.cn

Provides the JobExecution resourcespring-doc.cn

jobs/thinexecutionsspring-doc.cn

Provides the JobExecution thin resource with no step executions includedspring-doc.cn

jobs/executions/executionspring-doc.cn

Provides details for a specific JobExecutionspring-doc.cn

jobs/executions/execution/stepsspring-doc.cn

Provides the steps for a JobExecutionspring-doc.cn

jobs/executions/execution/steps/stepspring-doc.cn

Returns the details for a specific stepspring-doc.cn

jobs/executions/execution/steps/step/progressspring-doc.cn

Provides progress information for a specific stepspring-doc.cn

jobs/executions/namespring-doc.cn

Retrieve Job Executions by Job namespring-doc.cn

jobs/executions/statusspring-doc.cn

Retrieve Job Executions by Job statusspring-doc.cn

jobs/thinexecutions/namespring-doc.cn

Retrieve Job Executions by Job name with no step executions includedspring-doc.cn

jobs/thinexecutions/jobInstanceIdspring-doc.cn

Retrieve Job Executions by Job Instance Id with no step executions includedspring-doc.cn

jobs/thinexecutions/taskExecutionIdspring-doc.cn

Retrieve Job Executions by Task Execution Id with no step executions includedspring-doc.cn

jobs/instances/instancespring-doc.cn

Provides the job instance resource for a specific job instancespring-doc.cn

jobs/instances/namespring-doc.cn

Provides the Job instance resource for a specific job namespring-doc.cn

runtime/streamsspring-doc.cn

Exposes stream runtime statusspring-doc.cn

runtime/streams/{streamNames}spring-doc.cn

Exposes streams runtime status for a given stream namesspring-doc.cn

runtime/appsspring-doc.cn

Provides the runtime application resourcespring-doc.cn

runtime/apps/{appId}spring-doc.cn

Exposes the runtime status for a specific appspring-doc.cn

runtime/apps/{appId}/instancesspring-doc.cn

Provides the status for app instancesspring-doc.cn

runtime/apps/{appId}/instances/{instanceId}spring-doc.cn

Provides the status for specific app instancespring-doc.cn

runtime/apps/{appId}/instances/{instanceId}/actuatorspring-doc.cn

EXPERIMENTAL: Allows invoking Actuator endpoint on specific app instancespring-doc.cn

runtime/apps/{appId}/instances/{instanceId}/postspring-doc.cn

EXPERIMENTAL: Allows POST on http sinkspring-doc.cn

tasks/definitionsspring-doc.cn

Provides the task definition resourcespring-doc.cn

tasks/definitions/definitionspring-doc.cn

Provides details for a specific task definitionspring-doc.cn

tasks/validationspring-doc.cn

Provides the validation for a task definitionspring-doc.cn

tasks/executionsspring-doc.cn

Returns Task executions and allows launching of tasksspring-doc.cn

tasks/executions/currentspring-doc.cn

Provides the current count of running tasksspring-doc.cn

tasks/info/executionsspring-doc.cn

Provides the task executions infospring-doc.cn

tasks/schedulesspring-doc.cn

Provides schedule information of tasksspring-doc.cn

tasks/schedules/instancesspring-doc.cn

Provides schedule information of a specific taskspring-doc.cn

tasks/executions/namespring-doc.cn

Returns all task executions for a given Task namespring-doc.cn

tasks/executions/executionspring-doc.cn

Provides details for a specific task executionspring-doc.cn

tasks/platformsspring-doc.cn

Provides platform accounts for launching tasks. The results can be filtered to show the platforms that support scheduling by adding a request parameter of 'schedulesEnabled=truespring-doc.cn

tasks/logsspring-doc.cn

Retrieve the task application logspring-doc.cn

streams/definitionsspring-doc.cn

Exposes the Streams resourcespring-doc.cn

streams/definitions/definitionspring-doc.cn

Handle a specific Stream definitionspring-doc.cn

streams/validationspring-doc.cn

Provides the validation for a stream definitionspring-doc.cn

streams/deploymentsspring-doc.cn

Provides Stream deployment operationsspring-doc.cn

streams/deployments/{name}spring-doc.cn

Request deployment info for a stream definitionspring-doc.cn

streams/deployments/{name}{?reuse-deployment-properties}spring-doc.cn

Request deployment info for a stream definitionspring-doc.cn

streams/deployments/deploymentspring-doc.cn

Request (un-)deployment of an existing stream definitionspring-doc.cn

streams/deployments/manifest/{name}/{version}spring-doc.cn

Return a manifest info of a release versionspring-doc.cn

streams/deployments/history/{name}spring-doc.cn

Get stream’s deployment history as list or Releases for this releasespring-doc.cn

streams/deployments/rollback/{name}/{version}spring-doc.cn

Rollback the stream to the previous or a specific version of the streamspring-doc.cn

streams/deployments/update/{name}spring-doc.cn

Update the stream.spring-doc.cn

streams/deployments/platform/listspring-doc.cn

List of supported deployment platformsspring-doc.cn

streams/deployments/scale/{streamName}/{appName}/instances/{count}spring-doc.cn

Scale up or down number of application instances for a selected streamspring-doc.cn

streams/logsspring-doc.cn

Retrieve application logs of the streamspring-doc.cn

streams/logs/{streamName}spring-doc.cn

Retrieve application logs of the streamspring-doc.cn

streams/logs/{streamName}/{appName}spring-doc.cn

Retrieve a specific application log of the streamspring-doc.cn

tools/parseTaskTextToGraphspring-doc.cn

Parse a task definition into a graph structurespring-doc.cn

tools/convertTaskGraphToTextspring-doc.cn

Convert a graph format into DSL text formatspring-doc.cn

42.2. Server Meta Information

The server meta information endpoint provides more information about the server itself. The following topics provide more details:spring-doc.cn

42.2.1. Retrieving information about the server

A GET request returns meta information for Spring Cloud Data Flow, including:spring-doc.cn

Request Structure
GET /about HTTP/1.1
Accept: application/json
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/about' -i -X GET \
    -H 'Accept: application/json'
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2696

{
  "featureInfo" : {
    "analyticsEnabled" : true,
    "streamsEnabled" : true,
    "tasksEnabled" : true,
    "schedulesEnabled" : true,
    "monitoringDashboardType" : "NONE"
  },
  "versionInfo" : {
    "implementation" : {
      "name" : "${info.app.name}",
      "version" : "${info.app.version}"
    },
    "core" : {
      "name" : "Spring Cloud Data Flow Core",
      "version" : "2.10.4-SNAPSHOT"
    },
    "dashboard" : {
      "name" : "Spring Cloud Dataflow UI",
      "version" : "3.3.4-SNAPSHOT"
    },
    "shell" : {
      "name" : "Spring Cloud Data Flow Shell",
      "version" : "2.10.4-SNAPSHOT",
      "url" : "https://repo.spring.io/snapshot/org/springframework/cloud/spring-cloud-dataflow-shell/2.10.4-SNAPSHOT/spring-cloud-dataflow-shell-2.10.4-SNAPSHOT.jar"
    }
  },
  "securityInfo" : {
    "authenticationEnabled" : false,
    "authenticated" : false,
    "username" : null,
    "roles" : [ ]
  },
  "runtimeEnvironment" : {
    "appDeployer" : {
      "deployerImplementationVersion" : "Test Version",
      "deployerName" : "Test Server",
      "deployerSpiVersion" : "2.9.4-SNAPSHOT",
      "javaVersion" : "1.8.0_372",
      "platformApiVersion" : "",
      "platformClientVersion" : "",
      "platformHostVersion" : "",
      "platformSpecificInfo" : {
        "default" : "local"
      },
      "platformType" : "Skipper Managed",
      "springBootVersion" : "2.7.13",
      "springVersion" : "5.3.28"
    },
    "taskLaunchers" : [ {
      "deployerImplementationVersion" : "2.8.4-SNAPSHOT",
      "deployerName" : "LocalTaskLauncher",
      "deployerSpiVersion" : "2.8.4-SNAPSHOT",
      "javaVersion" : "1.8.0_372",
      "platformApiVersion" : "Linux 5.15.0-1041-azure",
      "platformClientVersion" : "5.15.0-1041-azure",
      "platformHostVersion" : "5.15.0-1041-azure",
      "platformSpecificInfo" : { },
      "platformType" : "Local",
      "springBootVersion" : "2.7.13",
      "springVersion" : "5.3.28"
    }, {
      "deployerImplementationVersion" : "2.8.4-SNAPSHOT",
      "deployerName" : "LocalTaskLauncher",
      "deployerSpiVersion" : "2.8.4-SNAPSHOT",
      "javaVersion" : "1.8.0_372",
      "platformApiVersion" : "Linux 5.15.0-1041-azure",
      "platformClientVersion" : "5.15.0-1041-azure",
      "platformHostVersion" : "5.15.0-1041-azure",
      "platformSpecificInfo" : { },
      "platformType" : "Local",
      "springBootVersion" : "2.7.13",
      "springVersion" : "5.3.28"
    } ]
  },
  "monitoringDashboardInfo" : {
    "url" : "",
    "refreshInterval" : 15,
    "dashboardType" : "NONE",
    "source" : "default-scdf-source"
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/about"
    }
  }
}

42.3. Registered Applications

The registered applications endpoint provides information about the applications that are registered with the Spring Cloud Data Flow server. The following topics provide more details:spring-doc.cn

42.3.1. Listing Applications

A GET request lists all of the applications known to Spring Cloud Data Flow. The following topics provide more details:spring-doc.cn

Request Structure
GET /apps?search=&type=source&defaultVersion=true&page=0&size=10&sort=name%2CASC HTTP/1.1
Accept: application/json
Host: localhost:9393
Request Parameters
Parameter Description

searchspring-doc.cn

The search string performed on the name (optional)spring-doc.cn

typespring-doc.cn

Restrict the returned apps to the type of the app. One of [app, source, processor, sink, task]spring-doc.cn

defaultVersionspring-doc.cn

The boolean flag to set to retrieve only the apps of the default versions (optional)spring-doc.cn

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sortspring-doc.cn

The sort on the list (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/apps?search=&type=source&defaultVersion=true&page=0&size=10&sort=name%2CASC' -i -X GET \
    -H 'Accept: application/json'
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1097

{
  "_embedded" : {
    "appRegistrationResourceList" : [ {
      "name" : "http",
      "type" : "source",
      "uri" : "maven://org.springframework.cloud.stream.app:http-source-rabbit:1.2.0.RELEASE",
      "version" : "1.2.0.RELEASE",
      "defaultVersion" : true,
      "versions" : [ "1.2.0.RELEASE" ],
      "label" : null,
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/apps/source/http/1.2.0.RELEASE"
        }
      }
    }, {
      "name" : "time",
      "type" : "source",
      "uri" : "maven://org.springframework.cloud.stream.app:time-source-rabbit:1.2.0.RELEASE",
      "version" : "1.2.0.RELEASE",
      "defaultVersion" : true,
      "versions" : [ "1.2.0.RELEASE" ],
      "label" : null,
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/apps/source/time/1.2.0.RELEASE"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/apps?page=0&size=10&sort=name,asc"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

42.3.2. Getting Information on a Particular Application

A GET request on /apps/<type>/<name> gets info on a particular application. The following topics provide more details:spring-doc.cn

Request Structure
GET /apps/source/http?exhaustive=false HTTP/1.1
Accept: application/json
Host: localhost:9393
Request Parameters
Parameter Description

exhaustivespring-doc.cn

Return all application properties, including common Spring Boot propertiesspring-doc.cn

Path Parameters

/apps/{type}/{name}spring-doc.cn

Parameter Description

typespring-doc.cn

The type of application to query. One of [app, source, processor, sink, task]spring-doc.cn

namespring-doc.cn

The name of the application to queryspring-doc.cn

Example Request
$ curl 'http://localhost:9393/apps/source/http?exhaustive=false' -i -X GET \
    -H 'Accept: application/json'
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2100

{
  "name" : "http",
  "type" : "source",
  "uri" : "maven://org.springframework.cloud.stream.app:http-source-rabbit:1.2.0.RELEASE",
  "version" : "1.2.0.RELEASE",
  "defaultVersion" : true,
  "versions" : null,
  "label" : null,
  "options" : [ {
    "id" : "http.path-pattern",
    "name" : "path-pattern",
    "type" : "java.lang.String",
    "description" : "An Ant-Style pattern to determine which http requests will be captured.",
    "shortDescription" : "An Ant-Style pattern to determine which http requests will be captured.",
    "defaultValue" : "/",
    "hints" : {
      "keyHints" : [ ],
      "keyProviders" : [ ],
      "valueHints" : [ ],
      "valueProviders" : [ ]
    },
    "deprecation" : null,
    "deprecated" : false
  }, {
    "id" : "http.mapped-request-headers",
    "name" : "mapped-request-headers",
    "type" : "java.lang.String[]",
    "description" : "Headers that will be mapped.",
    "shortDescription" : "Headers that will be mapped.",
    "defaultValue" : null,
    "hints" : {
      "keyHints" : [ ],
      "keyProviders" : [ ],
      "valueHints" : [ ],
      "valueProviders" : [ ]
    },
    "deprecation" : null,
    "deprecated" : false
  }, {
    "id" : "http.secured",
    "name" : "secured",
    "type" : "java.lang.Boolean",
    "description" : "Secure or not HTTP source path.",
    "shortDescription" : "Secure or not HTTP source path.",
    "defaultValue" : false,
    "hints" : {
      "keyHints" : [ ],
      "keyProviders" : [ ],
      "valueHints" : [ ],
      "valueProviders" : [ ]
    },
    "deprecation" : null,
    "deprecated" : false
  }, {
    "id" : "server.port",
    "name" : "port",
    "type" : "java.lang.Integer",
    "description" : "Server HTTP port.",
    "shortDescription" : "Server HTTP port.",
    "defaultValue" : null,
    "hints" : {
      "keyHints" : [ ],
      "keyProviders" : [ ],
      "valueHints" : [ ],
      "valueProviders" : [ ]
    },
    "deprecation" : null,
    "deprecated" : false
  } ],
  "shortDescription" : null,
  "inboundPortNames" : [ ],
  "outboundPortNames" : [ ],
  "optionGroups" : { }
}

42.3.3. Registering a New Application

A POST request on /apps/<type>/<name> allows registration of a new application. The following topics provide more details:spring-doc.cn

Request Structure
POST /apps/source/http HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

uri=maven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE
Request Parameters
Parameter Description

urispring-doc.cn

URI where the application bits residespring-doc.cn

metadata-urispring-doc.cn

URI where the application metadata jar can be foundspring-doc.cn

forcespring-doc.cn

Must be true if a registration with the same name and type already exists, otherwise an error will occurspring-doc.cn

Path Parameters

/apps/{type}/{name}spring-doc.cn

Parameter Description

typespring-doc.cn

The type of application to register. One of [app, source, processor, sink, task]spring-doc.cn

namespring-doc.cn

The name of the application to registerspring-doc.cn

Example Request
$ curl 'http://localhost:9393/apps/source/http' -i -X POST \
    -d 'uri=maven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE'
Response Structure
HTTP/1.1 201 Created

42.3.4. Registering a New Application with version

A POST request on /apps/<type>/<name>/<version> allows registration of a new application. The following topics provide more details:spring-doc.cn

Request Structure
POST /apps/source/http/1.1.0.RELEASE HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

uri=maven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE
Request Parameters
Parameter Description

urispring-doc.cn

URI where the application bits residespring-doc.cn

metadata-urispring-doc.cn

URI where the application metadata jar can be foundspring-doc.cn

forcespring-doc.cn

Must be true if a registration with the same name and type already exists, otherwise an error will occurspring-doc.cn

Path Parameters

/apps/{type}/{name}/{version:.+}spring-doc.cn

Parameter Description

typespring-doc.cn

The type of application to register. One of [app, source, processor, sink, task] (optional)spring-doc.cn

namespring-doc.cn

The name of the application to registerspring-doc.cn

versionspring-doc.cn

The version of the application to registerspring-doc.cn

Example Request
$ curl 'http://localhost:9393/apps/source/http/1.1.0.RELEASE' -i -X POST \
    -d 'uri=maven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE'
Response Structure
HTTP/1.1 201 Created

42.3.5. Registering Applications in Bulk

A POST request on /apps allows registering multiple applications at once. The following topics provide more details:spring-doc.cn

Request Structure
POST /apps HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

apps=source.http%3Dmaven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE&force=false
Request Parameters
Parameter Description

urispring-doc.cn

URI where a properties file containing registrations can be fetched. Exclusive with apps.spring-doc.cn

appsspring-doc.cn

Inline set of registrations. Exclusive with uri.spring-doc.cn

forcespring-doc.cn

Must be true if a registration with the same name and type already exists, otherwise an error will occurspring-doc.cn

Example Request
$ curl 'http://localhost:9393/apps' -i -X POST \
    -d 'apps=source.http%3Dmaven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE&force=false'
Response Structure
HTTP/1.1 201 Created
Content-Type: application/hal+json
Content-Length: 658

{
  "_embedded" : {
    "appRegistrationResourceList" : [ {
      "name" : "http",
      "type" : "source",
      "uri" : "maven://org.springframework.cloud.stream.app:http-source-rabbit:1.1.0.RELEASE",
      "version" : "1.1.0.RELEASE",
      "defaultVersion" : true,
      "versions" : null,
      "label" : null,
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/apps/source/http/1.1.0.RELEASE"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/apps?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.3.6. Set the Default Application Version

For an application with the same name and type, you can register multiple versions. In this case, you can choose one of the versions as the default application.spring-doc.cn

The following topics provide more details:spring-doc.cn

Request Structure
PUT /apps/source/http/1.2.0.RELEASE HTTP/1.1
Accept: application/json
Host: localhost:9393
Path Parameters

/apps/{type}/{name}/{version:.+}spring-doc.cn

Parameter Description

typespring-doc.cn

The type of application. One of [app, source, processor, sink, task]spring-doc.cn

namespring-doc.cn

The name of the applicationspring-doc.cn

versionspring-doc.cn

The version of the applicationspring-doc.cn

Example Request
$ curl 'http://localhost:9393/apps/source/http/1.2.0.RELEASE' -i -X PUT \
    -H 'Accept: application/json'
Response Structure
HTTP/1.1 202 Accepted

42.3.7. Unregistering an Application

A DELETE request on /apps/<type>/<name> unregisters a previously registered application. The following topics provide more details:spring-doc.cn

Request Structure
DELETE /apps/source/http/1.2.0.RELEASE HTTP/1.1
Host: localhost:9393
Path Parameters

/apps/{type}/{name}/{version}spring-doc.cn

Parameter Description

typespring-doc.cn

The type of application to unregister. One of [app, source, processor, sink, task]spring-doc.cn

namespring-doc.cn

The name of the application to unregisterspring-doc.cn

versionspring-doc.cn

The version of the application to unregister (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/apps/source/http/1.2.0.RELEASE' -i -X DELETE
Response Structure
HTTP/1.1 200 OK

42.3.8. Unregistering all Applications

A DELETE request on /apps unregisters all the applications. The following topics provide more details:spring-doc.cn

Request Structure
DELETE /apps HTTP/1.1
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/apps' -i -X DELETE
Response Structure
HTTP/1.1 200 OK

42.4. Audit Records

The audit records endpoint provides information about the audit records. The following topics provide more details:spring-doc.cn

42.4.1. List All Audit Records

The audit records endpoint lets you retrieve audit trail information.spring-doc.cn

The following topics provide more details:spring-doc.cn

Request Structure
GET /audit-records?page=0&size=10&operations=STREAM&actions=CREATE&fromDate=2000-01-01T00%3A00%3A00&toDate=2099-01-01T00%3A00%3A00 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

operationsspring-doc.cn

Comma-separated list of Audit Operations (optional)spring-doc.cn

actionsspring-doc.cn

Comma-separated list of Audit Actions (optional)spring-doc.cn

fromDatespring-doc.cn

From date filter (ex.: 2019-02-03T00:00:30) (optional)spring-doc.cn

toDatespring-doc.cn

To date filter (ex.: 2019-02-03T00:00:30) (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/audit-records?page=0&size=10&operations=STREAM&actions=CREATE&fromDate=2000-01-01T00%3A00%3A00&toDate=2099-01-01T00%3A00%3A00' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 680

{
  "_embedded" : {
    "auditRecordResourceList" : [ {
      "auditRecordId" : 5,
      "createdBy" : null,
      "correlationId" : "timelog",
      "auditData" : "time --format='YYYY MM DD' | log",
      "createdOn" : "2023-07-12T03:28:10.285Z",
      "auditAction" : "CREATE",
      "auditOperation" : "STREAM",
      "platformName" : null,
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/audit-records/5"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/audit-records?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.4.2. Retrieve Audit Record Detail

The audit record endpoint lets you get a single audit record. The following topics provide more details:spring-doc.cn

Request Structure
GET /audit-records/5 HTTP/1.1
Host: localhost:9393
Path Parameters

/audit-records/{id}spring-doc.cn

Parameter Description

idspring-doc.cn

The id of the audit record to query (required)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/audit-records/5' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 354

{
  "auditRecordId" : 5,
  "createdBy" : null,
  "correlationId" : "timelog",
  "auditData" : "time --format='YYYY MM DD' | log",
  "createdOn" : "2023-07-12T03:28:10.285Z",
  "auditAction" : "CREATE",
  "auditOperation" : "STREAM",
  "platformName" : null,
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/audit-records/5"
    }
  }
}

42.4.3. List all the Audit Action Types

The audit record endpoint lets you get the action types. The following topics provide more details:spring-doc.cn

Request Structure
GET /audit-records/audit-action-types HTTP/1.1
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/audit-records/audit-action-types' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1111

[ {
  "id" : 100,
  "name" : "Create",
  "description" : "Create an Entity",
  "nameWithDescription" : "Create (Create an Entity)",
  "key" : "CREATE"
}, {
  "id" : 200,
  "name" : "Delete",
  "description" : "Delete an Entity",
  "nameWithDescription" : "Delete (Delete an Entity)",
  "key" : "DELETE"
}, {
  "id" : 300,
  "name" : "Deploy",
  "description" : "Deploy an Entity",
  "nameWithDescription" : "Deploy (Deploy an Entity)",
  "key" : "DEPLOY"
}, {
  "id" : 400,
  "name" : "Rollback",
  "description" : "Rollback an Entity",
  "nameWithDescription" : "Rollback (Rollback an Entity)",
  "key" : "ROLLBACK"
}, {
  "id" : 500,
  "name" : "Undeploy",
  "description" : "Undeploy an Entity",
  "nameWithDescription" : "Undeploy (Undeploy an Entity)",
  "key" : "UNDEPLOY"
}, {
  "id" : 600,
  "name" : "Update",
  "description" : "Update an Entity",
  "nameWithDescription" : "Update (Update an Entity)",
  "key" : "UPDATE"
}, {
  "id" : 700,
  "name" : "SuccessfulLogin",
  "description" : "Successful login",
  "nameWithDescription" : "SuccessfulLogin (Successful login)",
  "key" : "LOGIN_SUCCESS"
} ]

42.4.4. List all the Audit Operation Types

The audit record endpoint lets you get the operation types. The following topics provide more details:spring-doc.cn

Request Structure
GET /audit-records/audit-operation-types HTTP/1.1
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/audit-records/audit-operation-types' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 315

[ {
  "id" : 100,
  "name" : "App Registration",
  "key" : "APP_REGISTRATION"
}, {
  "id" : 200,
  "name" : "Schedule",
  "key" : "SCHEDULE"
}, {
  "id" : 300,
  "name" : "Stream",
  "key" : "STREAM"
}, {
  "id" : 400,
  "name" : "Task",
  "key" : "TASK"
}, {
  "id" : 500,
  "name" : "Login",
  "key" : "LOGIN"
} ]

42.5. Stream Definitions

The registered applications endpoint provides information about the stream definitions that are registered with the Spring Cloud Data Flow server. The following topics provide more details:spring-doc.cn

42.5.1. Creating a New Stream Definition

Creating a stream definition is achieved by creating a POST request to the stream definitions endpoint. A curl request for a ticktock stream might resemble the following:spring-doc.cn

curl -X POST -d "name=ticktock&definition=time | log" localhost:9393/streams/definitions?deploy=false

A stream definition can also contain additional parameters. For instance, in the example shown under “Request Structure”, we also provide the date-time format.spring-doc.cn

The following topics provide more details:spring-doc.cn

Request Structure
POST /streams/definitions HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

name=timelog&definition=time+--format%3D%27YYYY+MM+DD%27+%7C+log&description=Demo+stream+for+testing&deploy=false
Request Parameters
Parameter Description

namespring-doc.cn

The name for the created task definitionsspring-doc.cn

definitionspring-doc.cn

The definition for the stream, using Data Flow DSLspring-doc.cn

descriptionspring-doc.cn

The description of the stream definitionspring-doc.cn

deployspring-doc.cn

If true, the stream is deployed upon creation (default is false)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/definitions' -i -X POST \
    -d 'name=timelog&definition=time+--format%3D%27YYYY+MM+DD%27+%7C+log&description=Demo+stream+for+testing&deploy=false'
Response Structure
HTTP/1.1 201 Created
Content-Type: application/hal+json
Content-Length: 410

{
  "name" : "timelog",
  "dslText" : "time --format='YYYY MM DD' | log",
  "originalDslText" : "time --format='YYYY MM DD' | log",
  "status" : "undeployed",
  "description" : "Demo stream for testing",
  "statusDescription" : "The app or group is known to the system, but is not currently deployed",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/streams/definitions/timelog"
    }
  }
}

42.5.2. List All Stream Definitions

The streams endpoint lets you list all the stream definitions. The following topics provide more details:spring-doc.cn

Request Structure
GET /streams/definitions?page=0&sort=name%2CASC&search=&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

searchspring-doc.cn

The search string performed on the name (optional)spring-doc.cn

sortspring-doc.cn

The sort on the list (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/definitions?page=0&sort=name%2CASC&search=&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1160

{
  "_embedded" : {
    "streamDefinitionResourceList" : [ {
      "name" : "mysamplestream",
      "dslText" : "time | log",
      "originalDslText" : "time | log",
      "status" : "undeployed",
      "description" : "",
      "statusDescription" : "The app or group is known to the system, but is not currently deployed",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/streams/definitions/mysamplestream"
        }
      }
    }, {
      "name" : "timelog",
      "dslText" : "time --format='YYYY MM DD' | log",
      "originalDslText" : "time --format='YYYY MM DD' | log",
      "status" : "undeployed",
      "description" : "Demo stream for testing",
      "statusDescription" : "The app or group is known to the system, but is not currently deployed",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/streams/definitions/timelog"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/streams/definitions?page=0&size=10&sort=name,asc"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

The streams endpoint lets you list related stream definitions. The following topics provide more details:spring-doc.cn

GET /streams/definitions/timelog/related?page=0&sort=name%2CASC&search=&size=10&nested=true HTTP/1.1
Host: localhost:9393
Parameter Description

nestedspring-doc.cn

Should we recursively findByTaskNameContains for related stream definitions (optional)spring-doc.cn

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

searchspring-doc.cn

The search string performed on the name (optional)spring-doc.cn

sortspring-doc.cn

The sort on the list (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

$ curl 'http://localhost:9393/streams/definitions/timelog/related?page=0&sort=name%2CASC&search=&size=10&nested=true' -i -X GET
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 769

{
  "_embedded" : {
    "streamDefinitionResourceList" : [ {
      "name" : "timelog",
      "dslText" : "time --format='YYYY MM DD' | log",
      "originalDslText" : "time --format='YYYY MM DD' | log",
      "status" : "undeployed",
      "description" : "Demo stream for testing",
      "statusDescription" : "The app or group is known to the system, but is not currently deployed",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/streams/definitions/timelog"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/streams/definitions/timelog/related?page=0&size=10&sort=name,asc"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.5.4. Retrieve Stream Definition Detail

The stream definition endpoint lets you get a single stream definition. The following topics provide more details:spring-doc.cn

Request Structure
GET /streams/definitions/timelog HTTP/1.1
Host: localhost:9393
Path Parameters

/streams/definitions/{name}spring-doc.cn

Parameter Description

namespring-doc.cn

The name of the stream definition to query (required)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/definitions/timelog' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 410

{
  "name" : "timelog",
  "dslText" : "time --format='YYYY MM DD' | log",
  "originalDslText" : "time --format='YYYY MM DD' | log",
  "status" : "undeployed",
  "description" : "Demo stream for testing",
  "statusDescription" : "The app or group is known to the system, but is not currently deployed",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/streams/definitions/timelog"
    }
  }
}

42.5.5. Delete a Single Stream Definition

The streams endpoint lets you delete a single stream definition. (See also: Delete All Stream Definitions.) The following topics provide more details:spring-doc.cn

Request Structure
DELETE /streams/definitions/timelog HTTP/1.1
Host: localhost:9393
Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/definitions/timelog' -i -X DELETE
Response Structure
HTTP/1.1 200 OK

42.5.6. Delete All Stream Definitions

The streams endpoint lets you delete all single stream definitions. (See also: Delete a Single Stream Definition.) The following topics provide more details:spring-doc.cn

Request Structure
DELETE /streams/definitions HTTP/1.1
Host: localhost:9393
Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/definitions' -i -X DELETE
Response Structure
HTTP/1.1 200 OK

42.6. Stream Validation

The stream validation endpoint lets you validate the apps in a stream definition. The following topics provide more details:spring-doc.cn

42.6.1. Request Structure

GET /streams/validation/timelog HTTP/1.1
Host: localhost:9393

42.6.2. Path Parameters

/streams/validation/{name}spring-doc.cn

Parameter Description

namespring-doc.cn

The name of a stream definition to be validated (required)spring-doc.cn

42.6.3. Example Request

$ curl 'http://localhost:9393/streams/validation/timelog' -i -X GET

42.6.4. Response Structure

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 197

{
  "appName" : "timelog",
  "dsl" : "time --format='YYYY MM DD' | log",
  "description" : "Demo stream for testing",
  "appStatuses" : {
    "source:time" : "valid",
    "sink:log" : "valid"
  }
}

42.7. Stream Deployments

The deployment definitions endpoint provides information about the deployments that are registered with the Spring Cloud Data Flow server. The following topics provide more details:spring-doc.cn

42.7.1. Deploying Stream Definition

The stream definition endpoint lets you deploy a single stream definition. Optionally, you can pass application parameters as properties in the request body. The following topics provide more details:spring-doc.cn

Request Structure
POST /streams/deployments/timelog HTTP/1.1
Content-Type: application/json
Content-Length: 36
Host: localhost:9393

{"app.time.timestamp.format":"YYYY"}

/streams/deployments/{timelog}spring-doc.cn

Parameter Description

timelogspring-doc.cn

The name of an existing stream definition (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/deployments/timelog' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{"app.time.timestamp.format":"YYYY"}'
Response Structure
HTTP/1.1 201 Created

42.7.2. Undeploy Stream Definition

The stream definition endpoint lets you undeploy a single stream definition. The following topics provide more details:spring-doc.cn

Request Structure
DELETE /streams/deployments/timelog HTTP/1.1
Host: localhost:9393

/streams/deployments/{timelog}spring-doc.cn

Parameter Description

timelogspring-doc.cn

The name of an existing stream definition (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/deployments/timelog' -i -X DELETE
Response Structure
HTTP/1.1 200 OK

42.7.3. Undeploy All Stream Definitions

The stream definition endpoint lets you undeploy all single stream definitions. The following topics provide more details:spring-doc.cn

Request Structure
DELETE /streams/deployments HTTP/1.1
Host: localhost:9393
Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/deployments' -i -X DELETE
Response Structure
HTTP/1.1 200 OK

42.7.4. Update Deployed Stream

Thanks to Skipper, you can update deployed streams, and provide additional deployment properties.spring-doc.cn

Request Structure
POST /streams/deployments/update/timelog1 HTTP/1.1
Content-Type: application/json
Content-Length: 196
Host: localhost:9393

{"releaseName":"timelog1","packageIdentifier":{"repositoryName":"test","packageName":"timelog1","packageVersion":"1.0.0"},"updateProperties":{"app.time.timestamp.format":"YYYYMMDD"},"force":false}

/streams/deployments/update/{timelog1}spring-doc.cn

Parameter Description

timelog1spring-doc.cn

The name of an existing stream definition (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/deployments/update/timelog1' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{"releaseName":"timelog1","packageIdentifier":{"repositoryName":"test","packageName":"timelog1","packageVersion":"1.0.0"},"updateProperties":{"app.time.timestamp.format":"YYYYMMDD"},"force":false}'
Response Structure
HTTP/1.1 201 Created

42.7.5. Rollback Stream Definition

Rollback the stream to the previous or a specific version of the stream.spring-doc.cn

Request Structure
POST /streams/deployments/rollback/timelog1/1 HTTP/1.1
Content-Type: application/json
Host: localhost:9393

/streams/deployments/rollback/{name}/{version}spring-doc.cn

Parameter Description

namespring-doc.cn

The name of an existing stream definition (required)spring-doc.cn

versionspring-doc.cn

The version to rollback tospring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/deployments/rollback/timelog1/1' -i -X POST \
    -H 'Content-Type: application/json'
Response Structure
HTTP/1.1 201 Created

42.7.6. Get Manifest

Return a manifest of a released version. For packages with dependencies, the manifest includes the contents of those dependencies.spring-doc.cn

Request Structure
GET /streams/deployments/manifest/timelog1/1 HTTP/1.1
Content-Type: application/json
Host: localhost:9393

/streams/deployments/manifest/{name}/{version}spring-doc.cn

Parameter Description

namespring-doc.cn

The name of an existing stream definition (required)spring-doc.cn

versionspring-doc.cn

The version of the streamspring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/deployments/manifest/timelog1/1' -i -X GET \
    -H 'Content-Type: application/json'
Response Structure
HTTP/1.1 200 OK

42.7.7. Get Deployment History

Get the stream’s deployment history.spring-doc.cn

Request Structure
GET /streams/deployments/history/timelog1 HTTP/1.1
Content-Type: application/json
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/streams/deployments/history/timelog1' -i -X GET \
    -H 'Content-Type: application/json'
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 162

[ {
  "name" : null,
  "version" : 0,
  "info" : null,
  "pkg" : null,
  "configValues" : {
    "raw" : null
  },
  "manifest" : null,
  "platformName" : null
} ]

42.7.8. Get Deployment Platforms

Retrieve a list of supported deployment platforms.spring-doc.cn

Request Structure
GET /streams/deployments/platform/list HTTP/1.1
Content-Type: application/json
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/streams/deployments/platform/list' -i -X GET \
    -H 'Content-Type: application/json'
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 106

[ {
  "id" : null,
  "name" : "default",
  "type" : "local",
  "description" : null,
  "options" : [ ]
} ]

42.7.9. Scale Stream Definition

The stream definition endpoint lets you scale a single app in a stream definition. Optionally, you can pass application parameters as properties in the request body. The following topics provide more details:spring-doc.cn

Request Structure
POST /streams/deployments/scale/timelog/log/instances/1 HTTP/1.1
Content-Type: application/json
Content-Length: 36
Host: localhost:9393

{"app.time.timestamp.format":"YYYY"}

/streams/deployments/scale/{streamName}/{appName}/instances/{count}spring-doc.cn

Parameter Description

streamNamespring-doc.cn

the name of an existing stream definition (required)spring-doc.cn

appNamespring-doc.cn

in stream application name to scalespring-doc.cn

countspring-doc.cn

number of instances for the selected stream application (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/streams/deployments/scale/timelog/log/instances/1' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{"app.time.timestamp.format":"YYYY"}'
Response Structure
HTTP/1.1 201 Created

42.8. Task Definitions

The task definitions endpoint provides information about the task definitions that are registered with the Spring Cloud Data Flow server. The following topics provide more details:spring-doc.cn

42.8.1. Creating a New Task Definition

The task definition endpoint lets you create a new task definition. The following topics provide more details:spring-doc.cn

Request Structure
POST /tasks/definitions HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

name=my-task&definition=timestamp+--format%3D%27YYYY+MM+DD%27&description=Demo+task+definition+for+testing
Request Parameters
Parameter Description

namespring-doc.cn

The name for the created task definitionspring-doc.cn

definitionspring-doc.cn

The definition for the task, using Data Flow DSLspring-doc.cn

descriptionspring-doc.cn

The description of the task definitionspring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/definitions' -i -X POST \
    -d 'name=my-task&definition=timestamp+--format%3D%27YYYY+MM+DD%27&description=Demo+task+definition+for+testing'
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 342

{
  "name" : "my-task",
  "dslText" : "timestamp --format='YYYY MM DD'",
  "description" : "Demo task definition for testing",
  "composed" : false,
  "composedTaskElement" : false,
  "lastTaskExecution" : null,
  "status" : "UNKNOWN",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/definitions/my-task"
    }
  }
}

42.8.2. List All Task Definitions

The task definition endpoint lets you get all task definitions. The following topics provide more details:spring-doc.cn

Request Structure
GET /tasks/definitions?page=0&size=10&sort=taskName%2CASC&search=&manifest=true HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

searchspring-doc.cn

The search string performed on the name (optional)spring-doc.cn

sortspring-doc.cn

The sort on the list (optional)spring-doc.cn

manifestspring-doc.cn

The flag to include the task manifest into the latest task execution (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/definitions?page=0&size=10&sort=taskName%2CASC&search=&manifest=true' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 689

{
  "_embedded" : {
    "taskDefinitionResourceList" : [ {
      "name" : "my-task",
      "dslText" : "timestamp --format='YYYY MM DD'",
      "description" : "Demo task definition for testing",
      "composed" : false,
      "composedTaskElement" : false,
      "lastTaskExecution" : null,
      "status" : "UNKNOWN",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/tasks/definitions/my-task"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/definitions?page=0&size=10&sort=taskName,asc"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.8.3. Retrieve Task Definition Detail

The task definition endpoint lets you get a single task definition. The following topics provide more details:spring-doc.cn

Request Structure
GET /tasks/definitions/my-task?manifest=true HTTP/1.1
Host: localhost:9393

/tasks/definitions/{my-task}spring-doc.cn

Parameter Description

my-taskspring-doc.cn

The name of an existing task definition (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/definitions/my-task?manifest=true' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 342

{
  "name" : "my-task",
  "dslText" : "timestamp --format='YYYY MM DD'",
  "description" : "Demo task definition for testing",
  "composed" : false,
  "composedTaskElement" : false,
  "lastTaskExecution" : null,
  "status" : "UNKNOWN",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/definitions/my-task"
    }
  }
}

42.8.4. Delete Task Definition

The task definition endpoint lets you delete a single task definition. The following topics provide more details:spring-doc.cn

Request Structure
DELETE /tasks/definitions/my-task?cleanup=true HTTP/1.1
Host: localhost:9393

/tasks/definitions/{my-task}spring-doc.cn

Parameter Description

my-taskspring-doc.cn

The name of an existing task definition (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/definitions/my-task?cleanup=true' -i -X DELETE
Response Structure
HTTP/1.1 200 OK

42.9. Task Scheduler

The task scheduler endpoint provides information about the task schedules that are registered with the Scheduler Implementation. The following topics provide more details:spring-doc.cn

42.9.1. Creating a New Task Schedule

The task schedule endpoint lets you create a new task schedule. The following topics provide more details:spring-doc.cn

Request Structure
POST /tasks/schedules HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

scheduleName=myschedule&taskDefinitionName=mytaskname&platform=default&properties=scheduler.cron.expression%3D00+22+17+%3F+*&arguments=--foo%3Dbar
Request Parameters
Parameter Description

scheduleNamespring-doc.cn

The name for the created schedulespring-doc.cn

platformspring-doc.cn

The name of the platform the task is launchedspring-doc.cn

taskDefinitionNamespring-doc.cn

The name of the task definition to be scheduledspring-doc.cn

propertiesspring-doc.cn

the properties that are required to schedule and launch the taskspring-doc.cn

argumentsspring-doc.cn

the command line arguments to be used for launching the taskspring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/schedules' -i -X POST \
    -d 'scheduleName=myschedule&taskDefinitionName=mytaskname&platform=default&properties=scheduler.cron.expression%3D00+22+17+%3F+*&arguments=--foo%3Dbar'
Response Structure
HTTP/1.1 201 Created

42.9.2. List All Schedules

The task schedules endpoint lets you get all task schedules. The following topics provide more details:spring-doc.cn

Request Structure
GET /tasks/schedules?page=0&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/schedules?page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 587

{
  "_embedded" : {
    "scheduleInfoResourceList" : [ {
      "scheduleName" : "FOO",
      "taskDefinitionName" : "BAR",
      "scheduleProperties" : {
        "scheduler.AAA.spring.cloud.scheduler.cron.expression" : "00 41 17 ? * *"
      },
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/tasks/schedules/FOO"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/schedules?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.9.3. List Filtered Schedules

The task schedules endpoint lets you get all task schedules that have the specified task definition name. The following topics provide more details:spring-doc.cn

Request Structure
GET /tasks/schedules/instances/FOO?page=0&size=10 HTTP/1.1
Host: localhost:9393

/tasks/schedules/instances/{task-definition-name}spring-doc.cn

Parameter Description

task-definition-namespring-doc.cn

Filter schedules based on the specified task definition (required)spring-doc.cn

Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/schedules/instances/FOO?page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 599

{
  "_embedded" : {
    "scheduleInfoResourceList" : [ {
      "scheduleName" : "FOO",
      "taskDefinitionName" : "BAR",
      "scheduleProperties" : {
        "scheduler.AAA.spring.cloud.scheduler.cron.expression" : "00 41 17 ? * *"
      },
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/tasks/schedules/FOO"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/schedules/instances/FOO?page=0&size=1"
    }
  },
  "page" : {
    "size" : 1,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.9.4. Delete Task Schedule

The task schedule endpoint lets you delete a single task schedule. The following topics provide more details:spring-doc.cn

Request Structure
DELETE /tasks/schedules/mytestschedule HTTP/1.1
Host: localhost:9393

/tasks/schedules/{scheduleName}spring-doc.cn

Parameter Description

scheduleNamespring-doc.cn

The name of an existing schedule (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/schedules/mytestschedule' -i -X DELETE
Response Structure
HTTP/1.1 200 OK

42.10. Task Validation

The task validation endpoint lets you validate the apps in a task definition. The following topics provide more details:spring-doc.cn

42.10.1. Request Structure

GET /tasks/validation/taskC HTTP/1.1
Host: localhost:9393

42.10.2. Path Parameters

/tasks/validation/{name}spring-doc.cn

Parameter Description

namespring-doc.cn

The name of a task definition to be validated (required)spring-doc.cn

42.10.3. Example Request

$ curl 'http://localhost:9393/tasks/validation/taskC' -i -X GET

42.10.4. Response Structure

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 144

{
  "appName" : "taskC",
  "dsl" : "timestamp --format='yyyy MM dd'",
  "description" : "",
  "appStatuses" : {
    "task:taskC" : "valid"
  }
}

42.11. Task Executions

The task executions endpoint provides information about the task executions that are registered with the Spring Cloud Data Flow server. The following topics provide more details:spring-doc.cn

42.11.1. Launching a Task

Launching a task is done by requesting the creation of a new task execution. The following topics provide more details:spring-doc.cn

Request Structure
POST /tasks/executions HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

name=taskA&properties=app.my-task.foo%3Dbar%2Cdeployer.my-task.something-else%3D3&arguments=--server.port%3D8080+--foo%3Dbar
Request Parameters
Parameter Description

namespring-doc.cn

The name of the task definition to launchspring-doc.cn

propertiesspring-doc.cn

Application and Deployer properties to use while launchingspring-doc.cn

argumentsspring-doc.cn

Command line arguments to pass to the taskspring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/executions' -i -X POST \
    -d 'name=taskA&properties=app.my-task.foo%3Dbar%2Cdeployer.my-task.something-else%3D3&arguments=--server.port%3D8080+--foo%3Dbar'
Response Structure
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 1

1

42.11.2. Stopping a Task

Stopping a task is done by posting the id of an existing task execution. The following topics provide more details:spring-doc.cn

Request Structure
POST /tasks/executions/1 HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

platform=default
Path Parameters

/tasks/executions/{id}spring-doc.cn

Parameter Description

idspring-doc.cn

The ids of an existing task execution (required)spring-doc.cn

Request Parameters
Parameter Description

platformspring-doc.cn

The platform associated with the task execution(optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/executions/1' -i -X POST \
    -d 'platform=default'
Response Structure
HTTP/1.1 200 OK

42.11.3. List All Task Executions

The task executions endpoint lets you list all task executions. The following topics provide more details:spring-doc.cn

Request Structure
GET /tasks/executions?page=0&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/executions?page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 3289

{
  "_embedded" : {
    "taskExecutionResourceList" : [ {
      "executionId" : 2,
      "exitCode" : null,
      "taskName" : "taskB",
      "startTime" : null,
      "endTime" : null,
      "exitMessage" : null,
      "arguments" : [ ],
      "jobExecutionIds" : [ ],
      "errorMessage" : null,
      "externalExecutionId" : "taskB-a36f5d64-a46f-4508-a8e0-0d95876183aa",
      "parentExecutionId" : null,
      "resourceUrl" : "org.springframework.cloud.task.app:timestamp-task:jar:1.2.0.RELEASE",
      "appProperties" : {
        "management.metrics.tags.service" : "task-application",
        "timestamp.format" : "yyyy MM dd",
        "spring.datasource.username" : null,
        "spring.datasource.url" : null,
        "spring.datasource.driverClassName" : null,
        "management.metrics.tags.application" : "${spring.cloud.task.name:unknown}-${spring.cloud.task.executionid:unknown}",
        "spring.cloud.task.name" : "taskB"
      },
      "deploymentProperties" : {
        "app.my-task.foo" : "bar",
        "deployer.my-task.something-else" : "3"
      },
      "platformName" : "default",
      "taskExecutionStatus" : "UNKNOWN",
      "_links" : {
        "tasks/logs" : [ {
          "href" : "http://localhost:9393/tasks/logs/taskB-a36f5d64-a46f-4508-a8e0-0d95876183aa?platformName=default"
        }, {
          "href" : "http://localhost:9393/tasks/logs/taskB-a36f5d64-a46f-4508-a8e0-0d95876183aa?platformName=default"
        } ],
        "self" : {
          "href" : "http://localhost:9393/tasks/executions/2"
        }
      }
    }, {
      "executionId" : 1,
      "exitCode" : null,
      "taskName" : "taskA",
      "startTime" : null,
      "endTime" : null,
      "exitMessage" : null,
      "arguments" : [ ],
      "jobExecutionIds" : [ ],
      "errorMessage" : null,
      "externalExecutionId" : "taskA-0af915af-fe7e-423e-b54e-390e46ed40c7",
      "parentExecutionId" : null,
      "resourceUrl" : "org.springframework.cloud.task.app:timestamp-task:jar:1.2.0.RELEASE",
      "appProperties" : {
        "management.metrics.tags.service" : "task-application",
        "timestamp.format" : "yyyy MM dd",
        "spring.datasource.username" : null,
        "spring.datasource.url" : null,
        "spring.datasource.driverClassName" : null,
        "management.metrics.tags.application" : "${spring.cloud.task.name:unknown}-${spring.cloud.task.executionid:unknown}",
        "spring.cloud.task.name" : "taskA"
      },
      "deploymentProperties" : {
        "app.my-task.foo" : "bar",
        "deployer.my-task.something-else" : "3"
      },
      "platformName" : "default",
      "taskExecutionStatus" : "UNKNOWN",
      "_links" : {
        "tasks/logs" : [ {
          "href" : "http://localhost:9393/tasks/logs/taskA-0af915af-fe7e-423e-b54e-390e46ed40c7?platformName=default"
        }, {
          "href" : "http://localhost:9393/tasks/logs/taskA-0af915af-fe7e-423e-b54e-390e46ed40c7?platformName=default"
        } ],
        "self" : {
          "href" : "http://localhost:9393/tasks/executions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/executions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

42.11.4. List All Task Executions With a Specified Task Name

The task executions endpoint lets you list task executions with a specified task name. The following topics provide more details:spring-doc.cn

Request Structure
GET /tasks/executions?name=taskB&page=0&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

namespring-doc.cn

The name associated with the task executionspring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/executions?name=taskB&page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1781

{
  "_embedded" : {
    "taskExecutionResourceList" : [ {
      "executionId" : 2,
      "exitCode" : null,
      "taskName" : "taskB",
      "startTime" : null,
      "endTime" : null,
      "exitMessage" : null,
      "arguments" : [ ],
      "jobExecutionIds" : [ ],
      "errorMessage" : null,
      "externalExecutionId" : "taskB-a36f5d64-a46f-4508-a8e0-0d95876183aa",
      "parentExecutionId" : null,
      "resourceUrl" : "org.springframework.cloud.task.app:timestamp-task:jar:1.2.0.RELEASE",
      "appProperties" : {
        "management.metrics.tags.service" : "task-application",
        "timestamp.format" : "yyyy MM dd",
        "spring.datasource.username" : null,
        "spring.datasource.url" : null,
        "spring.datasource.driverClassName" : null,
        "management.metrics.tags.application" : "${spring.cloud.task.name:unknown}-${spring.cloud.task.executionid:unknown}",
        "spring.cloud.task.name" : "taskB"
      },
      "deploymentProperties" : {
        "app.my-task.foo" : "bar",
        "deployer.my-task.something-else" : "3"
      },
      "platformName" : "default",
      "taskExecutionStatus" : "UNKNOWN",
      "_links" : {
        "tasks/logs" : [ {
          "href" : "http://localhost:9393/tasks/logs/taskB-a36f5d64-a46f-4508-a8e0-0d95876183aa?platformName=default"
        }, {
          "href" : "http://localhost:9393/tasks/logs/taskB-a36f5d64-a46f-4508-a8e0-0d95876183aa?platformName=default"
        } ],
        "self" : {
          "href" : "http://localhost:9393/tasks/executions/2"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/executions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.11.5. Task Execution Detail

The task executions endpoint lets you get the details about a task execution. The following topics provide more details:spring-doc.cn

Request Structure
GET /tasks/executions/1 HTTP/1.1
Host: localhost:9393

/tasks/executions/{id}spring-doc.cn

Parameter Description

idspring-doc.cn

The id of an existing task execution (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/executions/1' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1354

{
  "executionId" : 1,
  "exitCode" : null,
  "taskName" : "taskA",
  "startTime" : null,
  "endTime" : null,
  "exitMessage" : null,
  "arguments" : [ ],
  "jobExecutionIds" : [ ],
  "errorMessage" : null,
  "externalExecutionId" : "taskA-0af915af-fe7e-423e-b54e-390e46ed40c7",
  "parentExecutionId" : null,
  "resourceUrl" : "org.springframework.cloud.task.app:timestamp-task:jar:1.2.0.RELEASE",
  "appProperties" : {
    "management.metrics.tags.service" : "task-application",
    "timestamp.format" : "yyyy MM dd",
    "spring.datasource.username" : null,
    "spring.datasource.url" : null,
    "spring.datasource.driverClassName" : null,
    "management.metrics.tags.application" : "${spring.cloud.task.name:unknown}-${spring.cloud.task.executionid:unknown}",
    "spring.cloud.task.name" : "taskA"
  },
  "deploymentProperties" : {
    "app.my-task.foo" : "bar",
    "deployer.my-task.something-else" : "3"
  },
  "platformName" : "default",
  "taskExecutionStatus" : "UNKNOWN",
  "_links" : {
    "tasks/logs" : [ {
      "href" : "http://localhost:9393/tasks/logs/taskA-0af915af-fe7e-423e-b54e-390e46ed40c7?platformName=default"
    }, {
      "href" : "http://localhost:9393/tasks/logs/taskA-0af915af-fe7e-423e-b54e-390e46ed40c7?platformName=default"
    } ],
    "self" : {
      "href" : "http://localhost:9393/tasks/executions/1"
    }
  }
}

42.11.6. Delete Task Execution

The task execution endpoint lets you:spring-doc.cn

  • Clean up resources used to deploy the taskspring-doc.cn

  • Remove relevant task data as well as possibly associated Spring Batch job data from the persistence storespring-doc.cn

The cleanup implementation (first option) is platform specific. Both operations can be triggered at once or separately.

The following topics provide more details:spring-doc.cn

Please refer to the following section in regards to Deleting Task Execution Data.spring-doc.cn

Request Structure
DELETE /tasks/executions/1,2?action=CLEANUP,REMOVE_DATA HTTP/1.1
Host: localhost:9393

/tasks/executions/{ids}spring-doc.cn

Parameter Description

idsspring-doc.cn

Providing 2 comma separated task execution id values.spring-doc.cn

You must provide task execution IDs that actually exist. Otherwise, a 404 (Not Found) HTTP status is returned. In the case of submitting multiple task execution IDs, the invalidity of a single task execution ID causes the entire request to fail, without performing any operation.spring-doc.cn

Request Parameters

This endpoint supports one optional request parameter named action. It is an enumeration and supports the following values:spring-doc.cn

Parameter Description

actionspring-doc.cn

Using both actions CLEANUP and REMOVE_DATA simultaneously.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/executions/1,2?action=CLEANUP,REMOVE_DATA' -i -X DELETE
Response Structure
HTTP/1.1 200 OK

42.11.7. Deleting Task Execution Data

Not only can you clean up resources that were used to deploy tasks but you can also delete the data associated with task executions from the underlying persistence store. Also, if a task execution is associated with one or more batch job executions, these are removed as well.spring-doc.cn

The following example illustrates how a request can be made using multiple task execution IDs and multiple actions:spring-doc.cn

$ curl 'http://localhost:9393/tasks/executions/1,2?action=CLEANUP,REMOVE_DATA' -i -X DELETE

/tasks/executions/{ids}spring-doc.cn

Parameter Description

idsspring-doc.cn

Providing 2 comma separated task execution id values.spring-doc.cn

Parameter Description

actionspring-doc.cn

Using both actions CLEANUP and REMOVE_DATA simultaneously.spring-doc.cn

When deleting data from the persistence store by using the REMOVE_DATA action parameter, you must provide task execution IDs that represent parent task executions. When you provide child task executions (executed as part of a composed task), a 400 (Bad Request) HTTP status is returned.
When deleting large number of task executions some database types limit the number of entries in the IN clause (the method Spring Cloud Data Flow uses to delete relationships for task executions). Spring Cloud Data Flow supports the chunking of deletes for Sql Server (Maximum 2100 entries) and Oracle DBs (Maximum 1000 entries). However, Spring Cloud Data Flow allows users to set their own chunking factor. To do this set the spring.cloud.dataflow.task.executionDeleteChunkSize property to the appropriate chunk size. Default is 0 which means Spring Cloud Data Flow will not chunk the task execution deletes (except for Oracle and Sql Server databases).

42.11.8. Task Execution Current Count

The task executions current endpoint lets you retrieve the current number of running executions. The following topics provide more details:spring-doc.cn

Request Structure
GET /tasks/executions/current HTTP/1.1
Host: localhost:9393
Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/executions/current' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 111

[ {
  "name" : "default",
  "type" : "Local",
  "maximumTaskExecutions" : 20,
  "runningExecutionCount" : 0
} ]

42.12. Job Executions

The job executions endpoint provides information about the job executions that are registered with the Spring Cloud Data Flow server. The following topics provide more details:spring-doc.cn

42.12.1. List All Job Executions

The job executions endpoint lets you list all job executions. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/executions?page=0&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/executions?page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3066

{
  "_embedded" : {
    "jobExecutionResourceList" : [ {
      "executionId" : 2,
      "stepExecutionCount" : 0,
      "jobId" : 2,
      "taskExecutionId" : 2,
      "name" : "DOCJOB1",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "duration" : "00:00:00",
      "jobExecution" : {
        "id" : 2,
        "version" : 1,
        "jobParameters" : {
          "parameters" : { }
        },
        "jobInstance" : {
          "id" : 2,
          "jobName" : "DOCJOB1",
          "version" : null
        },
        "stepExecutions" : [ ],
        "status" : "STOPPED",
        "startTime" : "2023-07-12T03:28:01.101+0000",
        "createTime" : "2023-07-12T03:28:01.100+0000",
        "endTime" : null,
        "lastUpdated" : "2023-07-12T03:28:01.101+0000",
        "exitStatus" : {
          "exitCode" : "UNKNOWN",
          "exitDescription" : ""
        },
        "executionContext" : {
          "dirty" : false,
          "empty" : true,
          "values" : [ ]
        },
        "failureExceptions" : [ ],
        "jobConfigurationName" : null,
        "allFailureExceptions" : [ ]
      },
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : true,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : true,
      "timeZone" : "UTC",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/executions/2"
        }
      }
    }, {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "duration" : "00:00:00",
      "jobExecution" : {
        "id" : 1,
        "version" : 2,
        "jobParameters" : {
          "parameters" : { }
        },
        "jobInstance" : {
          "id" : 1,
          "jobName" : "DOCJOB",
          "version" : null
        },
        "stepExecutions" : [ ],
        "status" : "STOPPING",
        "startTime" : "2023-07-12T03:28:01.097+0000",
        "createTime" : "2023-07-12T03:28:01.096+0000",
        "endTime" : null,
        "lastUpdated" : "2023-07-12T03:28:01.165+0000",
        "exitStatus" : {
          "exitCode" : "UNKNOWN",
          "exitDescription" : ""
        },
        "executionContext" : {
          "dirty" : false,
          "empty" : true,
          "values" : [ ]
        },
        "failureExceptions" : [ ],
        "jobConfigurationName" : null,
        "allFailureExceptions" : [ ]
      },
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : false,
      "timeZone" : "UTC",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/executions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

42.12.2. List All Job Executions Without Step Executions Included

The job executions endpoint lets you list all job executions without step executions included. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/thinexecutions?page=0&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/thinexecutions?page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1604

{
  "_embedded" : {
    "jobExecutionThinResourceList" : [ {
      "executionId" : 2,
      "stepExecutionCount" : 0,
      "jobId" : 2,
      "taskExecutionId" : 2,
      "instanceId" : 2,
      "name" : "DOCJOB1",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "startDateTime" : "2023-07-12T03:28:01.101+0000",
      "duration" : "00:00:00",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : true,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : true,
      "timeZone" : "UTC",
      "status" : "STOPPED",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/2"
        }
      }
    }, {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "instanceId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "startDateTime" : "2023-07-12T03:28:01.097+0000",
      "duration" : "00:00:00",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : false,
      "stoppable" : true,
      "defined" : false,
      "timeZone" : "UTC",
      "status" : "STARTED",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/thinexecutions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

42.12.3. List All Job Executions With a Specified Job Name

The job executions endpoint lets you list all job executions. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/executions?name=DOCJOB&page=0&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

namespring-doc.cn

The name associated with the job executionspring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/executions?name=DOCJOB&page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1669

{
  "_embedded" : {
    "jobExecutionResourceList" : [ {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "duration" : "00:00:00",
      "jobExecution" : {
        "id" : 1,
        "version" : 2,
        "jobParameters" : {
          "parameters" : { }
        },
        "jobInstance" : {
          "id" : 1,
          "jobName" : "DOCJOB",
          "version" : null
        },
        "stepExecutions" : [ ],
        "status" : "STOPPING",
        "startTime" : "2023-07-12T03:28:01.097+0000",
        "createTime" : "2023-07-12T03:28:01.096+0000",
        "endTime" : null,
        "lastUpdated" : "2023-07-12T03:28:01.165+0000",
        "exitStatus" : {
          "exitCode" : "UNKNOWN",
          "exitDescription" : ""
        },
        "executionContext" : {
          "dirty" : false,
          "empty" : true,
          "values" : [ ]
        },
        "failureExceptions" : [ ],
        "jobConfigurationName" : null,
        "allFailureExceptions" : [ ]
      },
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : false,
      "timeZone" : "UTC",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/executions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.12.4. List All Job Executions With a Specified Job Name Without Step Executions Included

The job executions endpoint lets you list all job executions. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/thinexecutions?name=DOCJOB&page=0&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

namespring-doc.cn

The name associated with the job executionspring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/thinexecutions?name=DOCJOB&page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 943

{
  "_embedded" : {
    "jobExecutionThinResourceList" : [ {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "instanceId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "startDateTime" : "2023-07-12T03:28:01.097+0000",
      "duration" : "00:00:00",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : false,
      "timeZone" : "UTC",
      "status" : "STOPPING",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/thinexecutions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.12.5. List All Job Executions For A Specified Date Range Without Step Executions Included

The job executions endpoint lets you list all job executions. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/thinexecutions?page=0&size=10&fromDate=2000-09-24T17%3A00%3A45%2C000&toDate=2050-09-24T18%3A00%3A45%2C000 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

fromDatespring-doc.cn

Filter result from a starting date in the format 'yyyy-MM-dd’T’HH:mm:ss,SSS'spring-doc.cn

toDatespring-doc.cn

Filter result up to the to date in the format 'yyyy-MM-dd’T’HH:mm:ss,SSS'spring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/thinexecutions?page=0&size=10&fromDate=2000-09-24T17%3A00%3A45%2C000&toDate=2050-09-24T18%3A00%3A45%2C000' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1605

{
  "_embedded" : {
    "jobExecutionThinResourceList" : [ {
      "executionId" : 2,
      "stepExecutionCount" : 0,
      "jobId" : 2,
      "taskExecutionId" : 2,
      "instanceId" : 2,
      "name" : "DOCJOB1",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "startDateTime" : "2023-07-12T03:28:01.101+0000",
      "duration" : "00:00:00",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : true,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : true,
      "timeZone" : "UTC",
      "status" : "STOPPED",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/2"
        }
      }
    }, {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "instanceId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "startDateTime" : "2023-07-12T03:28:01.097+0000",
      "duration" : "00:00:00",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : false,
      "timeZone" : "UTC",
      "status" : "STOPPING",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/thinexecutions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

42.12.6. List All Job Executions For A Specified Job Instance Id Without Step Executions Included

The job executions endpoint lets you list all job executions. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/thinexecutions?page=0&size=10&jobInstanceId=1 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

jobInstanceIdspring-doc.cn

Filter result by the job instance idspring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/thinexecutions?page=0&size=10&jobInstanceId=1' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 943

{
  "_embedded" : {
    "jobExecutionThinResourceList" : [ {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "instanceId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "startDateTime" : "2023-07-12T03:28:01.097+0000",
      "duration" : "00:00:00",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : false,
      "timeZone" : "UTC",
      "status" : "STOPPING",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/thinexecutions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.12.7. List All Job Executions For A Specified Task Execution Id Without Step Executions Included

The job executions endpoint lets you list all job executions. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/thinexecutions?page=0&size=10&taskExecutionId=1 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

taskExecutionIdspring-doc.cn

Filter result by the task execution idspring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/thinexecutions?page=0&size=10&taskExecutionId=1' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 943

{
  "_embedded" : {
    "jobExecutionThinResourceList" : [ {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "instanceId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2023-07-12",
      "startTime" : "03:28:01",
      "startDateTime" : "2023-07-12T03:28:01.097+0000",
      "duration" : "00:00:00",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : false,
      "timeZone" : "UTC",
      "status" : "STOPPING",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/thinexecutions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.12.8. Job Execution Detail

The job executions endpoint lets you get the details about a job execution. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/executions/2 HTTP/1.1
Host: localhost:9393

/jobs/executions/{id}spring-doc.cn

Parameter Description

idspring-doc.cn

The id of an existing job execution (required)spring-doc.cn

Request Parameters

There are no request parameter for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/executions/2' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1188

{
  "executionId" : 2,
  "stepExecutionCount" : 0,
  "jobId" : 2,
  "taskExecutionId" : 2,
  "name" : "DOCJOB1",
  "startDate" : "2023-07-12",
  "startTime" : "03:28:01",
  "duration" : "00:00:00",
  "jobExecution" : {
    "id" : 2,
    "version" : 1,
    "jobParameters" : {
      "parameters" : { }
    },
    "jobInstance" : {
      "id" : 2,
      "jobName" : "DOCJOB1",
      "version" : 0
    },
    "stepExecutions" : [ ],
    "status" : "STOPPED",
    "startTime" : "2023-07-12T03:28:01.101+0000",
    "createTime" : "2023-07-12T03:28:01.100+0000",
    "endTime" : null,
    "lastUpdated" : "2023-07-12T03:28:01.101+0000",
    "exitStatus" : {
      "exitCode" : "UNKNOWN",
      "exitDescription" : ""
    },
    "executionContext" : {
      "dirty" : false,
      "empty" : true,
      "values" : [ ]
    },
    "failureExceptions" : [ ],
    "jobConfigurationName" : null,
    "allFailureExceptions" : [ ]
  },
  "jobParameters" : { },
  "jobParametersString" : "",
  "restartable" : true,
  "abandonable" : true,
  "stoppable" : false,
  "defined" : true,
  "timeZone" : "UTC",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions/2"
    }
  }
}

42.12.9. Stop Job Execution

The job executions endpoint lets you stop a job execution. The following topics provide more details:spring-doc.cn

Request structure
PUT /jobs/executions/1 HTTP/1.1
Accept: application/json
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

stop=true

/jobs/executions/{id}spring-doc.cn

Parameter Description

idspring-doc.cn

The id of an existing job execution (required)spring-doc.cn

Request parameters
Parameter Description

stopspring-doc.cn

Sends signal to stop the job if set to truespring-doc.cn

Example request
$ curl 'http://localhost:9393/jobs/executions/1' -i -X PUT \
    -H 'Accept: application/json' \
    -d 'stop=true'
Response structure
HTTP/1.1 200 OK

42.12.10. Restart Job Execution

The job executions endpoint lets you restart a job execution. The following topics provide more details:spring-doc.cn

Request Structure
PUT /jobs/executions/2 HTTP/1.1
Accept: application/json
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

restart=true

/jobs/executions/{id}spring-doc.cn

Parameter Description

idspring-doc.cn

The id of an existing job execution (required)spring-doc.cn

Request Parameters
Parameter Description

restartspring-doc.cn

Sends signal to restart the job if set to truespring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/executions/2' -i -X PUT \
    -H 'Accept: application/json' \
    -d 'restart=true'
Response Structure
HTTP/1.1 200 OK

42.13. Job Instances

The job instances endpoint provides information about the job instances that are registered with the Spring Cloud Data Flow server. The following topics provide more details:spring-doc.cn

42.13.1. List All Job Instances

The job instances endpoint lets you list all job instances. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/instances?name=DOCJOB&page=0&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

namespring-doc.cn

The name associated with the job instancespring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/instances?name=DOCJOB&page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1845

{
  "_embedded" : {
    "jobInstanceResourceList" : [ {
      "jobName" : "DOCJOB",
      "jobInstanceId" : 1,
      "jobExecutions" : [ {
        "executionId" : 1,
        "stepExecutionCount" : 0,
        "jobId" : 1,
        "taskExecutionId" : 1,
        "name" : "DOCJOB",
        "startDate" : "2023-07-12",
        "startTime" : "03:26:12",
        "duration" : "00:00:00",
        "jobExecution" : {
          "id" : 1,
          "version" : 1,
          "jobParameters" : {
            "parameters" : { }
          },
          "jobInstance" : {
            "id" : 1,
            "jobName" : "DOCJOB",
            "version" : 0
          },
          "stepExecutions" : [ ],
          "status" : "STARTED",
          "startTime" : "2023-07-12T03:26:12.884+0000",
          "createTime" : "2023-07-12T03:26:12.873+0000",
          "endTime" : null,
          "lastUpdated" : "2023-07-12T03:26:12.884+0000",
          "exitStatus" : {
            "exitCode" : "UNKNOWN",
            "exitDescription" : ""
          },
          "executionContext" : {
            "dirty" : false,
            "empty" : true,
            "values" : [ ]
          },
          "failureExceptions" : [ ],
          "jobConfigurationName" : null,
          "allFailureExceptions" : [ ]
        },
        "jobParameters" : { },
        "jobParametersString" : "",
        "restartable" : false,
        "abandonable" : false,
        "stoppable" : true,
        "defined" : false,
        "timeZone" : "UTC"
      } ],
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/instances/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/instances?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.13.2. Job Instance Detail

The job instances endpoint lets you list all job instances. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/instances/1 HTTP/1.1
Host: localhost:9393

/jobs/instances/{id}spring-doc.cn

Parameter Description

idspring-doc.cn

The id of an existing job instance (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/instances/1' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1354

{
  "jobName" : "DOCJOB",
  "jobInstanceId" : 1,
  "jobExecutions" : [ {
    "executionId" : 1,
    "stepExecutionCount" : 0,
    "jobId" : 1,
    "taskExecutionId" : 1,
    "name" : "DOCJOB",
    "startDate" : "2023-07-12",
    "startTime" : "03:26:12",
    "duration" : "00:00:00",
    "jobExecution" : {
      "id" : 1,
      "version" : 1,
      "jobParameters" : {
        "parameters" : { }
      },
      "jobInstance" : {
        "id" : 1,
        "jobName" : "DOCJOB",
        "version" : 0
      },
      "stepExecutions" : [ ],
      "status" : "STARTED",
      "startTime" : "2023-07-12T03:26:12.884+0000",
      "createTime" : "2023-07-12T03:26:12.873+0000",
      "endTime" : null,
      "lastUpdated" : "2023-07-12T03:26:12.884+0000",
      "exitStatus" : {
        "exitCode" : "UNKNOWN",
        "exitDescription" : ""
      },
      "executionContext" : {
        "dirty" : false,
        "empty" : true,
        "values" : [ ]
      },
      "failureExceptions" : [ ],
      "jobConfigurationName" : null,
      "allFailureExceptions" : [ ]
    },
    "jobParameters" : { },
    "jobParametersString" : "",
    "restartable" : false,
    "abandonable" : false,
    "stoppable" : true,
    "defined" : false,
    "timeZone" : "UTC"
  } ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/instances/1"
    }
  }
}

42.14. Job Step Executions

The job step executions endpoint provides information about the job step executions that are registered with the Spring Cloud Data Flow server. The following topics provide more details:spring-doc.cn

42.14.1. List All Step Executions For a Job Execution

The job step executions endpoint lets you list all job step executions. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/executions/1/steps?page=0&size=10 HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

pagespring-doc.cn

The zero-based page number (optional)spring-doc.cn

sizespring-doc.cn

The requested page size (optional)spring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/executions/1/steps?page=0&size=10' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1623

{
  "_embedded" : {
    "stepExecutionResourceList" : [ {
      "jobExecutionId" : 1,
      "stepExecution" : {
        "stepName" : "DOCJOB_STEP",
        "id" : 1,
        "version" : 0,
        "status" : "STARTING",
        "readCount" : 0,
        "writeCount" : 0,
        "commitCount" : 0,
        "rollbackCount" : 0,
        "readSkipCount" : 0,
        "processSkipCount" : 0,
        "writeSkipCount" : 0,
        "startTime" : "2023-07-12T03:27:59.080+0000",
        "endTime" : null,
        "lastUpdated" : "2023-07-12T03:27:59.080+0000",
        "executionContext" : {
          "dirty" : false,
          "empty" : true,
          "values" : [ ]
        },
        "exitStatus" : {
          "exitCode" : "EXECUTING",
          "exitDescription" : ""
        },
        "terminateOnly" : false,
        "filterCount" : 0,
        "failureExceptions" : [ ],
        "jobParameters" : {
          "parameters" : { }
        },
        "jobExecutionId" : 1,
        "skipCount" : 0,
        "summary" : "StepExecution: id=1, version=0, name=DOCJOB_STEP, status=STARTING, exitStatus=EXECUTING, readCount=0, filterCount=0, writeCount=0 readSkipCount=0, writeSkipCount=0, processSkipCount=0, commitCount=0, rollbackCount=0"
      },
      "stepType" : "",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/executions/1/steps/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions/1/steps?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

42.14.2. Job Step Execution Detail

The job step executions endpoint lets you get details about a job step execution. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/executions/1/steps/1 HTTP/1.1
Host: localhost:9393

/jobs/executions/{id}/steps/{stepid}spring-doc.cn

Parameter Description

idspring-doc.cn

The id of an existing job execution (required)spring-doc.cn

stepidspring-doc.cn

The id of an existing step execution for a specific job execution (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/executions/1/steps/1' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1173

{
  "jobExecutionId" : 1,
  "stepExecution" : {
    "stepName" : "DOCJOB_STEP",
    "id" : 1,
    "version" : 0,
    "status" : "STARTING",
    "readCount" : 0,
    "writeCount" : 0,
    "commitCount" : 0,
    "rollbackCount" : 0,
    "readSkipCount" : 0,
    "processSkipCount" : 0,
    "writeSkipCount" : 0,
    "startTime" : "2023-07-12T03:27:59.080+0000",
    "endTime" : null,
    "lastUpdated" : "2023-07-12T03:27:59.080+0000",
    "executionContext" : {
      "dirty" : false,
      "empty" : true,
      "values" : [ ]
    },
    "exitStatus" : {
      "exitCode" : "EXECUTING",
      "exitDescription" : ""
    },
    "terminateOnly" : false,
    "filterCount" : 0,
    "failureExceptions" : [ ],
    "jobParameters" : {
      "parameters" : { }
    },
    "jobExecutionId" : 1,
    "skipCount" : 0,
    "summary" : "StepExecution: id=1, version=0, name=DOCJOB_STEP, status=STARTING, exitStatus=EXECUTING, readCount=0, filterCount=0, writeCount=0 readSkipCount=0, writeSkipCount=0, processSkipCount=0, commitCount=0, rollbackCount=0"
  },
  "stepType" : "",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions/1/steps/1"
    }
  }
}

42.14.3. Job Step Execution Progress

The job step executions endpoint lets you get details about the progress of a job step execution. The following topics provide more details:spring-doc.cn

Request Structure
GET /jobs/executions/1/steps/1/progress HTTP/1.1
Host: localhost:9393

/jobs/executions/{id}/steps/{stepid}/progressspring-doc.cn

Parameter Description

idspring-doc.cn

The id of an existing job execution (required)spring-doc.cn

stepidspring-doc.cn

The id of an existing step execution for a specific job execution (required)spring-doc.cn

Request Parameters

There are no request parameters for this endpoint.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/jobs/executions/1/steps/1/progress' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2675

{
  "stepExecution" : {
    "stepName" : "DOCJOB_STEP",
    "id" : 1,
    "version" : 0,
    "status" : "STARTING",
    "readCount" : 0,
    "writeCount" : 0,
    "commitCount" : 0,
    "rollbackCount" : 0,
    "readSkipCount" : 0,
    "processSkipCount" : 0,
    "writeSkipCount" : 0,
    "startTime" : "2023-07-12T03:27:59.080+0000",
    "endTime" : null,
    "lastUpdated" : "2023-07-12T03:27:59.080+0000",
    "executionContext" : {
      "dirty" : false,
      "empty" : true,
      "values" : [ ]
    },
    "exitStatus" : {
      "exitCode" : "EXECUTING",
      "exitDescription" : ""
    },
    "terminateOnly" : false,
    "filterCount" : 0,
    "failureExceptions" : [ ],
    "jobParameters" : {
      "parameters" : { }
    },
    "jobExecutionId" : 1,
    "skipCount" : 0,
    "summary" : "StepExecution: id=1, version=0, name=DOCJOB_STEP, status=STARTING, exitStatus=EXECUTING, readCount=0, filterCount=0, writeCount=0 readSkipCount=0, writeSkipCount=0, processSkipCount=0, commitCount=0, rollbackCount=0"
  },
  "stepExecutionHistory" : {
    "stepName" : "DOCJOB_STEP",
    "count" : 0,
    "commitCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "rollbackCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "readCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "writeCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "filterCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "readSkipCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "writeSkipCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "processSkipCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "duration" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "durationPerRead" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    }
  },
  "percentageComplete" : 0.5,
  "finished" : false,
  "duration" : 82.0,
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions/1/steps/1"
    }
  }
}
The following fields in the stepExecutionHistory are deprecated and will be removed in a future release: rollbackCount, readCount, writeCount, filterCount, readSkipCount, writeSkipCount, processSkipCount, durationPerRead.

42.15. Runtime Information about Applications

You can get information about running apps known to the system, either globally or individually. The following topics provide more details:spring-doc.cn

42.15.1. Listing All Applications at Runtime

To retrieve information about all instances of all apps, query the /runtime/apps endpoint by using GET. The following topics provide more details:spring-doc.cn

Request Structure
GET /runtime/apps HTTP/1.1
Accept: application/json
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/runtime/apps' -i -X GET \
    -H 'Accept: application/json'
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 209

{
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/runtime/apps?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

42.15.2. Querying All Instances of a Single App

To retrieve information about all instances of a particular app, query the /runtime/apps/<appId>/instances endpoint by using GET. The following topics provide more details:spring-doc.cn

Request Structure
GET /runtime/apps HTTP/1.1
Accept: application/json
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/runtime/apps' -i -X GET \
    -H 'Accept: application/json'
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 209

{
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/runtime/apps?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

42.15.3. Querying a Single Instance of a Single App

To retrieve information about a particular instance of a particular application, query the /runtime/apps/<appId>/instances/<instanceId> endpoint by using GET. The following topics provide more details:spring-doc.cn

Request Structure
GET /runtime/apps HTTP/1.1
Accept: application/json
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/runtime/apps' -i -X GET \
    -H 'Accept: application/json'
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 209

{
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/runtime/apps?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

42.16. Stream Logs

You can get the application logs of the stream for the entire stream or a specific application inside the stream. The following topics provide more details:spring-doc.cn

42.16.1. Get the applications' logs by the stream name

Use the HTTP GET method with the /streams/logs/<streamName> REST endpoint to retrieve all the applications' logs for the given stream name. The following topics provide more details:spring-doc.cn

Request Structure
GET /streams/logs/ticktock HTTP/1.1
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/streams/logs/ticktock' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 93

{
  "logs" : {
    "ticktock-time-v1" : "Logs-time",
    "ticktock-log-v1" : "Logs-log"
  }
}

42.16.2. Get the logs of a specific application from the stream

To retrieve the logs of a specific application from the stream, query the /streams/logs/<streamName>/<appName> endpoint using the GET HTTP method. The following topics provide more details:spring-doc.cn

Request Structure
GET /streams/logs/ticktock/ticktock-log-v1 HTTP/1.1
Host: localhost:9393
Example Request
$ curl 'http://localhost:9393/streams/logs/ticktock/ticktock-log-v1' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 55

{
  "logs" : {
    "ticktock-log-v1" : "Logs-log"
  }
}

42.17. Task Logs

You can get the task execution log for a specific task execution.spring-doc.cn

The following topic provides more details:spring-doc.cn

42.17.1. Get the task execution log

To retrieve the logs of the task execution, query the /tasks/logs/<ExternalTaskExecutionId> endpoint by using the HTTP GET method.. The following topics provide more details:spring-doc.cn

Request Structure
GET /tasks/logs/taskA-1143b445-0a86-468b-b6af-244713cd39b9?platformName=default HTTP/1.1
Host: localhost:9393
Request Parameters
Parameter Description

platformNamespring-doc.cn

The name of the platform the task is launched.spring-doc.cn

Example Request
$ curl 'http://localhost:9393/tasks/logs/taskA-1143b445-0a86-468b-b6af-244713cd39b9?platformName=default' -i -X GET
Response Structure
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 10041

"stdout:\n2023-07-12 03:28:13.092  INFO 9534 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@ba8a1dc: startup date [Wed Jul 12 03:28:13 UTC 2023]; root of context hierarchy\n2023-07-12 03:28:13.397  INFO 9534 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'configurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$f850fffa] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)\n\n  .   ____          _            __ _ _\n /\\\\ / ___'_ __ _ _(_)_ __  __ _ \\ \\ \\ \\\n( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\\n \\\\/  ___)| |_)| | | | | || (_| |  ) ) ) )\n  '  |____| .__|_| |_|_| |_\\__, | / / / /\n =========|_|==============|___/=/_/_/_/\n :: Spring Boot ::        (v1.5.2.RELEASE)\n\n2023-07-12 03:28:13.591  INFO 9534 --- [           main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at: http://localhost:8888\n2023-07-12 03:28:13.646  WARN 9534 --- [           main] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: I/O error on GET request for \"http://localhost:8888/timestamp-task/default\": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused)\n2023-07-12 03:28:13.647  INFO 9534 --- [           main] o.s.c.t.a.t.TimestampTaskApplication     : No active profile set, falling back to default profiles: default\n2023-07-12 03:28:13.660  INFO 9534 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@63d4e2ba: startup date [Wed Jul 12 03:28:13 UTC 2023]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@ba8a1dc\n2023-07-12 03:28:14.134  INFO 9534 --- [           main] o.s.cloud.context.scope.GenericScope     : BeanFactory id=1e36064f-ccbe-3d2f-9196-128427cc78a0\n2023-07-12 03:28:14.208  INFO 9534 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$f850fffa] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)\n2023-07-12 03:28:14.216  INFO 9534 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$dc36fcfd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)\n2023-07-12 03:28:14.648  INFO 9534 --- [           main] o.s.jdbc.datasource.init.ScriptUtils     : Executing SQL script from class path resource [org/springframework/cloud/task/schema-h2.sql]\n2023-07-12 03:28:14.673  INFO 9534 --- [           main] o.s.jdbc.datasource.init.ScriptUtils     : Executed SQL script from class path resource [org/springframework/cloud/task/schema-h2.sql] in 25 ms.\n2023-07-12 03:28:14.992  INFO 9534 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup\n2023-07-12 03:28:15.000  INFO 9534 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'configurationPropertiesRebinder' has been autodetected for JMX exposure\n2023-07-12 03:28:15.001  INFO 9534 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'environmentManager' has been autodetected for JMX exposure\n2023-07-12 03:28:15.004  INFO 9534 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'refreshScope' has been autodetected for JMX exposure\n2023-07-12 03:28:15.006  INFO 9534 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Located managed bean 'environmentManager': registering with JMX server as MBean [taskA-1143b445-0a86-468b-b6af-244713cd39b9:name=environmentManager,type=EnvironmentManager]\n2023-07-12 03:28:15.025  INFO 9534 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Located managed bean 'refreshScope': registering with JMX server as MBean [taskA-1143b445-0a86-468b-b6af-244713cd39b9:name=refreshScope,type=RefreshScope]\n2023-07-12 03:28:15.035  INFO 9534 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Located managed bean 'configurationPropertiesRebinder': registering with JMX server as MBean [taskA-1143b445-0a86-468b-b6af-244713cd39b9:name=configurationPropertiesRebinder,context=63d4e2ba,type=ConfigurationPropertiesRebinder]\n2023-07-12 03:28:15.137  INFO 9534 --- [           main] o.s.c.support.DefaultLifecycleProcessor  : Starting beans in phase 0\n2023-07-12 03:28:15.151  WARN 9534 --- [           main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'taskLifecycleListener'; nested exception is java.lang.IllegalArgumentException: Invalid TaskExecution, ID 1 not found\n2023-07-12 03:28:15.151  INFO 9534 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown\n2023-07-12 03:28:15.151  INFO 9534 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans\n2023-07-12 03:28:15.152 ERROR 9534 --- [           main] o.s.c.t.listener.TaskLifecycleListener   : An event to end a task has been received for a task that has not yet started.\n2023-07-12 03:28:15.159  INFO 9534 --- [           main] utoConfigurationReportLoggingInitializer : \n\nError starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.\n2023-07-12 03:28:15.166 ERROR 9534 --- [           main] o.s.boot.SpringApplication               : Application startup failed\n\norg.springframework.context.ApplicationContextException: Failed to start bean 'taskLifecycleListener'; nested exception is java.lang.IllegalArgumentException: Invalid TaskExecution, ID 1 not found\n\tat org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:50) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:348) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:151) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:114) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:879) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.cloud.task.app.timestamp.TimestampTaskApplication.main(TimestampTaskApplication.java:29) [classes!/:1.2.0.RELEASE]\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_372]\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_372]\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_372]\n\tat java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_372]\n\tat org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [timestamp-task-1.2.0.RELEASE.jar:1.2.0.RELEASE]\n\tat org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [timestamp-task-1.2.0.RELEASE.jar:1.2.0.RELEASE]\n\tat org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [timestamp-task-1.2.0.RELEASE.jar:1.2.0.RELEASE]\n\tat org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [timestamp-task-1.2.0.RELEASE.jar:1.2.0.RELEASE]\nCaused by: java.lang.IllegalArgumentException: Invalid TaskExecution, ID 1 not found\n\tat org.springframework.util.Assert.notNull(Assert.java:134) ~[spring-core-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.cloud.task.listener.TaskLifecycleListener.doTaskStart(TaskLifecycleListener.java:200) ~[spring-cloud-task-core-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]\n\tat org.springframework.cloud.task.listener.TaskLifecycleListener.start(TaskLifecycleListener.java:282) ~[spring-cloud-task-core-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:175) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\t... 20 common frames omitted\n\n"

43. OpenAPI

The Springdoc library is integrated with the server in an opt-in fashion. Once enabled, it provides OpenAPI3 documentation and a Swagger UI.spring-doc.cn

To enable, set the following properties in your application.yml prior to launching the server:spring-doc.cn

springdoc:
  api-docs:
    enabled: true
  swagger-ui:
    enabled: true

The properties can also be set on the command line:spring-doc.cn

-Dspringdoc.api-docs.enabled=true -Dspringdoc.swagger-ui.enabled=true

or as environment variables:spring-doc.cn

SPRINGDOC_APIDOCS_ENABLED=true
SPRINGDOC_SWAGGERUI_ENABLED=true

Once enabled, the OpenAPI3 docs and Swagger UI are available at the /v3/api-docs and /swagger-ui/index.html URIs, respectively (eg. localhost:9393/v3/api-docs).spring-doc.cn

The Swagger UI will be initially be blank. Type in "/v3/api-docs/" in the "Explore" bar and click "Explore".
If you try out the API’s in the Swagger UI and get errors related to "No property string found for type" try replacing the pageable parameter with { } or removing its "sort" attribute.

There are a plethora of available OpenAPI and Swagger UI properties to configure the feature.spring-doc.cn