Add or change a custom template
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.
seylo_session<token>application/json- body
slug*string^[a-z0-9][a-z0-9-]*$1 <= length <= 60metaYaml*string1 <= length <= 50000source*string1 <= length <= 200000Success.
application/json- response
slug*string^[a-z0-9][a-z0-9-]*$1 <= length <= 60name*stringdescription*stringcategory*stringtags*array<string>logoUrl*string|nullcreates*stringbuiltIn*booleanbody*stringlinks*array<>fields*array<>curl -X POST 'https://example.com/api/v1/templates.saveCustom' \ -H 'Content-Type: application/json' \ -d '{ "slug": "string", "metaYaml": "string", "source": "string"}'{ "slug": "string", "name": "string", "description": "string", "category": "string", "tags": [ "string" ], "logoUrl": "string", "creates": "string", "builtIn": true, "body": "string", "links": [ { "label": "string", "url": "string" } ], "fields": [ { "key": "string", "label": "string", "description": "string", "type": "string", "required": true, "default": "string", "options": [ { "value": "string", "label": "string" } ] } ]}Preview what a template creates POST
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.
Read a template's files GET
Returns a template's meta.yaml and index.ts, for reading a built-in template or editing one added on this panel. Any signed-in caller. Available to MCP clients and the assistant.