Preview what a template creates
Runs the template's generate() in the sandbox with the form values and returns the services it would create in the project, with conflicts and warnings. Creates nothing. It is a POST (mutation) only because the form values do not fit a query string.
Needs services.create on the project. Available to MCP clients and the assistant.
seylo_session<token>application/json- body
projectId*stringPanel-issued id.
^[a-z0-9]{16}$slug*string^[a-z0-9][a-z0-9-]*$1 <= length <= 60name*stringDNS-safe; the service's host name on the project network. Unique in its project.
^[a-z0-9]([a-z0-9-]*[a-z0-9])?$1 <= length <= 40nodeId*stringPanel-issued id.
^[a-z0-9]{16}$values*Success.
application/json- response
services*array<>warnings*array<string>curl -X POST 'https://example.com/api/v1/templates.preview' \ -H 'Content-Type: application/json' \ -d '{ "projectId": "string", "slug": "string", "name": "string", "nodeId": "string", "values": {}}'{ "services": [ { "name": "string", "kind": "app", "image": "string", "ports": [ 1 ], "internalOnly": true, "domains": [ "string" ], "envKeys": [ "string" ], "volumes": [ { "name": "string", "mountPath": "string" } ], "conflict": true } ], "warnings": [ "string" ]}List templates GET
Lists the template catalog (built-in and added on this panel), optionally filtered by category or a search text, with the categories for the filter chips. Any signed-in caller. Available to MCP clients and the assistant.
Add or change a custom template POST
Saves a template on this panel from its meta.yaml and index.ts (Easypanel's format). The files are checked first: the form must parse and generate() must run in the sandbox with the form's defaults. Built-in slugs cannot be used. Needs `templates.manage`, which owners and admins hold. Not available to MCP clients or the assistant.