Skip to Content
SeyloDocs

Create a Box

POST
/api/v1/boxes.create

Creates a code-server workspace in a project on one node, with a persistent home volume. It joins the project network, so it reaches the project's services on that node by name.

Needs services.create on the project. Available to MCP clients and the assistant.

Authorization

cookieseylo_session<token>

Request Body

application/json
  1. body
projectId*string

Panel-issued id.

Match^[a-z0-9]{16}$
name*string

DNS-safe; the service's host name on the project network. Unique in its project.

Match^[a-z0-9]([a-z0-9-]*[a-z0-9])?$
Length1 <= length <= 40
nodeId*string

Panel-issued id.

Match^[a-z0-9]{16}$
repository?string
Match^https://
Lengthlength <= 500
idleMinutes?integer
Range0 <= value <= 1440

Response Body

Success.

application/json
  1. response
serviceId*string

Panel-issued id.

Match^[a-z0-9]{16}$
projectId*string

Panel-issued id.

Match^[a-z0-9]{16}$
name*string

DNS-safe; the service's host name on the project network. Unique in its project.

Match^[a-z0-9]([a-z0-9-]*[a-z0-9])?$
Length1 <= length <= 40
nodeId*string

Panel-issued id.

Match^[a-z0-9]{16}$
nodeName*string
state*string|string|string|string
repository*string|null
idleMinutes*integer
Range0 <= value <= 1440
lastUsedAt*|null
createdAt*string
Formatdate-time
Example Request
curl -X POST 'https://example.com/api/v1/boxes.create' \  -H 'Content-Type: application/json' \  -d '{  "projectId": "string",  "name": "string",  "nodeId": "string"}'
Example Response
{  "serviceId": "string",  "projectId": "string",  "name": "string",  "nodeId": "string",  "nodeName": "string",  "state": "running",  "repository": "string",  "idleMinutes": 0,  "lastUsedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z"}