[[api-guide]]
= REST API Guide

[partintro]
--
This section describes the Spring Cloud Data Flow REST API.
--

[[api-guide-overview]]
== 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.

TIP: 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.

[[api-guide-version]]
=== 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:

====
[source,json]
----
{
  "_links": {
      "dashboard": { "href" : "http://localhost:9393/dashboard" },
      ...
  },
  "api.revision":15
}
----
====
The table below shows the SCDF Release version and its current RESTful API version.

|===
| SCDF Version | API Version

| 2.11.x
| 14

| 2.10.x
| 14

| 2.9.x
| 14

| 2.8.x
| 14

| 2.7.x
| 14
|===

[[api-guide-overview-http-verbs]]
=== 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:

|===
| Verb | Usage

| `GET`
| Used to retrieve a resource.

| `POST`
| Used to create a new resource.

| `PUT`
| Used to update an existing resource, including partial updates. Also used for
resources that imply the concept of `restarts`, such as tasks.

| `DELETE`
| Used to delete an existing resource.
|===



[[api-guide-overview-http-status-codes]]
=== 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:

|===
| Status code | Usage

| `200 OK`
| The request completed successfully.

| `201 Created`
| A new resource has been created successfully. The resource's URI is available from the response's `Location` header.

| `204 No Content`
| An update to an existing resource has been applied successfully.

| `400 Bad Request`
| The request was malformed. The response body includes an error description that provides further information.

| `404 Not Found`
| The requested resource did not exist.

| `409 Conflict`
| The requested resource already exists. For example, the task already exists or the stream was already being deployed

| `422 Unprocessable Entity`
| Returned in cases where the job execution cannot be stopped or restarted.

|===



[[api-guide-overview-headers]]
=== Headers

Every response has the following headers:

include::{snippets}/api-documentation/headers/response-headers.adoc[]



[[api-guide-overview-errors]]
=== Errors

include::{snippets}/api-documentation/errors/response-fields.adoc[]



[[api-guide-overview-hypermedia]]
=== Hypermedia

Spring Cloud Data Flow uses hypermedia, and resources include links to other resources
in their responses.
Responses are in the http://stateless.co/hal_specification.html[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.



[[api-guide-resources]]
== Resources

The API includes the following resources:

* <<api-guide-resources-index>>
* <<resources-about>>
* <<api-guide-resources-schema-info>>
* <<api-guide-resources-audit-records>>
* <<resources-registered-applications>>
* <<api-guide-resources-stream-definitions>>
* <<api-guide-resources-stream-deployment>>
* <<api-guide-resources-stream-validate>>
* <<api-guide-resources-task-definitions>>
* <<api-guide-resources-task-executions>>
* <<api-guide-resources-task-scheduler>>
* <<api-guide-resources-task-validate>>
* <<api-guide-resources-job-executions>>
* <<api-guide-resources-job-instances>>
* <<api-guide-resources-job-step-executions>>
* <<api-guide-resources-runtime-information-applications>>
* <<api-guide-resources-stream-logs>>
* <<api-guide-resources-task-logs>>


[[api-guide-resources-index]]
=== Index

The index provides the entry point into Spring Cloud Data Flow's REST API.
The following topics provide more details:

* <<api-guide-resources-index-access>>
* <<api-guide-resources-index-request-structure>>
* <<api-guide-resources-index-example-request>>
* <<api-guide-resources-index-response-structure>>
* <<api-guide-resources-index-example-response>>
* <<api-guide-resources-index-links>>



[[api-guide-resources-index-access]]
==== Accessing the index

Use a `GET` request to access the index.



[[api-guide-resources-index-request-structure]]
===== Request Structure

include::{snippets}/api-documentation/index/http-request.adoc[]



[[api-guide-resources-index-example-request]]
===== Example Request

include::{snippets}/api-documentation/index/curl-request.adoc[]



[[api-guide-resources-index-response-structure]]
===== Response Structure

include::{snippets}/api-documentation/index/response-fields.adoc[]



[[api-guide-resources-index-example-response]]
===== Example Response

include::{snippets}/api-documentation/index/http-response.adoc[]



[[api-guide-resources-index-links]]
===== Links

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

include::{snippets}/api-documentation/index/links.adoc[]



[[resources-about]]
=== Server Meta Information

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

* <<api-guide-resources-server-meta-retrieving>>
* <<api-guide-resources-server-meta-request-structure>>
* <<api-guide-resources-server-meta-example-request>>
* <<api-guide-resources-server-meta-response-structure>>



[[api-guide-resources-server-meta-retrieving]]
==== Retrieving information about the server

A `GET` request returns meta information for Spring Cloud Data Flow, including:

* Runtime environment information
* Information regarding which features are enabled
* Dependency information of Spring Cloud Data Flow Server
* Security information



[[api-guide-resources-server-meta-request-structure]]
===== Request Structure

include::{snippets}/about-documentation/get-meta-information/http-request.adoc[]



[[api-guide-resources-server-meta-example-request]]
===== Example Request

include::{snippets}/about-documentation/get-meta-information/curl-request.adoc[]



[[api-guide-resources-server-meta-response-structure]]
===== Response Structure

include::{snippets}/about-documentation/get-meta-information/http-response.adoc[]


[[resources-registered-applications]]
=== 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:

* <<resources-app-registry-list>>
* <<resources-app-registry-get>>
* <<resources-app-registry-post>>
* <<resources-app-registry-post-versioned>>
* <<resources-app-registry-bulk>>
* <<resources-app-registry-default>>
* <<resources-app-registry-delete>>
* <<resources-app-registry-delete-all>>



[[resources-app-registry-list]]
==== Listing Applications

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

* <<api-guide-resources-app-registry-request-structure>>
* <<api-guide-resources-app-registry-request-parameters>>
* <<api-guide-resources-app-registry-example-request>>
* <<api-guide-resources-app-registry-response-structure>>



[[api-guide-resources-app-registry-request-structure]]
===== Request Structure

include::{snippets}/app-registry-documentation/get-applications-filtered/http-request.adoc[]



[[api-guide-resources-app-registry-request-parameters]]
===== Request Parameters

include::{snippets}/app-registry-documentation/get-applications-filtered/request-parameters.adoc[]



[[api-guide-resources-app-registry-example-request]]
===== Example Request

include::{snippets}/app-registry-documentation/get-applications-filtered/curl-request.adoc[]



[[api-guide-resources-app-registry-response-structure]]
===== Response Structure

include::{snippets}/app-registry-documentation/get-applications-filtered/http-response.adoc[]



[[resources-app-registry-get]]
==== 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:

* <<api-guide-resources-app-registry-get-request-structure>>
* <<api-guide-resources-app-registry-get-path-parameters>>
* <<api-guide-resources-app-registry-get-example-request>>
* <<api-guide-resources-app-registry-get-response-structure>>



[[api-guide-resources-app-registry-get-request-structure]]
===== Request Structure

include::{snippets}/app-registry-documentation/get-single-application/http-request.adoc[]



[[api-guide-resources-app-registry-get-request-parameters]]
===== Request Parameters

include::{snippets}/app-registry-documentation/get-single-application/request-parameters.adoc[]



[[api-guide-resources-app-registry-get-path-parameters]]
===== Path Parameters

include::{snippets}/app-registry-documentation/get-single-application/path-parameters.adoc[]



[[api-guide-resources-app-registry-get-example-request]]
===== Example Request

include::{snippets}/app-registry-documentation/get-single-application/curl-request.adoc[]



[[api-guide-resources-app-registry-get-response-structure]]
===== Response Structure

include::{snippets}/app-registry-documentation/get-single-application/http-response.adoc[]



[[resources-app-registry-post]]
==== Registering a New Application

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

* <<api-guide-resources-app-registry-post-request-structure>>
* <<api-guide-resources-app-registry-post-request-parameters>>
* <<api-guide-resources-app-registry-post-path-parameters>>
* <<api-guide-resources-app-registry-post-example-request>>
* <<api-guide-resources-app-registry-post-response-structure>>



[[api-guide-resources-app-registry-post-request-structure]]
===== Request Structure

include::{snippets}/app-registry-documentation/registering-an-application/http-request.adoc[]



[[api-guide-resources-app-registry-post-request-parameters]]
===== Request Parameters

include::{snippets}/app-registry-documentation/registering-an-application/request-parameters.adoc[]



[[api-guide-resources-app-registry-post-path-parameters]]
===== Path Parameters

include::{snippets}/app-registry-documentation/registering-an-application/path-parameters.adoc[]



[[api-guide-resources-app-registry-post-example-request]]
===== Example Request

include::{snippets}/app-registry-documentation/registering-an-application/curl-request.adoc[]



[[api-guide-resources-app-registry-post-response-structure]]
===== Response Structure

include::{snippets}/app-registry-documentation/registering-an-application/http-response.adoc[]

[[resources-app-registry-post-versioned]]
==== 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:

* <<api-guide-resources-app-registry-post-versioned-request-structure>>
* <<api-guide-resources-app-registry-post-versioned-request-parameters>>
* <<api-guide-resources-app-registry-post-versioned-path-parameters>>
* <<api-guide-resources-app-registry-post-versioned-example-request>>
* <<api-guide-resources-app-registry-post-versioned-response-structure>>


[[api-guide-resources-app-registry-post-versioned-request-structure]]
===== Request Structure

include::{snippets}/app-registry-documentation/registering-an-application-version/http-request.adoc[]



[[api-guide-resources-app-registry-post-versioned-request-parameters]]
===== Request Parameters

include::{snippets}/app-registry-documentation/registering-an-application-version/request-parameters.adoc[]



[[api-guide-resources-app-registry-post-versioned-path-parameters]]
===== Path Parameters

include::{snippets}/app-registry-documentation/registering-an-application-version/path-parameters.adoc[]



[[api-guide-resources-app-registry-post-versioned-example-request]]
===== Example Request

include::{snippets}/app-registry-documentation/registering-an-application-version/curl-request.adoc[]



[[api-guide-resources-app-registry-post-versioned-response-structure]]
===== Response Structure

include::{snippets}/app-registry-documentation/registering-an-application-version/http-response.adoc[]



[[resources-app-registry-bulk]]
==== Registering Applications in Bulk

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

* <<api-guide-resources-app-registry-bulk-request-structure>>
* <<api-guide-resources-app-registry-bulk-request-parameters>>
* <<api-guide-resources-app-registry-bulk-example-request>>
* <<api-guide-resources-app-registry-bulk-response-structure>>



[[api-guide-resources-app-registry-bulk-request-structure]]
===== Request Structure

