Home
Version 3
Apps API

Apps API

Creating a Docker App (experimental)

POST /v2/apps/

Request

Route

POST /v2/apps

Body

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-62b9f34c-f570-4ff7-a29b-e01b8f555d05
stack_guid The guid of the associated stack. Uses the default system stack.
  • guid-2c818c5e-bbb4-4d53-9068-e56a4ad0ffb7
state The current desired state of the app. One of STOPPED or STARTED. STOPPED
  • STOPPED
  • STARTED
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. 'none' is deprecated and an alias to 'process'. port
  • port
  • process
  • 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
enable_ssh Enable SSHing into the app. Supported for Diego only. false if SSH is disabled globally or on the space, true if enabled for both
  • 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:0x000000068175f8>
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
  • StagingError
  • StagingTimeExpired
staging_failed_description Detailed description for the staging_failed_reason
  • An app was not successfully detected by any available buildpack
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": "ae51bc03-47a6-4ca2-a1f1-1a93679085cf",
  "docker_image": "cloudfoundry/hello",
  "diego": true
}

Headers

Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTIxNSIsImVtYWlsIjoiZW1haWwtMTU1QHNvbWVkb21haW4uY29tIiwic2NvcGUiOlsiY2xvdWRfY29udHJvbGxlci5hZG1pbiJdLCJhdWQiOlsiY2xvdWRfY29udHJvbGxlciJdLCJleHAiOjE0NjA1MDY2NDh9.ctNntrQ3hCYE0jOWqmCBRl0xz5ReEK82f0ubsiFZR88
Host: example.org
Content-Type: application/x-www-form-urlencoded
Cookie: 

cURL

curl "https://api.[your-domain.com]/v2/apps" -d '{
  "name": "docker_app",
  "space_guid": "ae51bc03-47a6-4ca2-a1f1-1a93679085cf",
  "docker_image": "cloudfoundry/hello",
  "diego": true
}' -X POST \
	-H "Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTIxNSIsImVtYWlsIjoiZW1haWwtMTU1QHNvbWVkb21haW4uY29tIiwic2NvcGUiOlsiY2xvdWRfY29udHJvbGxlci5hZG1pbiJdLCJhdWQiOlsiY2xvdWRfY29udHJvbGxlciJdLCJleHAiOjE0NjA1MDY2NDh9.ctNntrQ3hCYE0jOWqmCBRl0xz5ReEK82f0ubsiFZR88" \
	-H "Host: example.org" \
	-H "Content-Type: application/x-www-form-urlencoded" \
	-H "Cookie: "

Response

Status

201 Created

Body

{
  "metadata": {
    "guid": "217ad579-15b1-4585-940a-405cbb2a4a28",
    "url": "/v2/apps/217ad579-15b1-4585-940a-405cbb2a4a28",
    "created_at": "2016-04-06T00:17:28Z",
    "updated_at": null
  },
  "entity": {
    "name": "docker_app",
    "production": false,
    "space_guid": "ae51bc03-47a6-4ca2-a1f1-1a93679085cf",
    "stack_guid": "6bd7e18a-a5b3-4b53-8fef-917c1ccf1bce",
    "buildpack": null,
    "detected_buildpack": null,
    "environment_json": {

    },
    "memory": 1024,
    "instances": 1,
    "disk_quota": 1024,
    "state": "STOPPED",
    "version": "f8ea072f-6929-4889-b684-8b15210f000b",
    "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": "2016-04-06T00:17:28Z",
    "detected_start_command": "",
    "enable_ssh": true,
    "docker_credentials_json": {
      "redacted_message": "[PRIVATE DATA HIDDEN]"
    },
    "ports": [
      8080
    ],
    "space_url": "/v2/spaces/ae51bc03-47a6-4ca2-a1f1-1a93679085cf",
    "stack_url": "/v2/stacks/6bd7e18a-a5b3-4b53-8fef-917c1ccf1bce",
    "routes_url": "/v2/apps/217ad579-15b1-4585-940a-405cbb2a4a28/routes",
    "events_url": "/v2/apps/217ad579-15b1-4585-940a-405cbb2a4a28/events",
    "service_bindings_url": "/v2/apps/217ad579-15b1-4585-940a-405cbb2a4a28/service_bindings",
    "route_mappings_url": "/v2/apps/217ad579-15b1-4585-940a-405cbb2a4a28/route_mappings"
  }
}

Headers

Content-Type: application/json;charset=utf-8
Location: /v2/apps/217ad579-15b1-4585-940a-405cbb2a4a28
X-VCAP-Request-ID: 
Content-Length: 1649
X-Content-Type-Options: nosniff

Audit Records Created By The Request

Audit Record: audit.app.create

Attribute Name Value
id 16
guid a84c2f05-f5f4-4a5c-9e72-c20c53af9350
created_at 2016-04-06 00:17:28 UTC
updated_at
timestamp 2016-04-06 00:17:28 UTC
type audit.app.create
actor uaa-id-215
actor_type user
actee 217ad579-15b1-4585-940a-405cbb2a4a28
actee_type app
metadata
{
  "request": {
    "name": "docker_app",
    "space_guid": "ae51bc03-47a6-4ca2-a1f1-1a93679085cf",
    "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"
  }
}
space_id
organization_guid 72c92b6c-712b-41cb-8d4d-cba268c66e64
space_guid ae51bc03-47a6-4ca2-a1f1-1a93679085cf
actor_name email-155@somedomain.com
actee_name docker_app