Portainer · Schema

edge.StackPayload

Container ManagementContainersDockerKubernetesKubernetes ManagementEnterprise IdentityGitOps

Properties

Name Type Description
AlwaysCloneGitRepoForRelativePath boolean AlwaysCloneGitRepoForRelativePath is a flag indicating if the agent must always clone the git repository for relative path. This field is only valid when SupportRelativePath is true. Used only for EE
CreatedBy string CreatedBy is the username that created this stack Used for adding labels to Kubernetes manifests
CreatedByUserId string CreatedByUserId is the user ID that created this stack Used for adding labels to Kubernetes manifests
DeployerOptionsPayload object
DirEntries array Content of stack folder
EdgeUpdateID integer EdgeUpdateID is the ID of the edge update related to this stack. Used only for EE
EntryFileName string Name of the stack entry file
EnvVars array Used only for EE EnvVars is a list of environment variables to inject into the stack
FilesystemPath string Mount point for relative path
ForceUpdate boolean ForceUpdate is a flag indicating if the agent must force the update of the stack. Used only for EE
HelmConfig object HelmConfig represents the Helm configuration for an edge stack
ID integer ID of the stack
Name string Name of the stack
Namespace string Namespace to use for kubernetes stack. Keep empty to use the manifest namespace.
PrePullImage boolean PrePullImage is a flag indicating if the agent must pull the image before deploying the stack. Used only for EE
RePullImage boolean RePullImage is a flag indicating if the agent must pull the image if it is already present on the node. Used only for EE
ReadyRePullImage boolean Used only for EE async edge agent ReadyRePullImage is a flag to indicate whether the auto update is trigger to re-pull image Deprecated(2.36): use DeployerOptionsPayload.ForceRecreate instead
RegistryCredentials array RegistryCredentials holds the credentials for a Docker registry. Used only for EE
RetryDeploy boolean RetryDeploy is a flag indicating if the agent must retry to deploy the stack if it fails. Used only for EE
RetryPeriod integer RetryPeriod specifies the duration, in seconds, for which the agent should continue attempting to deploy the stack after a failure Used only for EE
RollbackTo integer RollbackTo specifies the stack file version to rollback to (only support to rollback to the last version currently)
StackFileContent string Content of the stack file (for compatibility to agent version less than 2.19.0)
SupportRelativePath boolean Is relative path supported
Version integer Version of the stack file
View JSON Schema on GitHub

JSON Schema