include::{snippets}/app-registry-documentation/bulk-registering-apps/http-request.adoc[]



[[api-guide-resources-app-registry-bulk-request-parameters]]
===== Request Parameters

include::{snippets}/app-registry-documentation/bulk-registering-apps/request-parameters.adoc[]



[[api-guide-resources-app-registry-bulk-example-request]]
===== Example Request

include::{snippets}/app-registry-documentation/bulk-registering-apps/curl-request.adoc[]



[[api-guide-resources-app-registry-bulk-response-structure]]
===== Response Structure

include::{snippets}/app-registry-documentation/bulk-registering-apps/http-response.adoc[]



[[resources-app-registry-default]]
==== 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.

The following topics provide more details:

* <<api-guide-resources-app-registry-default-request-structure>>
* <<api-guide-resources-app-registry-default-path-parameters>>
* <<api-guide-resources-app-registry-default-example-request>>
* <<api-guide-resources-app-registry-default-response-structure>>



[[api-guide-resources-app-registry-default-request-structure]]
===== Request Structure

include::{snippets}/app-registry-documentation/app-default/http-request.adoc[]



[[api-guide-resources-app-registry-default-path-parameters]]
===== Path Parameters

include::{snippets}/app-registry-documentation/app-default/path-parameters.adoc[]



[[api-guide-resources-app-registry-default-example-request]]
===== Example Request

include::{snippets}/app-registry-documentation/app-default/curl-request.adoc[]



[[api-guide-resources-app-registry-default-response-structure]]
===== Response Structure

include::{snippets}/app-registry-documentation/app-default/http-response.adoc[]


[[resources-app-registry-delete]]
==== Unregistering an Application

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

* <<api-guide-resources-app-registry-delete-request-structure>>
* <<api-guide-resources-app-registry-delete-path-parameters>>
* <<api-guide-resources-app-registry-delete-example-request>>
* <<api-guide-resources-app-registry-delete-response-structure>>



[[api-guide-resources-app-registry-delete-request-structure]]
===== Request Structure

include::{snippets}/app-registry-documentation/unregistering-an-application/http-request.adoc[]



[[api-guide-resources-app-registry-delete-path-parameters]]
===== Path Parameters

include::{snippets}/app-registry-documentation/unregistering-an-application/path-parameters.adoc[]



[[api-guide-resources-app-registry-delete-example-request]]
===== Example Request

include::{snippets}/app-registry-documentation/unregistering-an-application/curl-request.adoc[]



[[api-guide-resources-app-registry-delete-response-structure]]
===== Response Structure

include::{snippets}/app-registry-documentation/unregistering-an-application/http-response.adoc[]



[[resources-app-registry-delete-all]]
==== Unregistering all Applications

A `DELETE` request on `/apps` unregisters all the applications.
The following topics provide more details:

* <<api-guide-resources-app-registry-delete-all-request-structure>>
* <<api-guide-resources-app-registry-delete-all-example-request>>
* <<api-guide-resources-app-registry-delete-all-response-structure>>



[[api-guide-resources-app-registry-delete-all-request-structure]]
===== Request Structure

include::{snippets}/app-registry-documentation/unregistering-all-applications/http-request.adoc[]



[[api-guide-resources-app-registry-delete-all-example-request]]
===== Example Request

include::{snippets}/app-registry-documentation/unregistering-all-applications/curl-request.adoc[]



[[api-guide-resources-app-registry-delete-all-response-structure]]
===== Response Structure

include::{snippets}/app-registry-documentation/unregistering-all-applications/http-response.adoc[]

[[api-guide-resources-schema-info]]
=== Schema Information

The schema information endpoint provides information about the supported Spring Boot schema versions for Task and Batch applications and the available Schema Targets.

The following topics provide more details:

* <<api-guide-resources-schema-info-versions>>
* <<api-guide-resources-schema-info-targets>>

[[api-guide-resources-schema-info-versions]]
==== List All Schema Versions

The schema endpoint provides for listing supported Spring Boot versions.

The following topics provide more details:

* <<api-guide-resources-schema-info-versions-request-structure>>
* <<api-guide-resources-schema-info-versions-example-request>>
* <<api-guide-resources-schema-info-versions-response-structure>>

[[api-guide-resources-schema-info-versions-request-structure]]
===== Request Structure

include::{snippets}/schema-documentation/schema-versions/http-request.adoc[]

[[api-guide-resources-schema-info-versions-example-request]]
===== Example Request

include::{snippets}/schema-documentation/schema-versions/curl-request.adoc[]

[[api-guide-resources-schema-info-versions-response-structure]]
===== Response Structure

include::{snippets}/schema-documentation/schema-versions/http-response.adoc[]

[[api-guide-resources-schema-info-targets]]
==== List All Schema Targets

The schema endpoint provides for listing supported Schema Targets.

The following topics provide more details:

* <<api-guide-resources-schema-info-targets-request-structure>>
* <<api-guide-resources-schema-info-targets-example-request>>
* <<api-guide-resources-schema-info-targets-response-structure>>

[[api-guide-resources-schema-info-targets-request-structure]]
===== Request Structure

include::{snippets}/schema-documentation/schema-targets/http-request.adoc[]

[[api-guide-resources-schema-info-targets-example-request]]
===== Example Request

include::{snippets}/schema-documentation/schema-targets/curl-request.adoc[]

[[api-guide-resources-schema-info-targets-response-structure]]
===== Response Structure

include::{snippets}/schema-documentation/schema-targets/http-response.adoc[]

[[api-guide-resources-audit-records]]
=== Audit Records

The audit records endpoint provides information about the audit records. The following topics provide more details:

* <<api-guide-resources-audit-records-list>>
* <<api-guide-resources-audit-record-get>>
* <<api-guide-resources-audit-action-types>>
* <<api-guide-resources-audit-operation-types>>

[[api-guide-resources-audit-records-list]]
==== List All Audit Records

The audit records endpoint lets you retrieve audit trail information.

The following topics provide more details:

* <<api-guide-resources-audit-records-list-request-structure>>
* <<api-guide-resources-audit-records-list-request-parameters>>
* <<api-guide-resources-audit-records-list-example-request>>
* <<api-guide-resources-audit-records-list-response-structure>>

[[api-guide-resources-audit-records-list-request-structure]]
===== Request Structure

include::{snippets}/audit-records-documentation/list-all-audit-records/http-request.adoc[]

[[api-guide-resources-audit-records-list-request-parameters]]
===== Request Parameters

include::{snippets}/audit-records-documentation/list-all-audit-records/request-parameters.adoc[]

[[api-guide-resources-audit-records-list-example-request]]
===== Example Request

include::{snippets}/audit-records-documentation/list-all-audit-records/curl-request.adoc[]

[[api-guide-resources-audit-records-list-response-structure]]
===== Response Structure

include::{snippets}/audit-records-documentation/list-all-audit-records/http-response.adoc[]


[[api-guide-resources-audit-record-get]]
==== Retrieve Audit Record Detail

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

* <<api-guide-resources-audit-record-get-request-structure>>
* <<api-guide-resources-audit-record-get-path-parameters>>
* <<api-guide-resources-audit-record-get-example-request>>
* <<api-guide-resources-audit-record-get-response-structure>>

[[api-guide-resources-audit-record-get-request-structure]]
===== Request Structure

include::{snippets}/audit-records-documentation/get-audit-record/http-request.adoc[]

[[api-guide-resources-audit-record-get-path-parameters]]
===== Path Parameters

include::{snippets}/audit-records-documentation/get-audit-record/path-parameters.adoc[]

[[api-guide-resources-audit-record-get-example-request]]
===== Example Request

include::{snippets}/audit-records-documentation/get-audit-record/curl-request.adoc[]

[[api-guide-resources-audit-record-get-response-structure]]
===== Response Structure

include::{snippets}/audit-records-documentation/get-audit-record/http-response.adoc[]


[[api-guide-resources-audit-action-types]]
==== List all the Audit Action Types

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

* <<api-guide-resources-audit-action-types-request-structure>>
* <<api-guide-resources-audit-action-types-example-request>>
* <<api-guide-resources-audit-action-types-response-structure>>

[[api-guide-resources-audit-action-types-request-structure]]
===== Request Structure

include::{snippets}/audit-records-documentation/get-audit-action-types/http-request.adoc[]

[[api-guide-resources-audit-action-types-example-request]]
===== Example Request

include::{snippets}/audit-records-documentation/get-audit-action-types/curl-request.adoc[]

[[api-guide-resources-audit-action-types-response-structure]]
===== Response Structure

include::{snippets}/audit-records-documentation/get-audit-action-types/http-response.adoc[]


[[api-guide-resources-audit-operation-types]]
==== List all the Audit Operation Types

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

* <<api-guide-resources-audit-operation-types-request-structure>>
* <<api-guide-resources-audit-operation-types-example-request>>
* <<api-guide-resources-audit-operation-types-response-structure>>

[[api-guide-resources-audit-operation-types-request-structure]]
===== Request Structure

include::{snippets}/audit-records-documentation/get-audit-operation-types/http-request.adoc[]

[[api-guide-resources-audit-operation-types-example-request]]
===== Example Request

include::{snippets}/audit-records-documentation/get-audit-operation-types/curl-request.adoc[]

[[api-guide-resources-audit-operation-types-response-structure]]
===== Response Structure

include::{snippets}/audit-records-documentation/get-audit-operation-types/http-response.adoc[]


[[api-guide-resources-stream-definitions]]
=== 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:

* <<api-guide-resources-stream-definitions-create>>
* <<api-guide-resources-stream-definitions-list>>
* <<api-guide-resources-stream-definitions-list-related>>
* <<api-guide-resources-stream-definition-get>>
* <<api-guide-resources-stream-definitions-delete-one>>
* <<api-guide-resources-stream-definitions-delete-all>>
* <<api-guide-resources-stream-deployment-deploy>>
* <<api-guide-resources-stream-deployment-undeploy>>
* <<api-guide-resources-stream-deployment-undeploy-all>>



[[api-guide-resources-stream-definitions-create]]
==== 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:

====
[source,bash]
----
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 "`<<api-guide-resources-stream-definitions-create-request-structure>>`", we also provide the date-time format.

The following topics provide more details:

* <<api-guide-resources-stream-definitions-create-request-structure>>
* <<api-guide-resources-stream-definitions-create-request-parameters>>
* <<api-guide-resources-stream-definitions-create-example-request>>
* <<api-guide-resources-stream-definitions-create-response-structure>>



[[api-guide-resources-stream-definitions-create-request-structure]]
===== Request Structure

