Change a compose stack's file
Replaces a stack's compose file. With dryRun the result is the member diff (create, update, delete) and nothing changes; without it members are created, updated or deleted to match, and changed members are deployed.
Needs services.update on the service (a grant on its project covers it). Available to MCP clients and the assistant, after a person approves the call.
seylo_session<token>application/json- body
serviceId*stringPanel-issued id.
^[a-z0-9]{16}$source*||dryRun?booleanfalseSuccess.
application/json- response
members*array<>warnings*array<string>curl -X POST 'https://example.com/api/v1/compose.update' \ -H 'Content-Type: application/json' \ -d '{ "serviceId": "string", "source": { "type": "inline", "yaml": "string" }}'{ "members": [ { "composeService": "string", "name": "string", "action": "create", "image": "string", "ports": [ 1 ], "volumes": [ { "name": "string", "mountPath": "string", "sharedWith": [ "string" ] } ], "dependsOn": [ "string" ], "envKeys": [ "string" ], "hasHealthCheck": true } ], "warnings": [ "string" ]}Preview a compose stack POST
Parses a compose file and shows the member services it would create in the project, with ports, volumes, dependencies and warnings. Creates nothing. It is a POST (mutation) only because the file is too large for a query string. Needs `services.create` on the project. Available to MCP clients and the assistant.
Open the console of a service POST
Returns a one-minute ticket for a WebSocket attached to the service's main process: recent output first, then live output, and what you type goes to its stdin. Needs `terminals.console` on the service (a grant on its project covers it). Not available to MCP clients or the assistant.