Version 3
Apps API

Apps API

Creating a Docker App (experimental)

POST /v2/apps/



POST /v2/apps


Name Description Default Valid Values Example Values
name The name of the app.
  • my_super_app
memory The amount of memory each instance should have. In megabytes.
  • 1024
  • 512
instances The number of instances of the app to run. To ensure optimal availability, ensure there are at least 2 instances.
  • 2
  • 6
  • 10
disk_quota The maximum amount of disk available to an instance of an app. In megabytes.
  • 1204
  • 2048
space_guid The guid of the associated space.
  • guid-6aefb45e-372d-4137-8957-c2e3e35e39e5
stack_guid The guid of the associated stack. Uses the default system stack.
  • guid-555580cd-d0ce-409b-b0c7-094d961dcca3
state The current desired state of the app. One of STOPPED or STARTED. STOPPED
detected_start_command The command detected by the buildpack during staging.
command The command to start an app after it is staged, maximum length: 4096 (e.g. 'rails s -p $PORT' or 'java com.org.Server $PORT').
buildpack Buildpack to build the app. 3 options: a) Blank means autodetection; b) A Git Url pointing to a buildpack; c) Name of an installed buildpack.
  • https://github.com/virtualstaticvoid/heroku-buildpack-r.git
  • an_example_installed_buildpack
health_check_type Type of health check to perform. port
  • port
  • none
health_check_timeout Timeout for health checking of an staged app when starting up
diego Use diego to stage and to run when available false
  • true
  • false
docker_image Name of the Docker image containing the app
  • cloudfoundry/helloworld
  • registry.example.com:5000/user/repository/tag
docker_credentials_json Docker credentials for pulling docker image. {}
  • #<RspecApiDocumentation::Views::HtmlExample:0x0000000c997a58>
environment_json Key/value pairs of all the environment variables to run in your app. Does not include any system or service variables.
production Deprecated. true
  • true
  • false
console Open the console port for the app (at $CONSOLE_PORT). false
  • true
  • false
debug Open the debug port for the app (at $DEBUG_PORT). false
  • true
  • false
staging_failed_reason Reason for application staging failures
staging_failed_description Detailed description for the staging_failed_reason
ports Ports on which application may listen. Overwrites previously configured ports. Ports must be in range 1024-65535. Supported for Diego only.
  • [5222, 8080]
  • [1056]
  "name": "docker_app",
  "space_guid": "59fb4b62-77c6-48fb-afcc-4f845450812c",
  "docker_image": "cloudfoundry/hello",
  "diego": true


Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTQ1MiIsImVtYWlsIjoiZW1haWwtMzIzQHNvbWVkb21haW4uY29tIiwic2NvcGUiOlsiY2xvdWRfY29udHJvbGxlci5hZG1pbiJdLCJhdWQiOlsiY2xvdWRfY29udHJvbGxlciJdLCJleHAiOjE0NTE0MTM3MDJ9.uX1afuoVdyqyEeF7R7qCVoPEl5ZHm2jcbjceap5BEp4
Host: example.org
Content-Type: application/x-www-form-urlencoded


curl "https://api.[your-domain.com]/v2/apps" -d '{
  "name": "docker_app",
  "space_guid": "59fb4b62-77c6-48fb-afcc-4f845450812c",
  "docker_image": "cloudfoundry/hello",
  "diego": true
}' -X POST \
	-H "Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTQ1MiIsImVtYWlsIjoiZW1haWwtMzIzQHNvbWVkb21haW4uY29tIiwic2NvcGUiOlsiY2xvdWRfY29udHJvbGxlci5hZG1pbiJdLCJhdWQiOlsiY2xvdWRfY29udHJvbGxlciJdLCJleHAiOjE0NTE0MTM3MDJ9.uX1afuoVdyqyEeF7R7qCVoPEl5ZHm2jcbjceap5BEp4" \
	-H "Host: example.org" \
	-H "Content-Type: application/x-www-form-urlencoded" \
	-H "Cookie: "



201 Created


  "metadata": {
    "guid": "f9fec562-8e58-4537-9edc-abb2cef26645",
    "url": "/v2/apps/f9fec562-8e58-4537-9edc-abb2cef26645",
    "created_at": "2015-12-22T18:28:22Z",
    "updated_at": null
  "entity": {
    "name": "docker_app",
    "production": false,
    "space_guid": "59fb4b62-77c6-48fb-afcc-4f845450812c",
    "stack_guid": "cb24b525-101f-4e3d-98a6-c3448427cc24",
    "buildpack": null,
    "detected_buildpack": null,
    "environment_json": {

    "memory": 1024,
    "instances": 1,
    "disk_quota": 1024,
    "state": "STOPPED",
    "version": "f6d2a283-7888-4c81-abe3-2934c9132baf",
    "command": null,
    "console": false,
    "debug": null,
    "staging_task_id": null,
    "package_state": "PENDING",
    "health_check_type": "port",
    "health_check_timeout": null,
    "staging_failed_reason": null,
    "staging_failed_description": null,
    "diego": true,
    "docker_image": "cloudfoundry/hello:latest",
    "package_updated_at": "2015-12-22T18:28:22Z",
    "detected_start_command": "",
    "enable_ssh": true,
    "docker_credentials_json": {
      "redacted_message": "[PRIVATE DATA HIDDEN]"
    "ports": null,
    "space_url": "/v2/spaces/59fb4b62-77c6-48fb-afcc-4f845450812c",
    "stack_url": "/v2/stacks/cb24b525-101f-4e3d-98a6-c3448427cc24",
    "events_url": "/v2/apps/f9fec562-8e58-4537-9edc-abb2cef26645/events",
    "service_bindings_url": "/v2/apps/f9fec562-8e58-4537-9edc-abb2cef26645/service_bindings",
    "routes_url": "/v2/apps/f9fec562-8e58-4537-9edc-abb2cef26645/routes"


Content-Type: application/json;charset=utf-8
Location: /v2/apps/f9fec562-8e58-4537-9edc-abb2cef26645
Content-Length: 1545
X-Content-Type-Options: nosniff

Audit Records Created By The Request

Audit Record: audit.app.create

Attribute Name Value
id 175
guid 8024abc4-8fc1-4c58-9277-dc9f6db286db
created_at 2015-12-22 18:28:22 UTC
timestamp 2015-12-22 18:28:22 UTC
type audit.app.create
actor uaa-id-452
actor_type user
actee f9fec562-8e58-4537-9edc-abb2cef26645
actee_type app
  "request": {
    "name": "docker_app",
    "space_guid": "59fb4b62-77c6-48fb-afcc-4f845450812c",
    "docker_image": "cloudfoundry/hello",
    "diego": true,
    "console": false,
    "docker_credentials_json": "PRIVATE DATA HIDDEN",
    "environment_json": "PRIVATE DATA HIDDEN",
    "health_check_type": "port",
    "instances": 1,
    "production": false,
    "state": "STOPPED",
    "ports": [
organization_guid 65af6d43-5da6-4b1c-94f4-79bd97b52ef9
space_guid 59fb4b62-77c6-48fb-afcc-4f845450812c
actor_name email-323@somedomain.com
actee_name docker_app