Skip to main content
POST
/
api
/
v2
/
external
/
execution
/
compose
/
start
Start Docker Compose Execution
curl --request POST \
  --url https://api.lyceum.technology/api/v2/external/execution/compose/start \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "compose_file_code": "<string>",
  "docker_registry_credential_type": "<string>",
  "aws_access_key_id": "<string>",
  "aws_secret_access_key": "<string>",
  "aws_session_token": "<string>",
  "aws_region": "us-east-1",
  "docker_username": "<string>",
  "docker_password": "<string>",
  "timeout": 60,
  "execution_type": "cpu",
  "file_name": "<string>",
  "enable_s3_mount": false,
  "user_callback_urls": [
    "<string>"
  ],
  "graceful_timeout": 150
}
'
{
  "execution_id": "<string>",
  "status": "<string>",
  "streaming_url": "<string>"
}

Authorizations

Authorization
string
header
required

Pass an API key (prefixed lk_) or a JWT access token as a bearer token. Generate API keys in the dashboard at https://dashboard.lyceum.technology/api-keys.

Body

application/json

Request model for Docker Compose execution

compose_file_code
string
required

Docker Compose YAML file content

docker_registry_credential_type
string | null

Registry auth type (e.g., 'aws', 'basic')

aws_access_key_id
string | null

AWS Access Key ID for ECR

aws_secret_access_key
string | null

AWS Secret Access Key for ECR

aws_session_token
string | null

AWS Session Token for ECR

aws_region
string | null
default:us-east-1

AWS region for ECR

docker_username
string | null

Docker registry username

docker_password
string | null

Docker registry password

timeout
integer
default:60
Required range: 1 <= x <= 600
execution_type
string
default:cpu
Pattern: ^[a-zA-Z0-9_.]+$
file_name
string | null
enable_s3_mount
boolean
default:false

Whether to enable S3 mount for this execution

user_callback_urls
string[] | null

URLs to call with job completion info

graceful_timeout
integer | null

Seconds to wait for graceful shutdown on cancel (default: 10)

Required range: 1 <= x <= 300

Response

Successful Response

Response model with direct streaming URL

execution_id
string
required
status
string
required
streaming_url
string
required