include::{snippets}/stream-definitions-documentation/create-definition/http-request.adoc[]



[[api-guide-resources-stream-definitions-create-request-parameters]]
===== Request Parameters

include::{snippets}/stream-definitions-documentation/create-definition/request-parameters.adoc[]



[[api-guide-resources-stream-definitions-create-example-request]]
===== Example Request

include::{snippets}/stream-definitions-documentation/create-definition/curl-request.adoc[]



[[api-guide-resources-stream-definitions-create-response-structure]]
===== Response Structure

include::{snippets}/stream-definitions-documentation/create-definition/http-response.adoc[]



[[api-guide-resources-stream-definitions-list]]
==== List All Stream Definitions

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

* <<api-guide-resources-stream-definitions-list-request-structure>>
* <<api-guide-resources-stream-definitions-list-request-parameters>>
* <<api-guide-resources-stream-definitions-list-example-request>>
* <<api-guide-resources-stream-definitions-list-response-structure>>


[[api-guide-resources-stream-definitions-list-request-structure]]
===== Request Structure

include::{snippets}/stream-definitions-documentation/list-all-stream-definitions/http-request.adoc[]



[[api-guide-resources-stream-definitions-list-request-parameters]]
===== Request Parameters

include::{snippets}/stream-definitions-documentation/list-all-stream-definitions/request-parameters.adoc[]


[[api-guide-resources-stream-definitions-list-example-request]]
===== Example Request

include::{snippets}/stream-definitions-documentation/list-all-stream-definitions/curl-request.adoc[]



[[api-guide-resources-stream-definitions-list-response-structure]]
===== Response Structure

include::{snippets}/stream-definitions-documentation/list-all-stream-definitions/http-response.adoc[]



[[api-guide-resources-stream-definitions-list-related]]
==== List Related Stream Definitions

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

* <<api-guide-resources-stream-definitions-list-related-request-structure>>
* <<api-guide-resources-stream-definitions-list-related-request-parameters>>
* <<api-guide-resources-stream-definitions-list-related-example-request>>
* <<api-guide-resources-stream-definitions-list-related-response-structure>>



[[api-guide-resources-stream-definitions-list-related-request-structure]]
===== Request Structure

include::{snippets}/stream-definitions-documentation/list-related-stream-definitions/http-request.adoc[]



[[api-guide-resources-stream-definitions-list-related-request-parameters]]
===== Request Parameters

include::{snippets}/stream-definitions-documentation/list-related-stream-definitions/request-parameters.adoc[]



[[api-guide-resources-stream-definitions-list-related-example-request]]
===== Example Request

include::{snippets}/stream-definitions-documentation/list-related-stream-definitions/curl-request.adoc[]



[[api-guide-resources-stream-definitions-list-related-response-structure]]
===== Response Structure

include::{snippets}/stream-definitions-documentation/list-related-stream-definitions/http-response.adoc[]



[[api-guide-resources-stream-definition-get]]
==== Retrieve Stream Definition Detail

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

* <<api-guide-resources-stream-definition-get-request-structure>>
* <<api-guide-resources-stream-definition-get-path-parameters>>
* <<api-guide-resources-stream-definition-get-example-request>>
* <<api-guide-resources-stream-definition-get-response-structure>>


[[api-guide-resources-stream-definition-get-request-structure]]
===== Request Structure

include::{snippets}/stream-definitions-documentation/get-stream-definition/http-request.adoc[]



[[api-guide-resources-stream-definition-get-path-parameters]]
===== Path Parameters

include::{snippets}/stream-definitions-documentation/get-stream-definition/path-parameters.adoc[]



[[api-guide-resources-stream-definition-get-example-request]]
===== Example Request

include::{snippets}/stream-definitions-documentation/get-stream-definition/curl-request.adoc[]



[[api-guide-resources-stream-definition-get-response-structure]]
===== Response Structure

include::{snippets}/stream-definitions-documentation/get-stream-definition/http-response.adoc[]



[[api-guide-resources-stream-definitions-delete-one]]
==== Delete a Single Stream Definition

The streams endpoint lets you delete a single stream definition.
(See also: <<api-guide-resources-stream-definitions-delete-all>>.)
The following topics provide more details:

* <<api-guide-resources-stream-definitions-delete-one-request-structure>>
* <<api-guide-resources-stream-definitions-delete-one-request-parameters>>
* <<api-guide-resources-stream-definitions-delete-one-example-request>>
* <<api-guide-resources-stream-definitions-delete-one-response-structure>>



[[api-guide-resources-stream-definitions-delete-one-request-structure]]
===== Request Structure

include::{snippets}/stream-definitions-documentation/stream-definition-delete1/http-request.adoc[]



[[api-guide-resources-stream-definitions-delete-one-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-stream-definitions-delete-one-example-request]]
===== Example Request

include::{snippets}/stream-definitions-documentation/stream-definition-delete1/curl-request.adoc[]



[[api-guide-resources-stream-definitions-delete-one-response-structure]]
===== Response Structure

include::{snippets}/stream-definitions-documentation/stream-definition-delete1/http-response.adoc[]



[[api-guide-resources-stream-definitions-delete-all]]
==== Delete All Stream Definitions

The streams endpoint lets you delete all single stream definitions.
(See also: <<api-guide-resources-stream-definitions-delete-one>>.)
The following topics provide more details:

* <<api-guide-resources-stream-definitions-delete-all-request-structure>>
* <<api-guide-resources-stream-definitions-delete-all-request-parameters>>
* <<api-guide-resources-stream-definitions-delete-all-example-request>>
* <<api-guide-resources-stream-definitions-delete-all-response-structure>>



[[api-guide-resources-stream-definitions-delete-all-request-structure]]
===== Request Structure

include::{snippets}/stream-definitions-documentation/stream-definition-delete-all/http-request.adoc[]



[[api-guide-resources-stream-definitions-delete-all-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-stream-definitions-delete-all-example-request]]
===== Example Request

include::{snippets}/stream-definitions-documentation/stream-definition-delete-all/curl-request.adoc[]



[[api-guide-resources-stream-definitions-delete-all-response-structure]]
===== Response Structure

include::{snippets}/stream-definitions-documentation/stream-definition-delete-all/http-response.adoc[]


[[api-guide-resources-stream-validate]]
=== Stream Validation

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

* <<api-guide-resources-stream-validation-request-structure>>
* <<api-guide-resources-stream-validation-path-parameters>>
* <<api-guide-resources-stream-validation-example-request>>
* <<api-guide-resources-stream-validation-response-structure>>


[[api-guide-resources-stream-validation-request-structure]]
==== Request Structure

include::{snippets}/stream-validation-documentation/validate-stream/http-request.adoc[]

[[api-guide-resources-stream-validation-path-parameters]]
==== Path Parameters

include::{snippets}/stream-validation-documentation/validate-stream/path-parameters.adoc[]

[[api-guide-resources-stream-validation-example-request]]
==== Example Request

include::{snippets}/stream-validation-documentation/validate-stream/curl-request.adoc[]

[[api-guide-resources-stream-validation-response-structure]]
==== Response Structure

include::{snippets}/stream-validation-documentation/validate-stream/http-response.adoc[]

[[api-guide-resources-stream-deployment]]
=== 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:

* <<api-guide-resources-stream-deployment-deploy>>
* <<api-guide-resources-stream-deployment-undeploy>>
* <<api-guide-resources-stream-deployment-undeploy-all>>
* <<api-guide-resources-stream-deployment-update>>
* <<api-guide-resources-stream-deployment-rollback>>
* <<api-guide-resources-stream-deployment-manifest>>
* <<api-guide-resources-stream-deployment-history>>
* <<api-guide-resources-stream-deployment-platform-list>>
* <<api-guide-resources-stream-deployment-scale>>

[[api-guide-resources-stream-deployment-deploy]]
==== 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:

* <<api-guide-resources-stream-definitions-deployment-deploy-request-structure>>
* <<api-guide-resources-stream-definitions-deployment-deploy-request-parameters>>
* <<api-guide-resources-stream-definitions-deployment-deploy-example-request>>
* <<api-guide-resources-stream-definitions-deployment-deploy-response-structure>>

[[api-guide-resources-stream-definitions-deployment-deploy-request-structure]]
===== Request Structure

include::{snippets}/stream-deployments-documentation/deploy/http-request.adoc[]

include::{snippets}/stream-deployments-documentation/deploy/path-parameters.adoc[]



[[api-guide-resources-stream-definitions-deployment-deploy-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-stream-definitions-deployment-deploy-example-request]]
===== Example Request

include::{snippets}/stream-deployments-documentation/deploy/curl-request.adoc[]



[[api-guide-resources-stream-definitions-deployment-deploy-response-structure]]
===== Response Structure

include::{snippets}/stream-deployments-documentation/deploy/http-response.adoc[]



[[api-guide-resources-stream-deployment-undeploy]]
==== Undeploy Stream Definition

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

* <<api-guide-resources-stream-definitions-deployment-undeploy-request-structure>>
* <<api-guide-resources-stream-definitions-deployment-undeploy-request-parameters>>
* <<api-guide-resources-stream-definitions-deployment-undeploy-example-request>>
* <<api-guide-resources-stream-definitions-deployment-undeploy-response-structure>>



[[api-guide-resources-stream-definitions-deployment-undeploy-request-structure]]
===== Request Structure

include::{snippets}/stream-deployments-documentation/un-deploy/http-request.adoc[]

include::{snippets}/stream-deployments-documentation/un-deploy/path-parameters.adoc[]


[[api-guide-resources-stream-definitions-deployment-undeploy-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-stream-definitions-deployment-undeploy-example-request]]
===== Example Request

include::{snippets}/stream-deployments-documentation/un-deploy/curl-request.adoc[]



[[api-guide-resources-stream-definitions-deployment-undeploy-response-structure]]
===== Response Structure

include::{snippets}/stream-deployments-documentation/un-deploy/http-response.adoc[]



[[api-guide-resources-stream-deployment-undeploy-all]]
==== Undeploy All Stream Definitions

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

* <<api-guide-resources-stream-definitions-deployment-undeploy-all-request-structure>>
* <<api-guide-resources-stream-definitions-deployment-undeploy-all-request-parameters>>
* <<api-guide-resources-stream-definitions-deployment-undeploy-all-example-request>>
* <<api-guide-resources-stream-definitions-deployment-undeploy-all-response-structure>>

[[api-guide-resources-stream-definitions-deployment-undeploy-all-request-structure]]
===== Request Structure

