{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/portainer/main/json-schema/portainer-templates-list-response-schema.json", "title": "templates.listResponse", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/portainer-templates-api-openapi.yml#/components/schemas/templates.listResponse", "properties": { "templates": { "items": { "$ref": "#/$defs/portainer.Template" }, "type": "array" }, "version": { "type": "string" } }, "type": "object", "$defs": { "portainer.Pair": { "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "type": "object" }, "portainer.Template": { "properties": { "administrator_only": { "description": "Whether the template should be available to administrators only", "type": "boolean" }, "categories": { "description": "A list of categories associated to the template", "items": { "type": "string" }, "type": "array" }, "command": { "description": "The command that will be executed in a container template", "type": "string" }, "description": { "description": "Description of the template", "type": "string" }, "env": { "description": "A list of environment(endpoint) variables used during the template deployment", "items": { "$ref": "#/$defs/portainer.TemplateEnv" }, "type": "array" }, "hostname": { "description": "Container hostname", "type": "string" }, "id": { "description": "Mandatory container/stack fields\nTemplate Identifier", "type": "integer" }, "image": { "description": "Mandatory container fields\nImage associated to a container template. Mandatory for a container template", "type": "string" }, "interactive": { "description": "Whether the container should be started in\ninteractive mode (-i -t equivalent on the CLI)", "type": "boolean" }, "labels": { "description": "Container labels", "items": { "$ref": "#/$defs/portainer.Pair" }, "type": "array" }, "logo": { "description": "URL of the template's logo", "type": "string" }, "name": { "description": "Optional stack/container fields\nDefault name for the stack/container to be used on deployment", "type": "string" }, "network": { "description": "Name of a network that will be used on container deployment if it exists inside the environment(endpoint)", "type": "string" }, "note": { "description": "A note that will be displayed in the UI. Supports HTML content", "type": "string" }, "platform": { "description": "Platform associated to the template.\nValid values are: 'linux', 'windows' or leave empty for multi-platform", "type": "string" }, "ports": { "description": "A list of ports exposed by the container", "items": { "type": "string" }, "type": "array" }, "privileged": { "description": "Whether the container should be started in privileged mode", "type": "boolean" }, "registry": { "description": "Optional container fields\nThe URL of a registry associated to the image for a container template", "type": "string" }, "repository": { "allOf": [ { "$ref": "#/$defs/portainer.TemplateRepository" } ], "description": "Mandatory stack fields" }, "restart_policy": { "description": "Container restart policy", "type": "string" }, "stackFile": { "description": "Mandatory Edge stack fields\nStack file used for this template", "type": "string" }, "title": { "description": "Title of the template", "type": "string" }, "type": { "allOf": [ { "$ref": "#/$defs/portainer.TemplateType" } ], "description": "Template type. Valid values are: 1 (container), 2 (Swarm stack), 3 (Compose stack), 4 (Compose edge stack)" }, "volumes": { "description": "A list of volumes used during the container template deployment", "items": { "$ref": "#/$defs/portainer.TemplateVolume" }, "type": "array" } }, "type": "object" }, "portainer.TemplateEnv": { "properties": { "default": { "description": "Default value that will be set for the variable", "type": "string" }, "description": { "description": "Content of the tooltip that will be generated in the UI", "type": "string" }, "label": { "description": "Text for the label that will be generated in the UI", "type": "string" }, "name": { "description": "name of the environment(endpoint) variable", "type": "string" }, "preset": { "description": "If set to true, will not generate any input for this variable in the UI", "type": "boolean" }, "select": { "description": "A list of name/value that will be used to generate a dropdown in the UI", "items": { "$ref": "#/$defs/portainer.TemplateEnvSelect" }, "type": "array" } }, "type": "object" }, "portainer.TemplateEnvSelect": { "properties": { "default": { "description": "Will set this choice as the default choice", "type": "boolean" }, "text": { "description": "Some text that will displayed as a choice", "type": "string" }, "value": { "description": "A value that will be associated to the choice", "type": "string" } }, "type": "object" }, "portainer.TemplateRepository": { "properties": { "stackfile": { "description": "Path to the stack file inside the git repository", "type": "string" }, "url": { "description": "URL of a git repository used to deploy a stack template. Mandatory for a Swarm/Compose stack template", "type": "string" } }, "type": "object" }, "portainer.TemplateType": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "x-enum-varnames": [ "_", "ContainerTemplate", "SwarmStackTemplate", "ComposeStackTemplate" ] }, "portainer.TemplateVolume": { "properties": { "bind": { "description": "Path on the host", "type": "string" }, "container": { "description": "Path inside the container", "type": "string" }, "readonly": { "description": "Whether the volume used should be readonly", "type": "boolean" } }, "type": "object" } } }