# Rest API

## Spring Cloud Versions

Gets all the available Spring Cloud release trains.

### cURL Request

    $ curl 'http://spring-cloud-info.cfapps.io/springcloudversions' -i -X GET \
        -H 'Accept: application/json'

### HTTPie Request

    $ http GET 'http://spring-cloud-info.cfapps.io/springcloudversions' \
        'Accept:application/json'

### HTTP Request

    GET /springcloudversions HTTP/1.1
    Accept: application/json
    Host: spring-cloud-info.cfapps.io

### Response

    HTTP/1.1 200 OK
    Content-Length: 449
    Content-Type: application/json;charset=UTF-8

    ["Greenwich.SR1","Greenwich.RELEASE","Greenwich.RC2","Greenwich.RC1","Greenwich.M3","Greenwich.M2","Greenwich.M1","Finchley.SR3","Finchley.SR2","Finchley.SR1","Finchley.RELEASE","Finchley.RC2","Finchley.RC1","Finchley.M9","Finchley.M8","Finchley.M7","Finchley.M6","Finchley.M5","Finchley.M3","Finchley.M2","Finchley.M1","Edgware.SR5","Edgware.SR4","Edgware.SR3","Edgware.SR2","Edgware.SR1","Edgware.RELEASE","Edgware.M1","Dalston.SR5","Dalston.SR4"]

### Response Fields

Path | Type | Description
--- | --- | ---
`[]` | `Array` | An array versions

## Spring Cloud Version Given Spring Boot Version

Gets the Spring Cloud release train version given a Spring Boot version.

### Path Parameters

Table 1. /springcloudversion/springboot/{bootVersion}
Parameter | Description
--- | ---
`bootVersion` | The Spring Boot version

### cURL Request

    $ curl 'http://spring-cloud-info.cfapps.io/springcloudversion/springboot/2.1.1.RELEASE' -i -X GET \
        -H 'Accept: application/json'

### HTTPie Request

    $ http GET 'http://spring-cloud-info.cfapps.io/springcloudversion/springboot/2.1.1.RELEASE' \
        'Accept:application/json'

### HTTP Request

    GET /springcloudversion/springboot/2.1.1.RELEASE HTTP/1.1
    Accept: application/json
    Host: spring-cloud-info.cfapps.io

### HTTP Response

    HTTP/1.1 200 OK
    Content-Length: 31
    Content-Disposition: inline;filename=f.txt
    Content-Type: application/json;charset=UTF-8

    {"version":"Greenwich.RELEASE"}

### Response Fields

Path | Type | Description
--- | --- | ---
`version` | `String` | Spring Cloud version

## Spring Cloud Project Versions

Get the Spring Cloud project versions for a given Spring Cloud release train.

### cURL Request

    $ curl 'http://spring-cloud-info.cfapps.io/bomversions/Finchley.SR1' -i -X GET \
        -H 'Accept: application/json'

### HTTPie Request

    $ http GET 'http://spring-cloud-info.cfapps.io/bomversions/Finchley.SR1' \
        'Accept:application/json'

### HTTP Request

    GET /bomversions/Finchley.SR1 HTTP/1.1
    Accept: application/json
    Host: spring-cloud-info.cfapps.io

### HTTP Response

    HTTP/1.1 200 OK
    Content-Length: 904
    Content-Disposition: inline;filename=f.txt
    Content-Type: application/json;charset=UTF-8

    {"spring-cloud-cloudfoundry":"2.2.0.BUILD-SNAPSHOT","spring-cloud-openfeign":"2.2.0.BUILD-SNAPSHOT","spring-cloud-task":"2.0.0.RELEASE","spring-cloud-security":"2.2.0.BUILD-SNAPSHOT","spring-cloud-zookeeper":"2.2.0.BUILD-SNAPSHOT","spring-cloud-config":"2.2.0.BUILD-SNAPSHOT","spring-cloud-function":"2.1.0.BUILD-SNAPSHOT","spring-cloud-netflix":"2.2.0.BUILD-SNAPSHOT","spring-cloud-vault":"2.2.0.BUILD-SNAPSHOT","spring-cloud-stream":"Germantown.BUILD-SNAPSHOT","spring-cloud-gcp":"1.1.0.BUILD-SNAPSHOT","spring-cloud-sleuth":"2.2.0.BUILD-SNAPSHOT","spring-cloud-kubernetes":"1.1.0.BUILD-SNAPSHOT","spring-cloud-commons":"2.2.0.BUILD-SNAPSHOT","spring-cloud-aws":"2.2.0.BUILD-SNAPSHOT","spring-cloud-contract":"2.2.0.BUILD-SNAPSHOT","spring-cloud-bus":"2.2.0.BUILD-SNAPSHOT","spring-cloud-gateway":"2.2.0.BUILD-SNAPSHOT","spring-boot":"2.2.0.BUILD-SNAPSHOT","spring-cloud-consul":"2.2.0.BUILD-SNAPSHOT"}

## Upcoming Spring Cloud Releases

Gets all the upcoming Spring Cloud releases.

### cURL Request

    $ curl 'http://spring-cloud-info.cfapps.io/milestones' -i -X GET \
        -H 'Accept: application/json'

### HTTPie Request

    $ http GET 'http://spring-cloud-info.cfapps.io/milestones' \
        'Accept:application/json'

### HTTP Request

    GET /milestones HTTP/1.1
    Accept: application/json
    Host: spring-cloud-info.cfapps.io

### HTTP Response

    HTTP/1.1 200 OK
    Content-Type: application/json;charset=UTF-8
    Content-Length: 57

    ["Hoxton.RELEASE","Finchley.SR4","Hoxton.M1","Hoxton.M2"]

## Get Spring Cloud Release Date

Gets the tentative date given an upcoming Spring Cloud release train name.

### Path Parameters

Table 2. /milestones/{release}/duedate
Parameter | Description
--- | ---
`release` | The Spring Cloud release train name

### cURL Request

    $ curl 'http://spring-cloud-info.cfapps.io/milestones/Hoxton.RELEASE/duedate' -i -X GET \
        -H 'Accept: application/json'

### HTTPie Request

    $ http GET 'http://spring-cloud-info.cfapps.io/milestones/Hoxton.RELEASE/duedate' \
        'Accept:application/json'

### HTTP Request

    GET /milestones/Hoxton.RELEASE/duedate HTTP/1.1
    Accept: application/json
    Host: spring-cloud-info.cfapps.io

### HTTP Response

    HTTP/1.1 200 OK
    Content-Type: application/json;charset=UTF-8
    Content-Length: 24

    {"dueDate":"2019-07-31"}

### Response Fields

Path | Type | Description
--- | --- | ---
`dueDate` | `String` | Spring Cloud milestone due date