include::{snippets}/stream-deployments-documentation/un-deploy-all/http-request.adoc[]



[[api-guide-resources-stream-definitions-deployment-undeploy-all-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-stream-definitions-deployment-undeploy-all-example-request]]
===== Example Request

include::{snippets}/stream-deployments-documentation/un-deploy-all/curl-request.adoc[]



[[api-guide-resources-stream-definitions-deployment-undeploy-all-response-structure]]
===== Response Structure

include::{snippets}/stream-deployments-documentation/un-deploy-all/http-response.adoc[]

[[api-guide-resources-stream-deployment-update]]
==== Update Deployed Stream

Thanks to Skipper, you can update deployed streams, and provide additional deployment properties.

* <<api-guide-resources-stream-definitions-deployment-update-request-structure>>
* <<api-guide-resources-stream-definitions-deployment-update-request-parameters>>
* <<api-guide-resources-stream-definitions-deployment-update-example-request>>
* <<api-guide-resources-stream-definitions-deployment-update-response-structure>>



[[api-guide-resources-stream-definitions-deployment-update-request-structure]]
===== Request Structure

include::{snippets}/stream-deployments-documentation/stream-update/http-request.adoc[]

include::{snippets}/stream-deployments-documentation/stream-update/path-parameters.adoc[]


[[api-guide-resources-stream-definitions-deployment-update-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-stream-definitions-deployment-update-example-request]]
===== Example Request

include::{snippets}/stream-deployments-documentation/stream-update/curl-request.adoc[]



[[api-guide-resources-stream-definitions-deployment-update-response-structure]]
===== Response Structure

include::{snippets}/stream-deployments-documentation/stream-update/http-response.adoc[]

[[api-guide-resources-stream-deployment-rollback]]
==== Rollback Stream Definition

Rollback the stream to the previous or a specific version of the stream.

* <<api-guide-resources-stream-definitions-deployment-rollback-request-structure>>
* <<api-guide-resources-stream-definitions-deployment-rollback-request-parameters>>
* <<api-guide-resources-stream-definitions-deployment-rollback-example-request>>
* <<api-guide-resources-stream-definitions-deployment-rollback-response-structure>>



[[api-guide-resources-stream-definitions-deployment-rollback-request-structure]]
===== Request Structure

include::{snippets}/stream-deployments-documentation/rollback/http-request.adoc[]

include::{snippets}/stream-deployments-documentation/rollback/path-parameters.adoc[]


[[api-guide-resources-stream-definitions-deployment-rollback-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-stream-definitions-deployment-rollback-example-request]]
===== Example Request

include::{snippets}/stream-deployments-documentation/rollback/curl-request.adoc[]



[[api-guide-resources-stream-definitions-deployment-rollback-response-structure]]
===== Response Structure

include::{snippets}/stream-deployments-documentation/rollback/http-response.adoc[]


[[api-guide-resources-stream-deployment-manifest]]
==== Get Manifest

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

* <<api-guide-resources-stream-definitions-deployment-manifest-request-structure>>
* <<api-guide-resources-stream-definitions-deployment-manifest-request-parameters>>
* <<api-guide-resources-stream-definitions-deployment-manifest-example-request>>
* <<api-guide-resources-stream-definitions-deployment-manifest-response-structure>>



[[api-guide-resources-stream-definitions-deployment-manifest-request-structure]]
===== Request Structure

include::{snippets}/stream-deployments-documentation/manifest/http-request.adoc[]

include::{snippets}/stream-deployments-documentation/manifest/path-parameters.adoc[]


[[api-guide-resources-stream-definitions-deployment-manifest-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-stream-definitions-deployment-manifest-example-request]]
===== Example Request

include::{snippets}/stream-deployments-documentation/manifest/curl-request.adoc[]



[[api-guide-resources-stream-definitions-deployment-manifest-response-structure]]
===== Response Structure

include::{snippets}/stream-deployments-documentation/manifest/http-response.adoc[]


[[api-guide-resources-stream-deployment-history]]
==== Get Deployment History

Get the stream's deployment history.

* <<api-guide-resources-stream-definitions-deployment-history-request-structure>>
* <<api-guide-resources-stream-definitions-deployment-history-example-request>>
* <<api-guide-resources-stream-definitions-deployment-history-response-structure>>



[[api-guide-resources-stream-definitions-deployment-history-request-structure]]
===== Request Structure

include::{snippets}/stream-deployments-documentation/history/http-request.adoc[]


[[api-guide-resources-stream-definitions-deployment-history-example-request]]
===== Example Request

include::{snippets}/stream-deployments-documentation/history/curl-request.adoc[]


[[api-guide-resources-stream-definitions-deployment-history-response-structure]]
===== Response Structure

include::{snippets}/stream-deployments-documentation/history/http-response.adoc[]

[[api-guide-resources-stream-deployment-platform-list]]
==== Get Deployment Platforms

Retrieve a list of supported deployment platforms.

* <<api-guide-resources-stream-definitions-deployment-platform-list-request-structure>>
* <<api-guide-resources-stream-definitions-deployment-history-example-request>>
* <<api-guide-resources-stream-definitions-deployment-history-response-structure>>


[[api-guide-resources-stream-definitions-deployment-platform-list-request-structure]]
===== Request Structure

include::{snippets}/stream-deployments-documentation/platform-list/http-request.adoc[]


[[api-guide-resources-stream-definitions-deployment-platform-list-example-request]]
===== Example Request

include::{snippets}/stream-deployments-documentation/platform-list/curl-request.adoc[]


[[api-guide-resources-stream-definitions-deployment-platform-list-response-structure]]
===== Response Structure

include::{snippets}/stream-deployments-documentation/platform-list/http-response.adoc[]

[[api-guide-resources-stream-deployment-scale]]
==== 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:

* <<api-guide-resources-stream-definitions-deployment-scale-request-structure>>
* <<api-guide-resources-stream-definitions-deployment-scale-request-parameters>>
* <<api-guide-resources-stream-definitions-deployment-scale-example-request>>
* <<api-guide-resources-stream-definitions-deployment-scale-response-structure>>

[[api-guide-resources-stream-definitions-deployment-scale-request-structure]]
===== Request Structure

include::{snippets}/stream-deployments-documentation/scale/http-request.adoc[]

include::{snippets}/stream-deployments-documentation/scale/path-parameters.adoc[]


