POST/services

Create a service

Creates a one-click or custom service. Supply server_uuid, project_uuid, environment_name, and environment_uuid; use docker_compose_raw for the base64-encoded Compose content when creating a custom service. Set instant_deploy to start the service immediately after creation.

  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

16 body fields

Configuration for a one-click or custom service. The schema marks server_uuid, project_uuid, environment_name, and environment_uuid as required.

connect_to_docker_networkbooleanoptional
Connect the service to the predefined docker network.
Default:false
descriptionstringoptional
Description of the service.
destination_uuidstringoptional
Destination UUID. Required if server has multiple destinations.
docker_compose_rawstringoptional
The base64 encoded Docker Compose content.
environment_namestringrequired
Environment name. You need to provide at least one of environment_name or environment_uuid.
environment_uuidstringrequired
Environment UUID. You need to provide at least one of environment_name or environment_uuid.
force_domain_overridebooleanoptional
Force domain override even if conflicts are detected.
Default:false
instant_deploybooleanoptional
Start the service immediately after creation.
Default:false
is_container_label_escape_enabledbooleanoptional
Escape special characters in labels. By default, $ (and other chars) is escaped. If you want to use env variables inside the labels, turn this off.
Default:true
namestringoptional
Name of the service.
project_uuidstringrequired
Project UUID.
redact_all_env_values_in_logsbooleanoptional
Redact all environment variable values in logs. When false, only locked (shown once) values are redacted. Requires team admin permissions.
Default:true
server_uuidstringrequired
Server UUID.
tagsarray<string>optional
Tags to assign to the service.
typestringoptional
The one-click service type (e.g. "actualbudget", "calibre-web", "gitea-with-mysql" ...)
urlsarray<object>optional
Array of URLs to be applied to containers of a service.

5 status codes
201Returns the created service UUID and an array of its domains.
domainsarray<string>optional
Service domains.
uuidstringoptional
Service UUID.
400Returned when the token is invalid.
messagestringoptional
401Returned when the request is unauthenticated.
messagestringoptional
409Returned when domain conflicts are detected.
conflictsarray<object>optional
messagestringoptional
warningstringoptional
422Returned when the request fails validation.
errorsobjectoptional
messagestringoptional

Error handling

A 400 is returned for an invalid token, and a 401 when authentication is missing. A 409 is returned when domain conflicts are detected; a 422 is returned when the request fails validation. The body requires server_uuid, project_uuid, environment_name, and environment_uuid; name must not exceed 255 characters, destination_uuid is needed when the server has multiple destinations, and setting redact_all_env_values_in_logs requires team admin permissions.