Create Deployment

Create Deployment
Create a deployment

When you create a new deployment you can either provide a specific droplet or revision to deploy. If no revision or droplet is provided, the droplet associated with the app is deployed.

Request
URI
POST
https://api.example.local/v3/deployments
COPY
Request Body

Deployment object that needs to be created

{
    "relationships": {},
    "strategy": "string",
    "options": {
        "max_in_flight": 0,
        "web_instances": 0,
        "memory_in_mb": 0,
        "disk_in_mb": 0,
        "log_rate_limit_in_bytes_per_second": 0,
        "canary": {
            "steps": [
                {
                    "instance_weight": 0
                }
            ]
        }
    },
    "droplet": {
        "guid": "string"
    },
    "revision": {
        "guid": "string"
    },
    "metadata": {
        "labels": {
            "labels": "string"
        },
        "annotations": {
            "annotations": "string"
        }
    }
}
relationships
Optional

Relationships represent associations between resources. When relationships are mutable, they can be used to create, read, update, and delete these associations. An app’s relationship to its current droplet is mutable, but an app’s relationship to its space is not.

Relationships do not affect the fundamental properties of a resource, but may affect their behavior and permissions logic. Relationships are tied to the lifecycles of the associated resources and will be removed if either of the associated resources are deleted. For example, if a user is removed from an organization, both the user and the organization persist, but the relationship between them does not.

Not all resources implement every relationship operation demonstrated in the examples below. See the docs for each resource to see how it interacts with its relationships.

Endpoints that return relationship data list this information under the relationships key.

The relationship object The relationship object is a key-value pair that uniquely identifies a resource. In practice this is almost always the guid of a resource.

string
strategy
Optional

strategy

Possible values are : rolling, canary,
object
options
Optional

options

droplet
Optional

droplet

revision
Optional

revision

metadata
Optional

Metadata is a JSON object that contains information about a resource. It includes the GUID of the resource, the time the resource was created, the time the resource was last updated, and links to the resource. Metadata is included in the response body of a request to retrieve a resource.

Authentication
This operation uses the following authentication methods.
Responses
201

Successfully created deployment

Returns Deployment of type(s) application/json
This response body class contains all of the following: BaseSchema
{
    "guid": "string",
    "created_at": "string",
    "updated_at": "string",
    "status": {
        "value": "string",
        "reason": "string",
        "details": {
            "last_successful_healthcheck": "string",
            "last_status_change": "string"
        }
    },
    "strategy": "string",
    "options": {
        "max_in_flight": 0,
        "web_instances": 0,
        "memory_in_mb": 0,
        "disk_in_mb": 0,
        "log_rate_limit_in_bytes_per_second": 0,
        "canary": {
            "steps": [
                {
                    "instance_weight": 0
                }
            ]
        }
    },
    "droplet": {
        "guid": "string"
    },
    "previous_droplet": {
        "guid": "string"
    },
    "new_processes": [
        {
            "guid": "string",
            "type": "string"
        }
    ],
    "revision": {
        "guid": "string",
        "version": 0
    },
    "relationships": {},
    "metadata": {
        "labels": {
            "labels": "string"
        },
        "annotations": {
            "annotations": "string"
        }
    },
    "links": {
        "self": {
            "href": "string",
            "method": "string"
        },
        "app": {
            "href": "string",
            "method": "string"
        },
        "cancel": {
            "href": "string",
            "method": "string"
        }
    }
}

400

Bad Request

Returns BadRequest of type(s) application/json
{
    "errors": [
        {
            "code": 0,
            "detail": "string",
            "title": "string"
        }
    ]
}
array of object
errors
Optional

errors


401

Unauthorized

Returns Unauthorized of type(s) application/json
{
    "errors": [
        {
            "code": 0,
            "detail": "string",
            "title": "string"
        }
    ]
}
array of object
errors
Optional

errors


403

Forbidden

Returns Forbidden of type(s) application/json
{
    "errors": [
        {
            "code": 0,
            "detail": "string",
            "title": "string"
        }
    ]
}
array of object
errors
Optional

errors


409

Conflict

Returns Conflict of type(s) application/json
{
    "errors": [
        {
            "code": 0,
            "detail": "string",
            "title": "string"
        }
    ]
}
array of object
errors
Optional

errors


422

Unprocessable Entity

Returns UnprocessableEntity of type(s) application/json
{
    "errors": [
        {
            "code": 0,
            "detail": "string",
            "title": "string"
        }
    ]
}
array of object
errors
Optional

errors


500

Internal Server Error

Returns 500 of type(s) application/json
{
    "errors": [
        {
            "code": 0,
            "detail": "string",
            "title": "string"
        }
    ]
}
array of object
errors
Optional

errors


503

Service Unavailable

Returns ServiceUnavailable of type(s) application/json
{
    "errors": [
        {
            "code": 0,
            "detail": "string",
            "title": "string"
        }
    ]
}
array of object
errors
Optional

errors


Code Samples
COPY
                    curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{}' https://{api_host}/v3/deployments