Skip to content

Validate a compose file

POST
/api/v3/organizations/{organisation}/compose/validate

Accepts a docker-compose.yml file content, translates it into the internal compose definition format, and validates it. Supports image tag suffixing via the imageSuffix query parameter or by sending a JSON wrapper with yamlContent and imageSuffix fields. When provided, internal image tags are transformed to {containerName}-{suffix} format (e.g., ‘nginx-feature-xyz’).

Authorizations

Parameters

Path Parameters

organisation
required
string

The organisation ID

Query Parameters

imageSuffix
string
/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/

Optional. Image tag suffix to apply during translation. Transforms internal image tags to consistent ‘{containerName}-{suffix}’ format (e.g., ‘nginx-pr-456’). External images are left unchanged. Useful for feature branch deployments.

Example
pr-456

Request Body required

The docker-compose.yml file content. Can be sent as raw YAML string or as a JSON wrapper containing both yamlContent (string) and imageSuffix (string) fields. Query parameter imageSuffix takes precedence if both are provided.

One of:
object
compose
required

The docker-compose.yml file content as a string

string
imageSuffix

Optional image tag suffix (query parameter takes precedence)

string
/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/
application

Optional application name for context

string

Responses

200

Validation successful. Body contains the translated compose definition and any warnings.

object
message
required
string
Docker-compose YAML translated and validated successfully.
translatedComposeDefinition
required

The translated internal compose definition format

object
translationWarnings

Optional warnings encountered during translation

Array<string>
nullable
[
"Service 'db' uses 'build' directive, image will be internal with a generated tag.",
"Volume 'cache' uses a relative path source, interpreted as logical volume name."
]

422

Invalid YAML input or validation failed

object
error
string
Invalid YAML