Skip to content

Start a managed Compose lifecycle operation

POST
/api/docker/nodes/{nodeId}/compose-projects/{projectId}/actions/{action}
curl --request POST \
--url https://gateway.example.com/api/docker/nodes/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/compose-projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/actions/apply \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "revisionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "idempotencyKey": "example", "removeOrphans": true, "volumeNames": [] }'

An apply (pull_apply) runs the revision with the managed database links that exist when it starts: links deleted since the revision was built are left out, links the project runs are kept and links saved pending are added when the revision defines their service. When that changes the revision, a copy is applied and the operation names it; a revision lacking the service of a link the project runs is refused.

nodeId
required
string format: uuid
projectId
required
string format: uuid
action
required
string
Allowed values: apply pull_apply start stop restart down delete_volumes cancel

JSON request body

Media typeapplication/json
object
revisionId
string format: uuid
idempotencyKey
required
string
>= 8 characters <= 200 characters
removeOrphans
boolean
volumeNames
Array<string>
default: <= 100 items

Created

Media typeapplication/json
object
data
required

Resource object. Exact fields depend on the endpoint.

object
id
string
name
string
key
additional properties
Example
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Example resource",
"createdAt": "2024-01-01T12:00:00.000Z",
"updatedAt": "2024-01-01T12:30:00.000Z"
}
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}