[[api-guide-resources-stream-definitions-deployment-scale-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.


[[api-guide-resources-stream-definitions-deployment-scale-example-request]]
===== Example Request

include::{snippets}/stream-deployments-documentation/scale/curl-request.adoc[]


[[api-guide-resources-stream-definitions-deployment-scale-response-structure]]
===== Response Structure

include::{snippets}/stream-deployments-documentation/scale/http-response.adoc[]

[[api-guide-resources-task-definitions]]
=== 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:

* <<api-guide-resources-task-definitions-creating>>
* <<api-guide-resources-task-definitions-list>>
* <<api-guide-resources-task-definition-detail>>
* <<api-guide-resources-delete-task-definition>>



[[api-guide-resources-task-definitions-creating]]
==== Creating a New Task Definition

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

* <<api-guide-resources-stream-task-definitions-creating-request-structure>>
* <<api-guide-resources-stream-task-definitions-creating-request-parameters>>
* <<api-guide-resources-stream-task-definitions-creating-example-request>>
* <<api-guide-resources-stream-task-definitions-creating-response-structure>>



[[api-guide-resources-stream-task-definitions-creating-request-structure]]
===== Request Structure

include::{snippets}/task-definitions-documentation/create-definition/http-request.adoc[]



[[api-guide-resources-stream-task-definitions-creating-request-parameters]]
===== Request Parameters

include::{snippets}/task-definitions-documentation/create-definition/request-parameters.adoc[]



[[api-guide-resources-stream-task-definitions-creating-example-request]]
===== Example Request

include::{snippets}/task-definitions-documentation/create-definition/curl-request.adoc[]



[[api-guide-resources-stream-task-definitions-creating-response-structure]]
===== Response Structure

include::{snippets}/task-definitions-documentation/create-definition/http-response.adoc[]



[[api-guide-resources-task-definitions-list]]
==== List All Task Definitions

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

* <<api-guide-resources-stream-task-definitions-list-request-structure>>
* <<api-guide-resources-stream-task-definitions-list-request-parameters>>
* <<api-guide-resources-stream-task-definitions-list-example-request>>
* <<api-guide-resources-stream-task-definitions-list-response-structure>>



[[api-guide-resources-stream-task-definitions-list-request-structure]]
===== Request Structure

include::{snippets}/task-definitions-documentation/list-all-task-definitions/http-request.adoc[]



[[api-guide-resources-stream-task-definitions-list-request-parameters]]
===== Request Parameters

include::{snippets}/task-definitions-documentation/list-all-task-definitions/request-parameters.adoc[]



[[api-guide-resources-stream-task-definitions-list-example-request]]
===== Example Request

include::{snippets}/task-definitions-documentation/list-all-task-definitions/curl-request.adoc[]



[[api-guide-resources-stream-task-definitions-list-response-structure]]
===== Response Structure

include::{snippets}/task-definitions-documentation/list-all-task-definitions/http-response.adoc[]



[[api-guide-resources-task-definition-detail]]
==== Retrieve Task Definition Detail

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

* <<api-guide-resources-stream-task-definitions-detail-request-structure>>
* <<api-guide-resources-stream-task-definitions-detail-request-parameters>>
* <<api-guide-resources-stream-task-definitions-detail-example-request>>
* <<api-guide-resources-stream-task-definitions-detail-response-structure>>



[[api-guide-resources-stream-task-definitions-detail-request-structure]]
===== Request Structure

include::{snippets}/task-definitions-documentation/display-detail/http-request.adoc[]

include::{snippets}/task-definitions-documentation/display-detail/path-parameters.adoc[]



[[api-guide-resources-stream-task-definitions-detail-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-stream-task-definitions-detail-example-request]]
===== Example Request

include::{snippets}/task-definitions-documentation/display-detail/curl-request.adoc[]



[[api-guide-resources-stream-task-definitions-detail-response-structure]]
===== Response Structure

include::{snippets}/task-definitions-documentation/display-detail/http-response.adoc[]




[[api-guide-resources-delete-task-definition]]
==== Delete Task Definition

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

* <<api-guide-resources-delete-task-definition-request-structure>>
* <<api-guide-resources-delete-task-definition-request-parameters>>
* <<api-guide-resources-delete-task-definition-example-request>>
* <<api-guide-resources-delete-task-definition-response-structure>>



[[api-guide-resources-delete-task-definition-request-structure]]
===== Request Structure

include::{snippets}/task-definitions-documentation/task-definition-delete/http-request.adoc[]

include::{snippets}/task-definitions-documentation/task-definition-delete/path-parameters.adoc[]



[[api-guide-resources-delete-task-definition-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-delete-task-definition-example-request]]
===== Example Request

include::{snippets}/task-definitions-documentation/task-definition-delete/curl-request.adoc[]



[[api-guide-resources-delete-task-definition-response-structure]]
===== Response Structure

include::{snippets}/task-definitions-documentation/task-definition-delete/http-response.adoc[]


[[api-guide-resources-task-scheduler]]
=== 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:

* <<api-guide-resources-task-schedule-creating>>
* <<api-guide-resources-task-schedule-list>>
* <<api-guide-resources-task-schedule-filtered-list>>
* <<api-guide-resources-task-delete-schedule>>

[[api-guide-resources-task-schedule-creating]]
==== Creating a New Task Schedule

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

* <<api-guide-resources-stream-task-schedule-creating-request-structure>>
* <<api-guide-resources-stream-task-schedule-creating-request-parameters>>
* <<api-guide-resources-stream-task-schedule-creating-example-request>>
* <<api-guide-resources-stream-task-schedule-creating-response-structure>>


[[api-guide-resources-stream-task-schedule-creating-request-structure]]
===== Request Structure

include::{snippets}/task-scheduler-documentation/create-schedule/http-request.adoc[]



[[api-guide-resources-stream-task-schedule-creating-request-parameters]]
===== Request Parameters

include::{snippets}/task-scheduler-documentation/create-schedule/request-parameters.adoc[]



[[api-guide-resources-stream-task-schedule-creating-example-request]]
===== Example Request

include::{snippets}/task-scheduler-documentation/create-schedule/curl-request.adoc[]



[[api-guide-resources-stream-task-schedule-creating-response-structure]]
===== Response Structure

include::{snippets}/task-scheduler-documentation/create-schedule/http-response.adoc[]



[[api-guide-resources-task-schedule-list]]
==== List All Schedules

The task schedules endpoint lets you get all task schedules.
The following topics provide more details:

* <<api-guide-resources-stream-task-schedule-list-request-structure>>
* <<api-guide-resources-stream-task-schedule-list-request-parameters>>
* <<api-guide-resources-stream-task-schedule-list-example-request>>
* <<api-guide-resources-stream-task-schedule-list-response-structure>>



[[api-guide-resources-stream-task-schedule-list-request-structure]]
===== Request Structure

include::{snippets}/task-scheduler-documentation/list-all-schedules/http-request.adoc[]



[[api-guide-resources-stream-task-schedule-list-request-parameters]]
===== Request Parameters

include::{snippets}/task-scheduler-documentation/list-all-schedules/request-parameters.adoc[]



[[api-guide-resources-stream-task-schedule-list-example-request]]
===== Example Request

include::{snippets}/task-scheduler-documentation/list-all-schedules/curl-request.adoc[]



[[api-guide-resources-stream-task-schedule-list-response-structure]]
===== Response Structure

include::{snippets}/task-scheduler-documentation/list-all-schedules/http-response.adoc[]

[[api-guide-resources-task-schedule-filtered-list]]
==== 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:

* <<api-guide-resources-stream-task-schedule-list-filtered-request-structure>>
* <<api-guide-resources-stream-task-schedule-list-filtered-request-parameters>>
* <<api-guide-resources-stream-task-schedule-list-filtered-example-request>>
* <<api-guide-resources-stream-task-schedule-list-filtered-response-structure>>



[[api-guide-resources-stream-task-schedule-list-filtered-request-structure]]
===== Request Structure

include::{snippets}/task-scheduler-documentation/list-filtered-schedules/http-request.adoc[]

include::{snippets}/task-scheduler-documentation/list-filtered-schedules/path-parameters.adoc[]


[[api-guide-resources-stream-task-schedule-list-filtered-request-parameters]]
===== Request Parameters

include::{snippets}/task-scheduler-documentation/list-filtered-schedules/request-parameters.adoc[]



[[api-guide-resources-stream-task-schedule-list-filtered-example-request]]
===== Example Request

include::{snippets}/task-scheduler-documentation/list-filtered-schedules/curl-request.adoc[]



[[api-guide-resources-stream-task-schedule-list-filtered-response-structure]]
===== Response Structure

include::{snippets}/task-scheduler-documentation/list-filtered-schedules/http-response.adoc[]



[[api-guide-resources-task-delete-schedule]]
==== Delete Task Schedule

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

* <<api-guide-resources-delete-task-schedule-request-structure>>
* <<api-guide-resources-delete-task-schedule-request-parameters>>
* <<api-guide-resources-delete-task-schedule-example-request>>
* <<api-guide-resources-delete-task-schedule-response-structure>>



[[api-guide-resources-delete-task-schedule-request-structure]]
===== Request Structure

include::{snippets}/task-scheduler-documentation/delete-schedule/http-request.adoc[]

include::{snippets}/task-scheduler-documentation/delete-schedule/path-parameters.adoc[]

[[api-guide-resources-delete-task-schedule-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-delete-task-schedule-example-request]]
===== Example Request

include::{snippets}/task-scheduler-documentation/delete-schedule/curl-request.adoc[]



[[api-guide-resources-delete-task-schedule-response-structure]]
===== Response Structure

include::{snippets}/task-scheduler-documentation/delete-schedule/http-response.adoc[]


[[api-guide-resources-task-validate]]
=== Task Validation

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

* <<api-guide-resources-task-validation-request-structure>>
* <<api-guide-resources-task-validation-path-parameters>>
* <<api-guide-resources-task-validation-example-request>>
* <<api-guide-resources-task-validation-response-structure>>


[[api-guide-resources-task-validation-request-structure]]
==== Request Structure

include::{snippets}/task-validation-documentation/validate-task/http-request.adoc[]

[[api-guide-resources-task-validation-path-parameters]]
==== Path Parameters

include::{snippets}/task-validation-documentation/validate-task/path-parameters.adoc[]


[[api-guide-resources-task-validation-example-request]]
==== Example Request

include::{snippets}/task-validation-documentation/validate-task/curl-request.adoc[]

[[api-guide-resources-task-validation-response-structure]]
==== Response Structure

include::{snippets}/task-validation-documentation/validate-task/http-response.adoc[]


[[api-guide-resources-task-executions]]
=== 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:

* <<api-guide-resources-task-executions-launching>>
* <<api-guide-resources-task-executions-stopping>>
* <<api-guide-resources-task-executions-list>>
* <<api-guide-resources-task-executions-list-by-name>>
* <<api-guide-resources-task-executions-detail>>
* <<api-guide-resources-task-executions-delete>>
* <<api-guide-resources-task-executions-current-count>>



[[api-guide-resources-task-executions-launching]]
==== Launching a Task (Legacy)

Launching a task is done by requesting the creation of a new task execution. This endpoint will fail if the task is registered as a Spring Boot 3 application.

The following topics provide more details:

* <<api-guide-resources-task-executions-launching-request-structure>>
* <<api-guide-resources-task-executions-launching-request-parameters>>
* <<api-guide-resources-task-executions-launching-example-request>>
* <<api-guide-resources-task-executions-launching-response-structure>>

[[api-guide-resources-task-executions-launching-request-structure]]
===== Request Structure

include::{snippets}/task-executions-documentation/launch-task/http-request.adoc[]



[[api-guide-resources-task-executions-launching-request-parameters]]
===== Request Parameters

include::{snippets}/task-executions-documentation/launch-task/request-parameters.adoc[]



[[api-guide-resources-task-executions-launching-example-request]]
===== Example Request

include::{snippets}/task-executions-documentation/launch-task/curl-request.adoc[]


[[api-guide-resources-task-executions-launching-response-structure]]
===== Response Structure

include::{snippets}/task-executions-documentation/launch-task/http-response.adoc[]

[[api-guide-resources-task-executions-launching-boot3]]
==== Launching a Task

Launching a task is done by requesting the creation of a new task execution. The response will contain an execution id and a schema target.

The following topics provide more details:

* <<api-guide-resources-task-executions-launching-boot3-request-structure>>
* <<api-guide-resources-task-executions-launching-boot3-request-parameters>>
* <<api-guide-resources-task-executions-launching-boot3-example-request>>
* <<api-guide-resources-task-executions-launching-boot3-response-structure>>


[[api-guide-resources-task-executions-launching-boot3-request-structure]]
===== Request Structure

include::{snippets}/task-executions-documentation/launch-task-boot3/http-request.adoc[]



[[api-guide-resources-task-executions-launching-boot3-request-parameters]]
===== Request Parameters

include::{snippets}/task-executions-documentation/launch-task-boot3/request-parameters.adoc[]



[[api-guide-resources-task-executions-launching-boot3-example-request]]
===== Example Request

include::{snippets}/task-executions-documentation/launch-task-boot3/curl-request.adoc[]


[[api-guide-resources-task-executions-launching-boot3-response-structure]]
===== Response Structure

include::{snippets}/task-executions-documentation/launch-task-boot3/http-response.adoc[]


[[api-guide-resources-task-executions-stopping]]
==== Stopping a Task

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

* <<api-guide-resources-task-executions-stopping-request-structure>>
* <<api-guide-resources-task-executions-stopping-path-parameters>>
* <<api-guide-resources-task-executions-stopping-request-parameters>>
* <<api-guide-resources-task-executions-stopping-example-request>>
* <<api-guide-resources-task-executions-stopping-response-structure>>



[[api-guide-resources-task-executions-stopping-request-structure]]
===== Request Structure

include::{snippets}/task-executions-documentation/stop-task/http-request.adoc[]



[[api-guide-resources-task-executions-stopping-path-parameters]]
===== Path Parameters

include::{snippets}/task-executions-documentation/stop-task/path-parameters.adoc[]

[[api-guide-resources-task-executions-stopping-request-parameters]]
===== Request Parameters

include::{snippets}/task-executions-documentation/stop-task/request-parameters.adoc[]

[[api-guide-resources-task-executions-stopping-example-request]]
===== Example Request

include::{snippets}/task-executions-documentation/stop-task/curl-request.adoc[]


[[api-guide-resources-task-executions-stopping-response-structure]]
===== Response Structure

include::{snippets}/task-executions-documentation/stop-task/http-response.adoc[]

[[api-guide-resources-task-executions-list]]
==== List All Task Executions

The task executions endpoint lets you list all task executions.
The following topics provide more details:

* <<api-guide-resources-task-executions-list-request-structure>>
* <<api-guide-resources-task-executions-list-request-parameters>>
* <<api-guide-resources-task-executions-list-example-request>>
* <<api-guide-resources-task-executions-list-response-structure>>



[[api-guide-resources-task-executions-list-request-structure]]
===== Request Structure

include::{snippets}/task-executions-documentation/list-task-executions/http-request.adoc[]



[[api-guide-resources-task-executions-list-request-parameters]]
===== Request Parameters

include::{snippets}/task-executions-documentation/list-task-executions/request-parameters.adoc[]



[[api-guide-resources-task-executions-list-example-request]]
===== Example Request

include::{snippets}/task-executions-documentation/list-task-executions/curl-request.adoc[]



[[api-guide-resources-task-executions-list-response-structure]]
===== Response Structure

include::{snippets}/task-executions-documentation/list-task-executions/http-response.adoc[]



[[api-guide-resources-task-executions-list-by-name]]
==== 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:

* <<api-guide-resources-task-executions-list-by-name-request-structure>>
* <<api-guide-resources-task-executions-list-by-name-request-parameters>>
* <<api-guide-resources-task-executions-list-by-name-example-request>>
* <<api-guide-resources-task-executions-list-by-name-response-structure>>



[[api-guide-resources-task-executions-list-by-name-request-structure]]
===== Request Structure

include::{snippets}/task-executions-documentation/list-task-executions-by-name/http-request.adoc[]



[[api-guide-resources-task-executions-list-by-name-request-parameters]]
===== Request Parameters

include::{snippets}/task-executions-documentation/list-task-executions-by-name/request-parameters.adoc[]



[[api-guide-resources-task-executions-list-by-name-example-request]]
===== Example Request

include::{snippets}/task-executions-documentation/list-task-executions-by-name/curl-request.adoc[]



[[api-guide-resources-task-executions-list-by-name-response-structure]]
===== Response Structure

include::{snippets}/task-executions-documentation/list-task-executions-by-name/http-response.adoc[]



[[api-guide-resources-task-executions-detail]]
==== Task Execution Detail

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

* <<api-guide-resources-task-executions-detail-request-structure>>
* <<api-guide-resources-task-executions-detail-request-parameters>>
* <<api-guide-resources-task-executions-detail-example-request>>
* <<api-guide-resources-task-executions-detail-response-structure>>



[[api-guide-resources-task-executions-detail-request-structure]]
===== Request Structure

include::{snippets}/task-executions-documentation/get-task-display-detail/http-request.adoc[]

include::{snippets}/task-executions-documentation/get-task-display-detail/path-parameters.adoc[]



[[api-guide-resources-task-executions-detail-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-task-executions-detail-example-request]]
===== Example Request

include::{snippets}/task-executions-documentation/get-task-display-detail/curl-request.adoc[]



[[api-guide-resources-task-executions-detail-response-structure]]
===== Response Structure

include::{snippets}/task-executions-documentation/get-task-display-detail/http-response.adoc[]


[[api-guide-resources-task-executions-detail-by-external-id]]
==== Task Execution Detail by External Id

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

* <<api-guide-resources-task-executions-detail-by-external-id-request-structure>>
* <<api-guide-resources-task-executions-detail-by-external-id-request-parameters>>
* <<api-guide-resources-task-executions-detail-by-external-id-example-request>>
* <<api-guide-resources-task-executions-detail-by-external-id-response-structure>>



[[api-guide-resources-task-executions-detail-by-external-id-request-structure]]
===== Request Structure

include::{snippets}/task-executions-documentation/get-task-display-detail-by-external-id/http-request.adoc[]

include::{snippets}/task-executions-documentation/get-task-display-detail-by-external-id/path-parameters.adoc[]



[[api-guide-resources-task-executions-detail-by-external-id-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-task-executions-detail-by-external-id-example-request]]
===== Example Request

include::{snippets}/task-executions-documentation/get-task-display-detail-by-external-id/curl-request.adoc[]



[[api-guide-resources-task-executions-detail-by-external-id-response-structure]]
===== Response Structure

include::{snippets}/task-executions-documentation/get-task-display-detail-by-external-id/http-response.adoc[]

[[api-guide-resources-task-executions-delete]]
==== Delete Task Execution

The task execution endpoint lets you:

- Clean up resources used to deploy the task
- Remove relevant task data as well as possibly associated Spring Batch job data from the persistence store

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

The following topics provide more details:

* <<api-guide-resources-task-executions-delete-request-structure>>
* <<api-guide-resources-task-executions-delete-request-parameters>>
* <<api-guide-resources-task-executions-delete-example-request>>
* <<api-guide-resources-task-executions-delete-response-structure>>

Please refer to the following section in regards to <<api-guide-resources-task-executions-delete-multiple-and-task-data>>.

[[api-guide-resources-task-executions-delete-request-structure]]
===== Request Structure

include::{snippets}/task-executions-documentation/task-execution-remove-and-task-data-remove/http-request.adoc[]

include::{snippets}/task-executions-documentation/task-execution-remove-and-task-data-remove/path-parameters.adoc[]

[IMPORTANT]
====
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.
====

[[api-guide-resources-task-executions-delete-request-parameters]]
===== Request Parameters

This endpoint supports one optional request parameter named **action**. It is an enumeration and supports the following
values:

- CLEANUP
- REMOVE_DATA

include::{snippets}/task-executions-documentation/task-execution-remove-and-task-data-remove/request-parameters.adoc[]

[[api-guide-resources-task-executions-delete-example-request]]
===== Example Request

include::{snippets}/task-executions-documentation/task-execution-remove-and-task-data-remove/curl-request.adoc[]

[[api-guide-resources-task-executions-delete-response-structure]]
===== Response Structure

include::{snippets}/task-executions-documentation/task-execution-remove-and-task-data-remove/http-response.adoc[]

[[api-guide-resources-task-executions-delete-multiple-and-task-data]]
==== 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.

The following example illustrates how a request can be made using multiple task execution IDs and multiple actions:

include::{snippets}/task-executions-documentation/task-execution-remove-and-task-data-remove/curl-request.adoc[]

include::{snippets}/task-executions-documentation/task-execution-remove-and-task-data-remove/path-parameters.adoc[]

include::{snippets}/task-executions-documentation/task-execution-remove-and-task-data-remove/request-parameters.adoc[]

IMPORTANT: 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.

NOTE: 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).

[[api-guide-resources-task-executions-current-count]]
==== Task Execution Current Count

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

* <<api-guide-resources-task-executions-current-count-request-structure>>
* <<api-guide-resources-task-executions-current-count-request-parameters>>
* <<api-guide-resources-task-executions-current-count-example-request>>
* <<api-guide-resources-task-executions-current-count-response-structure>>


[[api-guide-resources-task-executions-current-count-request-structure]]
===== Request Structure

include::{snippets}/task-executions-documentation/get-task-current-count/http-request.adoc[]

[[api-guide-resources-task-executions-current-count-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.

[[api-guide-resources-task-executions-current-count-example-request]]
===== Example Request

include::{snippets}/task-executions-documentation/get-task-current-count/curl-request.adoc[]

[[api-guide-resources-task-executions-current-count-response-structure]]
===== Response Structure

include::{snippets}/task-executions-documentation/get-task-current-count/http-response.adoc[]


[[api-guide-resources-job-executions]]
=== 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:

* <<api-guide-resources-job-executions-list>>
* <<api-guide-resources-job-executions-thin-job-execution-list>>
* <<api-guide-resources-job-executions-job-execution-info-only-list-by-name>>
* <<api-guide-resources-job-executions-thin-job-execution-info-only-list-by-name>>
* <<api-guide-resources-job-executions-thin-job-execution-info-only-list-by-date>>
* <<api-guide-resources-job-executions-thin-job-execution-info-only-list-by-job-instance-id>>
* <<api-guide-resources-job-executions-thin-job-execution-info-only-list-by-task-execution-id>>
* <<api-guide-resources-job-executions-detail>>
* <<api-guide-resources-job-executions-stop>>
* <<api-guide-resources-job-executions-restart>>



[[api-guide-resources-job-executions-list]]
==== List All Job Executions

The job executions endpoint lets you list all job executions.
The following topics provide more details:

* <<api-guide-resources-job-executions-list-request-structure>>
* <<api-guide-resources-job-executions-list-request-parameters>>
* <<api-guide-resources-job-executions-list-example-request>>
* <<api-guide-resources-job-executions-list-response-structure>>



[[api-guide-resources-job-executions-list-request-structure]]
===== Request Structure

include::{snippets}/job-executions-documentation/list-job-executions/http-request.adoc[]



[[api-guide-resources-job-executions-list-request-parameters]]
===== Request Parameters

include::{snippets}/job-executions-documentation/list-job-executions/request-parameters.adoc[]



[[api-guide-resources-job-executions-list-example-request]]
===== Example Request

include::{snippets}/job-executions-documentation/list-job-executions/curl-request.adoc[]



[[api-guide-resources-job-executions-list-response-structure]]
===== Response Structure

include::{snippets}/job-executions-documentation/list-job-executions/http-response.adoc[]

[[api-guide-resources-job-executions-thin-job-execution-list]]
==== 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:

* <<api-guide-resources-job-executions-thin-job-execution-list-request-structure>>
* <<api-guide-resources-job-executions-thin-job-execution-list-request-parameters>>
* <<api-guide-resources-job-executions-thin-job-execution-list-example-request>>
* <<api-guide-resources-job-executions-thin-job-execution-list-response-structure>>



[[api-guide-resources-job-executions-thin-job-execution-list-request-structure]]
===== Request Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions/http-request.adoc[]



[[api-guide-resources-job-executions-thin-job-execution-list-request-parameters]]
===== Request Parameters

include::{snippets}/job-executions-documentation/list-thin-job-executions/request-parameters.adoc[]



[[api-guide-resources-job-executions-thin-job-execution-list-example-request]]
===== Example Request

include::{snippets}/job-executions-documentation/list-thin-job-executions/curl-request.adoc[]



[[api-guide-resources-job-executions-thin-job-execution-list-response-structure]]
===== Response Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions/http-response.adoc[]

[[api-guide-resources-job-executions-job-execution-info-only-list-by-name]]
==== 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:

* <<api-guide-resources-job-executions-list-by-name-request-structure>>
* <<api-guide-resources-job-executions-list-by-name-request-parameters>>
* <<api-guide-resources-job-executions-list-by-name-example-request>>
* <<api-guide-resources-job-executions-list-by-name-response-structure>>



[[api-guide-resources-job-executions-list-by-name-request-structure]]
===== Request Structure

include::{snippets}/job-executions-documentation/list-job-executions-by-name/http-request.adoc[]



[[api-guide-resources-job-executions-list-by-name-request-parameters]]
===== Request Parameters

include::{snippets}/job-executions-documentation/list-job-executions-by-name/request-parameters.adoc[]



[[api-guide-resources-job-executions-list-by-name-example-request]]
===== Example Request

include::{snippets}/job-executions-documentation/list-job-executions-by-name/curl-request.adoc[]



[[api-guide-resources-job-executions-list-by-name-response-structure]]
===== Response Structure

include::{snippets}/job-executions-documentation/list-job-executions-by-name/http-response.adoc[]

[[api-guide-resources-job-executions-thin-job-execution-info-only-list-by-name]]
==== 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:

* <<api-guide-resources-job-executions-thin-list-by-name-request-structure>>
* <<api-guide-resources-job-executions-thin-list-by-name-request-parameters>>
* <<api-guide-resources-job-executions-thin-list-by-name-example-request>>
* <<api-guide-resources-job-executions-thin-list-by-name-response-structure>>



[[api-guide-resources-job-executions-thin-list-by-name-request-structure]]
===== Request Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-name/http-request.adoc[]



[[api-guide-resources-job-executions-thin-list-by-name-request-parameters]]
===== Request Parameters

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-name/request-parameters.adoc[]



[[api-guide-resources-job-executions-thin-list-by-name-example-request]]
===== Example Request

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-name/curl-request.adoc[]



[[api-guide-resources-job-executions-thin-list-by-name-response-structure]]
===== Response Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-name/http-response.adoc[]

[[api-guide-resources-job-executions-thin-job-execution-info-only-list-by-date]]
==== 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:

* <<api-guide-resources-job-executions-thin-list-by-date-request-structure>>
* <<api-guide-resources-job-executions-thin-list-by-date-request-parameters>>
* <<api-guide-resources-job-executions-thin-list-by-date-example-request>>
* <<api-guide-resources-job-executions-thin-list-by-date-response-structure>>



[[api-guide-resources-job-executions-thin-list-by-date-request-structure]]
===== Request Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-date/http-request.adoc[]



[[api-guide-resources-job-executions-thin-list-by-date-request-parameters]]
===== Request Parameters

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-date/request-parameters.adoc[]



[[api-guide-resources-job-executions-thin-list-by-date-example-request]]
===== Example Request

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-date/curl-request.adoc[]



[[api-guide-resources-job-executions-thin-list-by-date-response-structure]]
===== Response Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-date/http-response.adoc[]

[[api-guide-resources-job-executions-thin-job-execution-info-only-list-by-job-instance-id]]
==== 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:

* <<api-guide-resources-job-executions-thin-list-by-job-instance-id-request-structure>>
* <<api-guide-resources-job-executions-thin-list-by-job-instance-id-request-parameters>>
* <<api-guide-resources-job-executions-thin-list-by-job-instance-id-example-request>>
* <<api-guide-resources-job-executions-thin-list-by-job-instance-id-response-structure>>



[[api-guide-resources-job-executions-thin-list-by-job-instance-id-request-structure]]
===== Request Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-job-instance-id/http-request.adoc[]



[[api-guide-resources-job-executions-thin-list-by-job-instance-id-request-parameters]]
===== Request Parameters

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-job-instance-id/request-parameters.adoc[]



[[api-guide-resources-job-executions-thin-list-by-job-instance-id-example-request]]
===== Example Request

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-job-instance-id/curl-request.adoc[]



[[api-guide-resources-job-executions-thin-list-by-job-instance-id-response-structure]]
===== Response Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-job-instance-id/http-response.adoc[]

[[api-guide-resources-job-executions-thin-job-execution-info-only-list-by-task-execution-id]]
==== 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:

* <<api-guide-resources-job-executions-thin-list-by-task-execution-id-request-structure>>
* <<api-guide-resources-job-executions-thin-list-by-task-execution-id-request-parameters>>
* <<api-guide-resources-job-executions-thin-list-by-task-execution-id-example-request>>
* <<api-guide-resources-job-executions-thin-list-by-task-execution-id-response-structure>>



[[api-guide-resources-job-executions-thin-list-by-task-execution-id-request-structure]]
===== Request Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-task-execution-id/http-request.adoc[]



[[api-guide-resources-job-executions-thin-list-by-task-execution-id-request-parameters]]
===== Request Parameters

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-task-execution-id/request-parameters.adoc[]



[[api-guide-resources-job-executions-thin-list-by-task-execution-id-example-request]]
===== Example Request

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-task-execution-id/curl-request.adoc[]



[[api-guide-resources-job-executions-thin-list-by-task-execution-id-response-structure]]
===== Response Structure

include::{snippets}/job-executions-documentation/list-thin-job-executions-by-task-execution-id/http-response.adoc[]

[[api-guide-resources-job-executions-detail]]
==== Job Execution Detail

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

* <<api-guide-resources-job-executions-detail-request-structure>>
* <<api-guide-resources-job-executions-detail-request-parameters>>
* <<api-guide-resources-job-executions-detail-example-request>>
* <<api-guide-resources-job-executions-detail-response-structure>>



[[api-guide-resources-job-executions-detail-request-structure]]
===== Request Structure

include::{snippets}/job-executions-documentation/job-display-detail/http-request.adoc[]

include::{snippets}/job-executions-documentation/job-display-detail/path-parameters.adoc[]



[[api-guide-resources-job-executions-detail-request-parameters]]
===== Request Parameters

There are no request parameter for this endpoint.



[[api-guide-resources-job-executions-detail-example-request]]
===== Example Request

include::{snippets}/job-executions-documentation/job-display-detail/curl-request.adoc[]



[[api-guide-resources-job-executions-detail-response-structure]]
===== Response Structure

include::{snippets}/job-executions-documentation/job-display-detail/http-response.adoc[]



[[api-guide-resources-job-executions-stop]]
==== Stop Job Execution

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

* <<api-guide-resources-job-executions-stop-request-structure>>
* <<api-guide-resources-job-executions-stop-request-parameters>>
* <<api-guide-resources-job-executions-stop-example-request>>
* <<api-guide-resources-job-executions-stop-response-structure>>



[[api-guide-resources-job-executions-stop-request-structure]]
===== Request structure

include::{snippets}/job-executions-documentation/job-stop/http-request.adoc[]

include::{snippets}/job-executions-documentation/job-stop/path-parameters.adoc[]



[[api-guide-resources-job-executions-stop-request-parameters]]
===== Request parameters

include::{snippets}/job-executions-documentation/job-stop/request-parameters.adoc[]



[[api-guide-resources-job-executions-stop-example-request]]
===== Example request

include::{snippets}/job-executions-documentation/job-stop/curl-request.adoc[]



[[api-guide-resources-job-executions-stop-response-structure]]
===== Response structure

include::{snippets}/job-executions-documentation/job-stop/http-response.adoc[]



[[api-guide-resources-job-executions-restart]]
==== Restart Job Execution

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

* <<api-guide-resources-job-executions-restart-request-structure>>
* <<api-guide-resources-job-executions-restart-request-parameters>>
* <<api-guide-resources-job-executions-restart-example-request>>
* <<api-guide-resources-job-executions-restart-response-structure>>



[[api-guide-resources-job-executions-restart-request-structure]]
===== Request Structure

include::{snippets}/job-executions-documentation/job-restart/http-request.adoc[]

include::{snippets}/job-executions-documentation/job-restart/path-parameters.adoc[]



[[api-guide-resources-job-executions-restart-request-parameters]]
===== Request Parameters

include::{snippets}/job-executions-documentation/job-restart/request-parameters.adoc[]



[[api-guide-resources-job-executions-restart-example-request]]
===== Example Request

include::{snippets}/job-executions-documentation/job-restart/curl-request.adoc[]



[[api-guide-resources-job-executions-restart-response-structure]]
===== Response Structure

include::{snippets}/job-executions-documentation/job-restart/http-response.adoc[]



[[api-guide-resources-job-instances]]
=== 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:

* <<api-guide-resources-job-instances-list>>
* <<api-guide-resources-job-instances-detail>>



[[api-guide-resources-job-instances-list]]
==== List All Job Instances

The job instances endpoint lets you list all job instances.
The following topics provide more details:

* <<api-guide-resources-job-instances-list-request-structure>>
* <<api-guide-resources-job-instances-list-request-parameters>>
* <<api-guide-resources-job-instances-list-example-request>>
* <<api-guide-resources-job-instances-list-response-structure>>



[[api-guide-resources-job-instances-list-request-structure]]
===== Request Structure

include::{snippets}/job-instances-documentation/list-job-instances/http-request.adoc[]



[[api-guide-resources-job-instances-list-request-parameters]]
===== Request Parameters

include::{snippets}/job-instances-documentation/list-job-instances/request-parameters.adoc[]



[[api-guide-resources-job-instances-list-example-request]]
===== Example Request

include::{snippets}/job-instances-documentation/list-job-instances/curl-request.adoc[]



[[api-guide-resources-job-instances-list-response-structure]]
===== Response Structure

include::{snippets}/job-instances-documentation/list-job-instances/http-response.adoc[]



[[api-guide-resources-job-instances-detail]]
==== Job Instance Detail

The job instances endpoint lets you list all job instances.
The following topics provide more details:

* <<api-guide-resources-job-instances-detail-request-structure>>
* <<api-guide-resources-job-instances-detail-request-parameters>>
* <<api-guide-resources-job-instances-detail-example-request>>
* <<api-guide-resources-job-instances-detail-response-structure>>



[[api-guide-resources-job-instances-detail-request-structure]]
===== Request Structure

include::{snippets}/job-instances-documentation/job-display-detail/http-request.adoc[]

include::{snippets}/job-instances-documentation/job-display-detail/path-parameters.adoc[]



[[api-guide-resources-job-instances-detail-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-job-instances-detail-example-request]]
===== Example Request

include::{snippets}/job-instances-documentation/job-display-detail/curl-request.adoc[]



[[api-guide-resources-job-instances-detail-response-structure]]
===== Response Structure

include::{snippets}/job-instances-documentation/job-display-detail/http-response.adoc[]



[[api-guide-resources-job-step-executions]]
=== 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:

* <<api-guide-resources-job-step-executions-list>>
* <<api-guide-resources-job-step-execution-detail>>
* <<api-guide-resources-job-step-execution-progress>>



[[api-guide-resources-job-step-executions-list]]
==== 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:

* <<api-guide-resources-job-step-executions-list-request-structure>>
* <<api-guide-resources-job-step-executions-list-request-parameters>>
* <<api-guide-resources-job-step-executions-list-example-request>>
* <<api-guide-resources-job-step-executions-list-response-structure>>



[[api-guide-resources-job-step-executions-list-request-structure]]
===== Request Structure

include::{snippets}/job-step-executions-documentation/list-step-executions-for-job/http-request.adoc[]



[[api-guide-resources-job-step-executions-list-request-parameters]]
===== Request Parameters

include::{snippets}/job-step-executions-documentation/list-step-executions-for-job/request-parameters.adoc[]



[[api-guide-resources-job-step-executions-list-example-request]]
===== Example Request

include::{snippets}/job-step-executions-documentation/list-step-executions-for-job/curl-request.adoc[]



[[api-guide-resources-job-step-executions-list-response-structure]]
===== Response Structure

include::{snippets}/job-step-executions-documentation/list-step-executions-for-job/http-response.adoc[]



[[api-guide-resources-job-step-execution-detail]]
==== Job Step Execution Detail

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

* <<api-guide-resources-job-step-execution-detail-request-structure>>
* <<api-guide-resources-job-step-execution-detail-request-parameters>>
* <<api-guide-resources-job-step-execution-detail-example-request>>
* <<api-guide-resources-job-step-execution-detail-response-structure>>



[[api-guide-resources-job-step-execution-detail-request-structure]]
===== Request Structure

include::{snippets}/job-step-executions-documentation/step-detail/http-request.adoc[]

include::{snippets}/job-step-executions-documentation/step-detail/path-parameters.adoc[]



[[api-guide-resources-job-step-execution-detail-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-job-step-execution-detail-example-request]]
===== Example Request

include::{snippets}/job-step-executions-documentation/step-detail/curl-request.adoc[]



[[api-guide-resources-job-step-execution-detail-response-structure]]
===== Response Structure

include::{snippets}/job-step-executions-documentation/step-detail/http-response.adoc[]

[[api-guide-resources-job-step-execution-progress]]
==== 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:

* <<api-guide-resources-job-step-execution-progress-request-structure>>
* <<api-guide-resources-job-step-execution-progress-request-parameters>>
* <<api-guide-resources-job-step-execution-progress-example-request>>
* <<api-guide-resources-job-step-execution-progress-response-structure>>



[[api-guide-resources-job-step-execution-progress-request-structure]]
===== Request Structure

include::{snippets}/job-step-executions-documentation/step-progress/http-request.adoc[]

include::{snippets}/job-step-executions-documentation/step-progress/path-parameters.adoc[]



[[api-guide-resources-job-step-execution-progress-request-parameters]]
===== Request Parameters

There are no request parameters for this endpoint.



[[api-guide-resources-job-step-execution-progress-example-request]]
===== Example Request

include::{snippets}/job-step-executions-documentation/step-progress/curl-request.adoc[]



[[api-guide-resources-job-step-execution-progress-response-structure]]
===== Response Structure

include::{snippets}/job-step-executions-documentation/step-progress/http-response.adoc[]

NOTE: The following fields in the stepExecutionHistory are deprecated and will be removed in a future release: rollbackCount, readCount, writeCount, filterCount, readSkipCount, writeSkipCount, processSkipCount, durationPerRead.


[[api-guide-resources-runtime-information-applications]]
=== 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:

* <<api-guide-resources-runtime-information-applications-listing-all>>
* <<api-guide-resources-runtime-information-applications-querying-all-instances-single-app>>
* <<api-guide-resources-runtime-information-applications-querying-single-instance-single-app>>



[[api-guide-resources-runtime-information-applications-listing-all]]
==== 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:

* <<api-guide-resources-runtime-information-applications-listing-all-request-structure>>
* <<api-guide-resources-runtime-information-applications-listing-all-example-request>>
* <<api-guide-resources-runtime-information-applications-listing-all-response-structure>>



[[api-guide-resources-runtime-information-applications-listing-all-request-structure]]
===== Request Structure

include::{snippets}/runtime-apps-documentation/list-all-apps/http-request.adoc[]



[[api-guide-resources-runtime-information-applications-listing-all-example-request]]
===== Example Request

include::{snippets}/runtime-apps-documentation/list-all-apps/curl-request.adoc[]



[[api-guide-resources-runtime-information-applications-listing-all-response-structure]]
===== Response Structure

include::{snippets}/runtime-apps-documentation/list-all-apps/http-response.adoc[]



[[api-guide-resources-runtime-information-applications-querying-all-instances-single-app]]
==== 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:

* <<api-guide-resources-runtime-information-applications-querying-all-instances-single-app-request-structure>>
* <<api-guide-resources-runtime-information-applications-querying-all-instances-single-app-example-request>>
* <<api-guide-resources-runtime-information-applications-querying-all-instances-single-app-response-structure>>



[[api-guide-resources-runtime-information-applications-querying-all-instances-single-app-request-structure]]
===== Request Structure

include::{snippets}/runtime-apps-documentation/list-all-apps/http-request.adoc[]



[[api-guide-resources-runtime-information-applications-querying-all-instances-single-app-example-request]]
===== Example Request

include::{snippets}/runtime-apps-documentation/list-all-apps/curl-request.adoc[]



[[api-guide-resources-runtime-information-applications-querying-all-instances-single-app-response-structure]]
===== Response Structure

include::{snippets}/runtime-apps-documentation/list-all-apps/http-response.adoc[]



[[api-guide-resources-runtime-information-applications-querying-single-instance-single-app]]
==== 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:

* <<api-guide-resources-runtime-information-applications-querying-single-instance-single-app-request-structure>>
* <<api-guide-resources-runtime-information-applications-querying-single-instance-single-app-example-request>>
* <<api-guide-resources-runtime-information-applications-querying-single-instance-single-app-response-structure>>



[[api-guide-resources-runtime-information-applications-querying-single-instance-single-app-request-structure]]
===== Request Structure

include::{snippets}/runtime-apps-documentation/list-all-apps/http-request.adoc[]



[[api-guide-resources-runtime-information-applications-querying-single-instance-single-app-example-request]]
===== Example Request

include::{snippets}/runtime-apps-documentation/list-all-apps/curl-request.adoc[]



[[api-guide-resources-runtime-information-applications-querying-single-instance-single-app-response-structure]]
===== Response Structure

include::{snippets}/runtime-apps-documentation/list-all-apps/http-response.adoc[]


[[api-guide-resources-stream-logs]]
=== 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:

* <<api-guide-resources-stream-logs-by-stream-name>>
* <<api-guide-resources-stream-logs-by-app-name>>



[[api-guide-resources-stream-logs-by-stream-name]]
==== 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:

* <<api-guide-resources-stream-logs-by-stream-name-request-structure>>
* <<api-guide-resources-stream-logs-by-stream-name-example-request>>
* <<api-guide-resources-stream-logs-by-stream-name-response-structure>>


[[api-guide-resources-stream-logs-by-stream-name-request-structure]]
===== Request Structure

include::{snippets}/stream-logs-documentation/get-logs-by-stream-name/http-request.adoc[]


[[api-guide-resources-stream-logs-by-stream-name-example-request]]
===== Example Request

include::{snippets}/stream-logs-documentation/get-logs-by-stream-name/curl-request.adoc[]


[[api-guide-resources-stream-logs-by-stream-name-response-structure]]
===== Response Structure

include::{snippets}/stream-logs-documentation/get-logs-by-stream-name/http-response.adoc[]


[[api-guide-resources-stream-logs-by-app-name]]
==== 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:

* <<api-guide-resources-stream-logs-by-app-name-request-structure>>
* <<api-guide-resources-stream-logs-by-app-name-example-request>>
* <<api-guide-resources-stream-logs-by-app-name-response-structure>>


[[api-guide-resources-stream-logs-by-app-name-request-structure]]
===== Request Structure

include::{snippets}/stream-logs-documentation/get-logs-by-app-name/http-request.adoc[]


[[api-guide-resources-stream-logs-by-app-name-example-request]]
===== Example Request

include::{snippets}/stream-logs-documentation/get-logs-by-app-name/curl-request.adoc[]


[[api-guide-resources-stream-logs-by-app-name-response-structure]]
===== Response Structure

include::{snippets}/stream-logs-documentation/get-logs-by-app-name/http-response.adoc[]



[[api-guide-resources-task-logs]]
=== Task Logs

You can get the task execution log for a specific task execution.

The following topic provides more details:

* <<api-guide-resources-stream-logs-by-task-id>>


[[api-guide-resources-stream-logs-by-task-id]]
==== 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:

* <<api-guide-resources-task-logs-by-task-id-request-structure>>
* <<api-guide-resources-task-logs-by-task-id-request-parameters>>
* <<api-guide-resources-task-logs-by-task-id-example-request>>
* <<api-guide-resources-task-logs-by-task-id-response-structure>>


[[api-guide-resources-task-logs-by-task-id-request-structure]]
===== Request Structure

include::{snippets}/task-logs-documentation/get-logs-by-task-id/http-request.adoc[]


[[api-guide-resources-task-logs-by-task-id-request-parameters]]
===== Request Parameters

include::{snippets}/task-logs-documentation/get-logs-by-task-id/request-parameters.adoc[]

[[api-guide-resources-task-logs-by-task-id-example-request]]
===== Example Request

include::{snippets}/task-logs-documentation/get-logs-by-task-id/curl-request.adoc[]


[[api-guide-resources-task-logs-by-task-id-response-structure]]
===== Response Structure

include::{snippets}/task-logs-documentation/get-logs-by-task-id/http-response.adoc[]

[[api-guide-openapi]]
== OpenAPI

The https://springdoc.org/#Introduction[Springdoc] library is integrated with the server in an opt-in fashion. Once enabled, it provides OpenAPI3 documentation and a Swagger UI.

To enable, set the following properties in your `application.yml` prior to launching the server:
```yaml
springdoc:
  api-docs:
    enabled: true
  swagger-ui:
    enabled: true
```
The properties can also be set on the command line:
```shell
-Dspringdoc.api-docs.enabled=true -Dspringdoc.swagger-ui.enabled=true
```
or as environment variables:
```shell
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. http://localhost:9393/v3/api-docs).

TIP: The Swagger UI will be initially be blank. Type in "/v3/api-docs/" in the "Explore" bar and click "Explore".

TIP: 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 https://springdoc.org/#properties[OpenAPI] and https://springdoc.org/#swagger-ui-properties[Swagger UI] properties to configure the feature.