The index provides the entry point into Spring Cloud Data Flow’s REST API.
A GET request is used to access the index
HTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 3855
{
"_links" : {
"dashboard" : {
"href" : "http://localhost:8080/dashboard"
},
"streams/definitions" : {
"href" : "http://localhost:8080/streams/definitions"
},
"streams/definitions/definition" : {
"href" : "http://localhost:8080/streams/definitions/{name}",
"templated" : true
},
"streams/deployments" : {
"href" : "http://localhost:8080/streams/deployments"
},
"streams/deployments/deployment" : {
"href" : "http://localhost:8080/streams/deployments/{name}",
"templated" : true
},
"runtime/apps" : {
"href" : "http://localhost:8080/runtime/apps"
},
"runtime/apps/app" : {
"href" : "http://localhost:8080/runtime/apps/{appId}",
"templated" : true
},
"runtime/apps/instances" : {
"href" : "http://localhost:8080/runtime/apps/{appId}/instances",
"templated" : true
},
"tasks/definitions" : {
"href" : "http://localhost:8080/tasks/definitions"
},
"tasks/definitions/definition" : {
"href" : "http://localhost:8080/tasks/definitions/{name}",
"templated" : true
},
"tasks/deployments" : {
"href" : "http://localhost:8080/tasks/deployments"
},
"tasks/deployments/deployment" : {
"href" : "http://localhost:8080/tasks/deployments/{name}",
"templated" : true
},
"tasks/executions" : {
"href" : "http://localhost:8080/tasks/executions"
},
"tasks/executions/name" : {
"href" : "http://localhost:8080/tasks/executions{?name}",
"templated" : true
},
"tasks/executions/execution" : {
"href" : "http://localhost:8080/tasks/executions/{id}",
"templated" : true
},
"jobs/executions" : {
"href" : "http://localhost:8080/jobs/executions"
},
"jobs/executions/name" : {
"href" : "http://localhost:8080/jobs/executions{?name}",
"templated" : true
},
"jobs/executions/execution" : {
"href" : "http://localhost:8080/jobs/executions/{id}",
"templated" : true
},
"jobs/executions/execution/steps" : {
"href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps",
"templated" : true
},
"jobs/executions/execution/steps/step" : {
"href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps/{stepId}",
"templated" : true
},
"jobs/executions/execution/steps/step/progress" : {
"href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps/{stepId}/progress",
"templated" : true
},
"jobs/instances/name" : {
"href" : "http://localhost:8080/jobs/instances{?name}",
"templated" : true
},
"jobs/instances/instance" : {
"href" : "http://localhost:8080/jobs/instances/{id}",
"templated" : true
},
"counters" : {
"href" : "http://localhost:8080/metrics/counters"
},
"counters/counter" : {
"href" : "http://localhost:8080/metrics/counters/{name}",
"templated" : true
},
"field-value-counters" : {
"href" : "http://localhost:8080/metrics/field-value-counters"
},
"field-value-counters/counter" : {
"href" : "http://localhost:8080/metrics/field-value-counters/{name}",
"templated" : true
},
"aggregate-counters" : {
"href" : "http://localhost:8080/metrics/aggregate-counters"
},
"aggregate-counters/counter" : {
"href" : "http://localhost:8080/metrics/aggregate-counters/{name}",
"templated" : true
},
"apps" : {
"href" : "http://localhost:8080/apps"
},
"completions/stream" : {
"href" : "http://localhost:8080/completions/stream{?start,detailLevel}",
"templated" : true
},
"completions/task" : {
"href" : "http://localhost:8080/completions/task{?start,detailLevel}",
"templated" : true
}
}
}curl -X POST -d "name=ticktock&definition=time | log" localhost:9393/streams/definitions?deploy=false
curl -X POST http://localhost:9393/streams/deployments/ticktockHTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 3855
{
"_links" : {
"dashboard" : {
"href" : "http://localhost:8080/dashboard"
},
"streams/definitions" : {
"href" : "http://localhost:8080/streams/definitions"
},
"streams/definitions/definition" : {
"href" : "http://localhost:8080/streams/definitions/{name}",
"templated" : true
},
"streams/deployments" : {
"href" : "http://localhost:8080/streams/deployments"
},
"streams/deployments/deployment" : {
"href" : "http://localhost:8080/streams/deployments/{name}",
"templated" : true
},
"runtime/apps" : {
"href" : "http://localhost:8080/runtime/apps"
},
"runtime/apps/app" : {
"href" : "http://localhost:8080/runtime/apps/{appId}",
"templated" : true
},
"runtime/apps/instances" : {
"href" : "http://localhost:8080/runtime/apps/{appId}/instances",
"templated" : true
},
"tasks/definitions" : {
"href" : "http://localhost:8080/tasks/definitions"
},
"tasks/definitions/definition" : {
"href" : "http://localhost:8080/tasks/definitions/{name}",
"templated" : true
},
"tasks/deployments" : {
"href" : "http://localhost:8080/tasks/deployments"
},
"tasks/deployments/deployment" : {
"href" : "http://localhost:8080/tasks/deployments/{name}",
"templated" : true
},
"tasks/executions" : {
"href" : "http://localhost:8080/tasks/executions"
},
"tasks/executions/name" : {
"href" : "http://localhost:8080/tasks/executions{?name}",
"templated" : true
},
"tasks/executions/execution" : {
"href" : "http://localhost:8080/tasks/executions/{id}",
"templated" : true
},
"jobs/executions" : {
"href" : "http://localhost:8080/jobs/executions"
},
"jobs/executions/name" : {
"href" : "http://localhost:8080/jobs/executions{?name}",
"templated" : true
},
"jobs/executions/execution" : {
"href" : "http://localhost:8080/jobs/executions/{id}",
"templated" : true
},
"jobs/executions/execution/steps" : {
"href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps",
"templated" : true
},
"jobs/executions/execution/steps/step" : {
"href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps/{stepId}",
"templated" : true
},
"jobs/executions/execution/steps/step/progress" : {
"href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps/{stepId}/progress",
"templated" : true
},
"jobs/instances/name" : {
"href" : "http://localhost:8080/jobs/instances{?name}",
"templated" : true
},
"jobs/instances/instance" : {
"href" : "http://localhost:8080/jobs/instances/{id}",
"templated" : true
},
"counters" : {
"href" : "http://localhost:8080/metrics/counters"
},
"counters/counter" : {
"href" : "http://localhost:8080/metrics/counters/{name}",
"templated" : true
},
"field-value-counters" : {
"href" : "http://localhost:8080/metrics/field-value-counters"
},
"field-value-counters/counter" : {
"href" : "http://localhost:8080/metrics/field-value-counters/{name}",
"templated" : true
},
"aggregate-counters" : {
"href" : "http://localhost:8080/metrics/aggregate-counters"
},
"aggregate-counters/counter" : {
"href" : "http://localhost:8080/metrics/aggregate-counters/{name}",
"templated" : true
},
"apps" : {
"href" : "http://localhost:8080/apps"
},
"completions/stream" : {
"href" : "http://localhost:8080/completions/stream{?start,detailLevel}",
"templated" : true
},
"completions/task" : {
"href" : "http://localhost:8080/completions/task{?start,detailLevel}",
"templated" : true
}
}
}The main element of the index are the links as they allow you to traverse the API and execute the desired functionality:
| Relation | Description |
|---|---|
| Access the dashboard UI |
| Handle registered applications |
| Exposes the DSL completion features for Stream |
| Exposes the DSL completion features for Task |
| Provides the JobExecution resource |
| Provides details for a specific JobExecution |
| Provides the steps for a JobExecution |
| Returns the details for a specific step |
| Provides progress information for a specific step |
| Retrieve Job Executions by Job name |
| Provides the job instance resource for a specific job instance |
| Provides the Job instance resource for a specific job name |
| Provides the runtime application resource |
| Exposes the runtime status for a specific app |
| Provides the status for app instances |
| Provides the task definition resource |
| Provides details for a specific task definition |
| Provides the resource for deployment operations |
| Launch a task |
| Returns Task executions |
| Returns all task executions for a given Task name |
| Provides details for a specific task execution |
| Exposes the Streams resource |
| Handle a specific Stream definition |
| Provides Stream deployment operations |
| Request (un-)deployment of an existing stream definition |
| Exposes the resource for dealing with Counters |
| Handle a specific counter |
| Provides the resource for dealing with aggregate counters |
| Handle a specific aggregate counter |
| Provides the resource for dealing with field-value-counters |
| Handle a specific field-value-counter |
A GET request will list all applications known to Spring Cloud Data Flow.
GET /apps?type=source HTTP/1.1 Accept: application/json Host: localhost:8080
$ curl 'http://localhost:8080/apps?type=source' -i -H 'Accept: application/json'