portainer-edge-stack-payload-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/portainer/main/json-schema/portainer-edge-stack-payload-schema.json",
  "title": "edge.StackPayload",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/portainer-edge-api-openapi.yml#/components/schemas/edge.StackPayload",
  "properties": {
    "AlwaysCloneGitRepoForRelativePath": {
      "description": "AlwaysCloneGitRepoForRelativePath is a flag indicating if the agent must always clone the git repository for relative path.\nThis field is only valid when SupportRelativePath is true.\nUsed only for EE",
      "type": "boolean"
    },
    "CreatedBy": {
      "description": "CreatedBy is the username that created this stack\nUsed for adding labels to Kubernetes manifests",
      "type": "string"
    },
    "CreatedByUserId": {
      "description": "CreatedByUserId is the user ID that created this stack\nUsed for adding labels to Kubernetes manifests",
      "type": "string"
    },
    "DeployerOptionsPayload": {
      "$ref": "#/$defs/edge.DeployerOptionsPayload"
    },
    "DirEntries": {
      "description": "Content of stack folder",
      "items": {
        "$ref": "#/$defs/filesystem.DirEntry"
      },
      "type": "array"
    },
    "EdgeUpdateID": {
      "description": "EdgeUpdateID is the ID of the edge update related to this stack.\nUsed only for EE",
      "type": "integer"
    },
    "EntryFileName": {
      "description": "Name of the stack entry file",
      "type": "string"
    },
    "EnvVars": {
      "description": "Used only for EE\nEnvVars is a list of environment variables to inject into the stack",
      "items": {
        "$ref": "#/$defs/portainer.Pair"
      },
      "type": "array"
    },
    "FilesystemPath": {
      "description": "Mount point for relative path",
      "type": "string"
    },
    "ForceUpdate": {
      "description": "ForceUpdate is a flag indicating if the agent must force the update of the stack.\nUsed only for EE",
      "type": "boolean"
    },
    "HelmConfig": {
      "allOf": [
        {
          "$ref": "#/$defs/portainer.HelmConfig"
        }
      ],
      "description": "HelmConfig represents the Helm configuration for an edge stack"
    },
    "ID": {
      "description": "ID of the stack",
      "type": "integer"
    },
    "Name": {
      "description": "Name of the stack",
      "type": "string"
    },
    "Namespace": {
      "description": "Namespace to use for kubernetes stack. Keep empty to use the manifest namespace.",
      "type": "string"
    },
    "PrePullImage": {
      "description": "PrePullImage is a flag indicating if the agent must pull the image before deploying the stack.\nUsed only for EE",
      "type": "boolean"
    },
    "RePullImage": {
      "description": "RePullImage is a flag indicating if the agent must pull the image if it is already present on the node.\nUsed only for EE",
      "type": "boolean"
    },
    "ReadyRePullImage": {
      "description": "Used only for EE async edge agent\nReadyRePullImage is a flag to indicate whether the auto update is trigger to re-pull image\nDeprecated(2.36): use DeployerOptionsPayload.ForceRecreate instead",
      "type": "boolean"
    },
    "RegistryCredentials": {
      "description": "RegistryCredentials holds the credentials for a Docker registry.\nUsed only for EE",
      "items": {
        "$ref": "#/$defs/edge.RegistryCredentials"
      },
      "type": "array"
    },
    "RetryDeploy": {
      "description": "RetryDeploy is a flag indicating if the agent must retry to deploy the stack if it fails.\nUsed only for EE",
      "type": "boolean"
    },
    "RetryPeriod": {
      "description": "RetryPeriod specifies the duration, in seconds, for which the agent should continue attempting to deploy the stack after a failure\nUsed only for EE",
      "type": "integer"
    },
    "RollbackTo": {
      "description": "RollbackTo specifies the stack file version to rollback to (only support to rollback to the last version currently)",
      "type": "integer"
    },
    "StackFileContent": {
      "description": "Content of the stack file (for compatibility to agent version less than 2.19.0)",
      "type": "string"
    },
    "SupportRelativePath": {
      "description": "Is relative path supported",
      "type": "boolean"
    },
    "Version": {
      "description": "Version of the stack file",
      "type": "integer"
    }
  },
  "type": "object",
  "$defs": {
    "edge.DeployerOptionsPayload": {
      "properties": {
        "ForceRecreate": {
          "description": "ForceRecreate is a flag indicating if the agent must force the redeployment of the stack.\nThis field is only used when the Force Redeployment is triggered.\nOnce the stack is redeployed, this field will be reset to false.\nFor standard edge agent, this field is used in agent side\nFor async edge agent, this field is used in both agent side and server side.\nThis flag drives `docker compose up --force-recreate` option",
          "type": "boolean"
        },
        "Prune": {
          "description": "Prune is a flag indicating if the agent must prune the containers or not when creating/updating an edge stack\nThis flag drives `docker compose up --remove-orphans` and `docker stack up --prune` options\nUsed only for EE",
          "type": "boolean"
        },
        "RemoveVolumes": {
          "description": "RemoveVolumes is a flag indicating if the agent must remove the named volumes declared\nin the compose file and anonymouse volumes attached to containers\nThis flag drives `docker compose down --volumes` option\nUsed only for EE",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "edge.RegistryCredentials": {
      "properties": {
        "Secret": {
          "type": "string"
        },
        "ServerURL": {
          "type": "string"
        },
        "Username": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "filesystem.DirEntry": {
      "properties": {
        "Content": {
          "type": "string"
        },
        "IsFile": {
          "type": "boolean"
        },
        "Name": {
          "type": "string"
        },
        "Permissions": {
          "$ref": "#/$defs/os.FileMode"
        }
      },
      "type": "object"
    },
    "os.FileMode": {
      "enum": [
        2147483648,
        1073741824,
        536870912,
        268435456,
        134217728,
        67108864,
        33554432,
        16777216,
        8388608,
        4194304,
        2097152,
        1048576,
        524288,
        2401763328,
        511,
        2147483648,
        1073741824,
        536870912,
        268435456,
        134217728,
        67108864,
        33554432,
        16777216,
        8388608,
        4194304,
        2097152,
        1048576,
        524288,
        2401763328,
        511
      ],
      "type": "integer",
      "x-enum-comments": {
        "ModeAppend": "a: append-only",
        "ModeCharDevice": "c: Unix character device, when ModeDevice is set",
        "ModeDevice": "D: device file",
        "ModeDir": "d: is a directory",
        "ModeExclusive": "l: exclusive use",
        "ModeIrregular": "?: non-regular file; nothing else is known about this file",
        "ModeNamedPipe": "p: named pipe (FIFO)",
        "ModePerm": "Unix permission bits, 0o777",
        "ModeSetgid": "g: setgid",
        "ModeSetuid": "u: setuid",
        "ModeSocket": "S: Unix domain socket",
        "ModeSticky": "t: sticky",
        "ModeSymlink": "L: symbolic link",
        "ModeTemporary": "T: temporary file; Plan 9 only"
      },
      "x-enum-varnames": [
        "ModeDir",
        "ModeAppend",
        "ModeExclusive",
        "ModeTemporary",
        "ModeSymlink",
        "ModeDevice",
        "ModeNamedPipe",
        "ModeSocket",
        "ModeSetuid",
        "ModeSetgid",
        "ModeCharDevice",
        "ModeSticky",
        "ModeIrregular",
        "ModeType",
        "ModePerm"
      ]
    },
    "portainer.HelmConfig": {
      "properties": {
        "Atomic": {
          "description": "Enable automatic rollback on deployment failure (equivalent to helm --atomic flag)",
          "type": "boolean"
        },
        "ChartPath": {
          "description": "Path to a Helm chart folder for Helm git deployments",
          "type": "string"
        },
        "Timeout": {
          "description": "Timeout for Helm operations (equivalent to helm --timeout flag)",
          "type": "string"
        },
        "ValuesFiles": {
          "description": "Array of paths to Helm values YAML files for Helm git deployments",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "Version": {
          "description": "Helm chart version from Chart.yaml (read-only, extracted during Git sync)",
          "type": "string"
        }
      },
      "type": "object"
    },
    "portainer.Pair": {
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/portainer-edge-stack-payload"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.