Open the console of a service
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.
seylo_session<token>application/json- body
serviceId*stringPanel-issued id.
^[a-z0-9]{16}$nodeId?stringPanel-issued id.
^[a-z0-9]{16}$containerId?stringlength <= 128tail?integer0 <= value <= 5000100Success.
application/json- response
url*stringWebSocket path on the panel with the ticket as ?t=; open it within a minute.
ticket*stringexpiresAt*stringdate-timetarget*idleTimeoutSeconds*integer0 <= valuecurl -X POST 'https://example.com/api/v1/terminals.console' \ -H 'Content-Type: application/json' \ -d '{ "serviceId": "string"}'{ "url": "string", "ticket": "string", "expiresAt": "2019-08-24T14:15:22Z", "target": { "nodeId": "string", "nodeName": "string", "containerId": "string", "generation": 0 }, "idleTimeoutSeconds": 0}Change a compose stack's file POST
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.
Open a shell in a service POST
Returns a one-minute ticket for a WebSocket running a new shell (bash, else sh) inside a running container of the service. For databases, databaseClient opens the engine's client already logged in. Needs `terminals.shell` on the service (a grant on its project covers it). Not available to MCP clients or the assistant.