# Portainer MCP connector

The Portainer connector lets Claude, ChatGPT, Cursor, and the Elaichi Agent look at the containers, Kubernetes applications, cron jobs, ingresses, and node metrics in your Portainer environments, with every call tied to the person who asked.

Source: https://elaichi.ai/connectors/portainer/

## Facts

| | |
| --- | --- |
| Application | Portainer |
| Category | Application Development |
| AI tools | 256 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 256 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Portainer is connected

- List Portainer applications by cluster and show restart counts.
- Which cron jobs ran in the production Portainer environment?
- Summarize Portainer cluster roles and who they are bound to.

## Connect Portainer in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Portainer.
2. Optionally set Share with, then press Connect.
3. Paste a Portainer API key. One person generates a token in Portainer and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Portainer tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Portainer to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Portainer to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Portainer to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Portainer to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Portainer tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Portainer through Elaichi

### See what is running before a change

Platform engineering. Ask which Kubernetes applications are deployed in each Portainer environment, how many there are, and how their resources look before you touch anything.

### Check cluster health from a chat window

Operations. Pull node metrics and per-application resource usage from Portainer to find out what is running hot, without opening a dashboard first.

### Clean up finished jobs and cron jobs

DevOps. List the jobs and cron jobs in a Portainer environment, spot the stale ones, and remove them by ID when the person asking is allowed to.

### Review who holds which cluster role

Security. List Portainer roles, cluster roles, and cluster role bindings to see who can do what, and remove a binding that should not be there.

### Audit ingresses and ingress controllers

Networking. Find out which ingresses exist, how many there are, and which controllers serve them, then update controller settings in bulk when policy changes.

### Look up a config map without kubectl

Development. Ask what config maps a Portainer environment holds and get a plain description of an application when something in staging looks wrong.

## Frequently asked questions

### How do I connect Portainer to Claude?

Connect Portainer inside Elaichi first, then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Portainer connects with an API key, which is a token you create in your Portainer account settings and paste into Elaichi once. There is no OAuth application to register and no client ID or secret to generate. The whole thing takes a few minutes.

### Does Portainer work with ChatGPT and Cursor as well as Claude?

Yes. Once Portainer is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Portainer once and every client you sign into can use it.

### What can an AI agent actually do with my Portainer data?

It can list the Kubernetes applications, config maps, cron jobs, jobs, ingresses, and ingress controllers in your Portainer environments, read node and application metrics, and describe roles and cluster role bindings. Where you allow it, it can also delete a job, cron job, ingress, or cluster role binding by ID and update ingress controllers in bulk. Portainer exposes a lot through this connector, so short concrete asks like "list cron jobs in production" work better than long paragraphs.

### Does connecting Portainer give the AI access to every environment?

No. The AI acts inside the access of whoever signed into Portainer, so it can only see the environments and Kubernetes resources that person's Portainer role already allows. Elaichi can narrow that further, for example to read-only, but it can never widen what Portainer itself grants.

### Can my team share one Portainer connection?

Yes. One person connects Portainer in Elaichi and shares it with a team, and nobody else ever handles the Portainer API key. Each teammate still signs in to Elaichi as themselves, so every call to Portainer is logged under their own name.

### Can I stop an agent from deleting or changing things in Portainer?

Yes. Restrictions in Elaichi work per action, so you can allow listing applications and reading metrics in Portainer while blocking every delete and bulk update. A blocked action is never shown to Claude, ChatGPT, or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Portainer connection when someone leaves?

Offboarding that person in Elaichi ends their access to Portainer through every AI client at once. If the Portainer connection was shared with a team, it keeps working for everyone else. Disconnecting Portainer once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client together.

## All 256 Portainer tools

Every tool below is callable through https://api.elaichi.ai/mcp once Portainer is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Portainer roles** (List). List all Portainer roles available for use. Returns an array of role objects including id, name, description, and priority.
- **List all Portainer kubernete applications** (List). List Kubernetes applications across all namespaces in a Portainer environment. When nodeName is provided, returns only applications running on that node. Returns an array of application objects, each with an id and schema-specific attributes defined in the upstream K8sApplication schema. Required: kubernete_id, namespace, nodeName.
- **List all Portainer applications counts** (List). Get the count of Kubernetes applications across all namespaces in a Portainer environment. Returns an integer count of applications, optionally filtered to a specific node when nodeName is supplied. Required: kubernete_id.
- **Delete a Portainer cluster role bindings delete by ID** (Delete). Delete a list of cluster role bindings from a Portainer Kubernetes environment. Accepts an array of cluster role binding names to remove. Returns an empty 204 response on success. Required: kubernete_id (the environment identifier) and a JSON array of cluster role binding names in the request body.
- **Delete a Portainer cluster roles delete by ID** (Delete). Delete a list of Kubernetes cluster roles in a Portainer environment. Returns an empty 204 response on success. Required: kubernete_id and a request body array of cluster role names.
- **List all Portainer kubernete clusterrolebindings** (List). List Kubernetes cluster role bindings within a Portainer environment at the cluster level. Returns each binding's name and attributes. Required: kubernete_id.
- **List all Portainer kubernete clusterroles** (List). List Kubernetes cluster roles within a Portainer environment at the cluster level. Returns an array of K8sClusterRole objects including id and attributes whose field-level shape is defined in the upstream OpenAPI schema. Required: kubernete_id.
- **List all Portainer kubernete configmaps** (List). List ConfigMaps across all namespaces in a Portainer Kubernetes environment. Returns an array of K8sConfigMap objects; when isUsed is set to true, each item includes information about applications that use it. Required: kubernete_id, isUsed.
- **List all Portainer configmaps counts** (List). Get the count of ConfigMaps across all namespaces in a Portainer Kubernetes environment. Returns an integer count of ConfigMaps; for non-admin users only ConfigMaps in accessible namespaces are counted. Required: kubernete_id.
- **List all Portainer kubernete cron jobs** (List). List Kubernetes Cron Jobs in a Portainer environment that the authenticated user has access to. Returns an array of Cron Job objects. Required: kubernete_id.
- **Delete a Portainer cron jobs delete by ID** (Delete). Delete Kubernetes Cron Jobs from a Portainer environment, grouped by namespace. Returns an empty 204 response on success. Required: kubernete_id and a request body mapping each namespace to an array of Cron Job names to delete.
- **List all Portainer kubernete dashboards** (List). Get Kubernetes dashboard summary data for a Portainer environment, providing counts of commonly used Kubernetes resources. Returns an array of dashboard summary objects whose fields are defined by the upstream K8sDashboard schema (resource counts). Required: kubernete_id.
- **List all Portainer kubernete describes** (List). Get a description of a Kubernetes resource in a Portainer environment. Returns the resource description with content-type-specific fields that vary by resource kind. Required: kubernete_id, name, kind.
- **List all Portainer kubernetes** (List). List Kubernetes events in a Portainer environment, optionally filtered by the resource id of a specific involved Kubernetes object. Returns Kubernetes event objects with an id and attributes whose fields are defined upstream in the kubernetes.K8sEvent schema. Required: kubernete_id.
- **List all Portainer kubernete ingresscontrollers** (List). List Kubernetes ingress controllers for a Portainer environment, optionally filtering to only allowed controllers. Returns: attributes (ingress controller fields defined by the upstream kubernetes.K8sIngressController schema). Required: kubernete_id.
- **Portainer kubernete ingresscontrollers bulk update** (Update). Update (block/unblock) Kubernetes ingress controllers for a Portainer environment by submitting an array of ingress controller objects. Returns an empty 204 response on success. Required: kubernete_id.
- **List all Portainer kubernete ingresses** (List). List Kubernetes ingresses at the cluster level for a Portainer environment. Returns ingress records including id and attributes with fields defined in the upstream K8sIngressInfo schema. Required: kubernete_id.
- **List all Portainer ingresses counts** (List). Get the count of Kubernetes ingresses within a specific Portainer environment. Returns an integer representing the total number of ingresses. Required: kubernete_id.
- **Delete a Portainer ingresses delete by ID** (Delete). Delete one or more Kubernetes Ingresses in a Portainer environment. Returns an empty 204 response on success. Required: kubernete_id.
- **List all Portainer kubernete jobs** (List). List Kubernetes Jobs in a Portainer environment that the authenticated user has access to. Optionally include jobs owned by cron jobs. Returns: id. Required: kubernete_id.
- **Delete a Portainer jobs delete by ID** (Delete). Delete a list of Kubernetes Jobs in a Portainer environment by providing a namespace-to-jobs map. Returns an empty 204 response on success. Required: kubernete_id (environment identifier) and a request body mapping namespace names to arrays of Job names.
- **List all Portainer kubernete max resource limits** (List). Get max CPU and memory limits (unused resources) for all nodes within a Kubernetes cluster in Portainer. Returns a map of per-node resource limits including CPU and memory capacity per node. Required: kubernete_id.
- **List all Portainer metrics applications resources** (List). List the total CPU (cores) and memory (bytes) requests and limits of all applications across all namespaces in a Portainer Kubernetes environment. Returns: CpuRequest, CpuLimit, MemoryRequest, MemoryLimit. Required: kubernete_id, node.
- **List all Portainer metrics nodes** (List). List live metrics for all nodes in a Portainer Kubernetes environment. Returns the NodeMetricsList object whose field shape is defined by the Kubernetes v1beta1.NodeMetricsList schema referenced upstream. Required: kubernete_id.
- **Get single Portainer metrics node by ID** (Get). Get live metrics for a specific node by id in a Portainer Kubernetes environment. Returns: apiVersion, kind, metadata, timestamp, window, usage. Required: kubernete_id, id.
- **List all Portainer metrics pods** (List). List pods with their live metrics in a Portainer Kubernetes environment namespace. Returns a v1beta1.PodMetricsList whose fields are defined by the upstream Kubernetes metrics API and are not expanded in the Portainer API documentation. Required: kubernete_id, namespace.
- **Get single Portainer metrics pod by ID** (Get). Get live metrics for a specific pod in a Portainer Kubernetes environment namespace. Returns a v1beta1.PodMetrics object whose fields are defined by the upstream Kubernetes metrics API and are not expanded in the Portainer API documentation. Required: kubernete_id, namespace, id.
- **List all Portainer kubernete namespaces** (List). List all Kubernetes namespaces in a Portainer environment, scoped by the user's role and permissions. Returns: Name. Required: kubernete_id, withResourceQuota, withUnhealthyEvents.
- **Create a Portainer kubernete namespace** (Create). Create a Kubernetes namespace in a Portainer environment. Returns: Name. Required: kubernete_id, Name.
- **Update a Portainer kubernete namespace by ID** (Update). Update a Kubernetes namespace in a Portainer environment. Returns: Name. Required: kubernete_id, id, Name.
- **Portainer kubernete namespaces list events** (List). List Kubernetes events for a namespace in a Portainer environment, optionally filtered by resource id. Returns: id. Required: kubernete_id, namespace.
- **Get single Portainer kubernete namespace by ID** (Get). Get details of a Kubernetes namespace in a Portainer environment by id. Returns: id, attributes. Required: kubernete_id, id.
- **Portainer kubernete namespaces bulk update** (Update). Update Kubernetes namespaces within a Portainer environment. Returns: id, attributes. Required: kubernete_id.
- **Portainer kubernete namespaces bulk delete** (Delete). Delete a Kubernetes namespace in a Portainer environment. Returns a success message string. Required: kubernete_id, namespace.
- **List all Portainer namespace configmaps** (List). Get a ConfigMap by name within a specific namespace in a Portainer Kubernetes environment. Returns the full Kubernetes ConfigMap object including its name, namespace, and configuration data. Required: kubernete_id, namespace, configmap.
- **List all Portainer namespace ingresscontrollers** (List). List ingress controllers for a Portainer Kubernetes environment in a specific namespace. Returns an array of ingress controller objects with attributes defined by the upstream K8sIngressController schema. Required: kubernete_id, namespace.
- **Portainer namespace ingresscontrollers bulk update** (Update). Update (block/unblock) Kubernetes ingress controllers by namespace for a Portainer environment. Accepts an array of ingress controller objects to update. Returns an empty 204 response on success. Required: kubernete_id, namespace.
- **List all Portainer namespace ingresses** (List). List Kubernetes ingresses in a specific namespace within a Portainer environment. Returns: id, name. Required: kubernete_id, namespace.
- **Create a Portainer namespace ingress** (Create). Create a Kubernetes ingress in a specific namespace within a Portainer environment. Returns an empty 204 response on success. Required: kubernete_id, namespace.
- **Get single Portainer namespace ingress by ID** (Get). Get a single Kubernetes ingress by id in a specific namespace within a Portainer environment. Returns: id, name, namespace. Required: kubernete_id, namespace, id.
- **Portainer namespace ingresses bulk update** (Update). Update a Kubernetes ingress in a specific namespace within a Portainer environment. Returns an empty 204 response on success. Required: kubernete_id, namespace.
- **List all Portainer namespace persistent volume claims** (List). List Kubernetes PersistentVolumeClaims in a namespace within a Portainer environment. Returns PVC objects including name and attributes. Required: kubernete_id, namespace.
- **Get single Portainer namespace persistent volume claim by ID** (Get). Get a specific PersistentVolumeClaim by name within a Kubernetes namespace in a Portainer environment. Returns the PVC object including its id and attributes. Required: kubernete_id, namespace, id.
- **Delete a Portainer namespace pod by ID** (Delete). Delete a Kubernetes pod in a given namespace from Portainer. The owning controller (Deployment, StatefulSet, DaemonSet) recreates the pod; naked pods are removed permanently. Returns an empty 204 response on success. Required: kubernete_id, namespace, id.
- **Create a Portainer pod restart** (Create). Restart all containers in a Kubernetes pod in place using the Kubernetes 1.35 alpha pod-restart subresource; the pod itself is preserved. Returns an empty 204 response on success. Required: kubernete_id, namespace, name. The cluster must expose the pod-restart subresource (Kubernetes 1.35+ with the matching feature gate enabled).
- **List all Portainer namespace secrets** (List). Get a Kubernetes Secret by name within a specified namespace in a Portainer environment. Returns the secret object including its name, namespace, and data. Required: kubernete_id, namespace, secret.
- **List all Portainer namespace service accounts** (List). Get a specific Kubernetes service account by name within a namespace in a Portainer environment. Returns: name. Required: kubernete_id, namespace, name.
- **Portainer service account image pull secrets bulk update** (Update). Replace the imagePullSecrets list on a Kubernetes service account in a Portainer environment with the provided list. Returns an empty 204 response on success. Required: kubernete_id, namespace, id.
- **List all Portainer namespace services** (List). List Kubernetes services for a given namespace in a Portainer environment. Returns: attributes containing Kubernetes service information as defined by the upstream K8sServiceInfo schema. Required: kubernete_id, namespace.
- **Create a Portainer namespace service** (Create). Create a Kubernetes service within a given namespace in a Portainer environment. Returns an empty 204 response on success. Required: kubernete_id, namespace.
- **Portainer namespace services bulk update** (Update). Update a Kubernetes service within a given namespace in Portainer. Returns an empty 204 response on success. Required: kubernete_id, namespace, and a K8sServiceInfo request body containing the updated service configuration.
- **Portainer namespace systems bulk update** (Update). Toggle the system state for a Kubernetes namespace in a Portainer environment. Returns an empty 204 response on success. Required: kubernete_id, namespace.
- **List all Portainer namespace volumes** (List). List Kubernetes volumes within a specific namespace in a Portainer environment. Returns: attributes containing Portainer-defined K8sVolumeInfo fields (volume details and optionally the applications using each volume). Required: kubernete_id, namespace.
- **List all Portainer namespaces counts** (List). Get the total number of Kubernetes namespaces within a Portainer environment, including system namespaces. Returns an integer count that depends on the user's role and permissions. Required: kubernete_id.
- **List all Portainer kubernete nodes** (List). List Kubernetes cluster nodes for a Portainer environment. Returns each node's id and attributes (as defined by the upstream KubernetesNodeResponse schema). Required: kubernete_id.
- **Create a Portainer node drain** (Create). Drain a Kubernetes node in Portainer by safely evicting all pods from the node, preparing it for maintenance or removal. Returns an empty 204 response on success. Required: kubernete_id, name.
- **List all Portainer kubernete nodes limits** (List). Get CPU and memory limits of all nodes within a Kubernetes cluster in Portainer. Returns a map keyed by node name where each entry contains the node's CPU and Memory limits. Required: kubernete_id.
- **List all Portainer kubernete persistent volume claims** (List). List all PersistentVolumeClaims in a Portainer Kubernetes environment. Returns an array of PersistentVolumeClaim objects. Required: kubernete_id. Results are scoped by namespace for non-admin users.
- **Delete a Portainer persistent volume claims delete by ID** (Delete). Delete a list of PersistentVolumeClaims in a Portainer Kubernetes environment by providing PVC namespace and name pairs. Returns an empty 204 response on success. Required: kubernete_id and a body array of PVC namespace/name pairs.
- **Portainer persistent volume claims resizes bulk update** (Update). Resize a PersistentVolumeClaim in a Portainer Kubernetes environment to a new size. Returns an empty 204 response on success. Required: kubernete_id. The StorageClass must support volume expansion.
- **List all Portainer kubernete persistent volumes** (List). List all PersistentVolumes in a Portainer Kubernetes environment. Returns: name. Required: kubernete_id.
- **Get single Portainer kubernete persistent volume by ID** (Get). Get a specific PersistentVolume by id in a Portainer Kubernetes environment. Returns: name. Required: kubernete_id, id.
- **Delete a Portainer persistent volumes delete by ID** (Delete). Delete a list of PersistentVolumes in a Portainer Kubernetes environment by providing their names. Returns an empty 204 response on success. Required: kubernete_id and the list of PersistentVolume names to delete.
- **Portainer persistent volumes reclaim policies bulk update** (Update). Update the reclaim policy of a PersistentVolume in a Portainer Kubernetes environment. Returns an empty 204 response on success. Required: kubernete_id.
- **List all Portainer kubernete rbac enableds** (List). Check whether RBAC is enabled in a specific Portainer Kubernetes cluster. Returns a boolean indicating the RBAC status. Required: kubernete_id.
- **Delete a Portainer role bindings delete by ID** (Delete). Delete Kubernetes role bindings in a Portainer environment by submitting a namespace-to-role-binding-names map. Returns an empty 204 response on success. Required: kubernete_id.
- **List all Portainer kubernete rolebindings** (List). List Kubernetes role bindings in a Portainer environment that the authenticated user has access to. Returns an array of role binding records with id and attributes. Required: kubernete_id.
- **List all Portainer kubernete roles** (List). List Kubernetes roles in a Portainer environment that the authenticated user has access to. Returns: name. Required: kubernete_id.
- **Delete a Portainer roles delete by ID** (Delete). Delete Kubernetes roles in a Portainer environment by providing a map of namespaces to arrays of role names. Returns an empty 204 response on success. Required: kubernete_id.
- **List all Portainer kubernete secrets** (List). List Kubernetes Secrets across all namespaces in a Portainer environment. When isUsed is set to true, information about the applications that use each secret is included in the response. Returns an array of K8sSecret objects including id and additional secret attributes. Required: kubernete_id, isUsed.
- **List all Portainer secrets counts** (List). Get the count of Kubernetes Secrets across all namespaces the user has access to in Portainer. Returns the total count as an integer. Required: kubernete_id (the environment identifier).
- **Delete a Portainer service accounts delete by ID** (Delete). Delete a list of Kubernetes service accounts from a Portainer environment. Accepts a map where each key is a namespace and each value is an array of service account names to delete. Returns an empty 204 response on success. Required: kubernete_id.
- **List all Portainer kubernete serviceaccounts** (List). List Kubernetes service accounts in a Portainer environment that the user has access to. Returns: name. Required: kubernete_id.
- **List all Portainer kubernete services** (List). List Kubernetes services that the user has access to in a Portainer environment. Returns an array of Kubernetes service objects. Required: kubernete_id. Optional: withApplications to include associated applications with each service.
- **List all Portainer services counts** (List). Get the total count of Kubernetes services the user has access to in a Portainer environment. Returns the service count as an integer. Required: kubernete_id (environment identifier).
- **Delete a Portainer services delete by ID** (Delete). Delete Kubernetes services in a Portainer environment by providing a map of namespace to service names. Returns an empty 204 response on success. Required: kubernete_id.
- **List all Portainer kubernete storage classes** (List). List all Kubernetes StorageClasses in a Portainer environment. Returns: Name. Required: kubernete_id.
- **Get single Portainer kubernete storage class by ID** (Get). Get a specific Kubernetes StorageClass by name in a Portainer environment. Returns: Name, attributes. Required: kubernete_id, id.
- **Portainer kubernete storage classes bulk update** (Update). Set a specified StorageClass as the cluster default in Portainer, removing default status from any other StorageClass. Returns an empty 204 response on success. Required: kubernete_id, id.
- **Delete a Portainer storage classes delete by ID** (Delete). Delete one or more Kubernetes StorageClasses from a Portainer environment. Accepts a JSON array of StorageClass names to delete. Returns an empty 204 response on success. Required: kubernete_id and the array of StorageClass names.
- **List all Portainer kubernete versions** (List). Get the Kubernetes cluster version and Portainer capability flags for a specific environment in Portainer. Returns: major, minor, gitVersion, and capability flags such as supportsPodRestart. Required: kubernete_id.
- **List all Portainer kubernete volumes** (List). List all Kubernetes volumes in a Portainer environment, optionally including the applications using each volume. Returns: Name. Required: kubernete_id.
- **Get single Portainer kubernete volume by ID** (Get). Get a specific Kubernetes volume by namespace and id in a Portainer environment. Returns: Name, Namespace, Applications. Required: kubernete_id, namespace, id.
- **List all Portainer volumes counts** (List). Get the total number of Kubernetes volumes within a Portainer environment. Returns an integer count of volumes; the count depends on the user's role and permissions. Required: kubernete_id.
- **List all Portainer kubernetes configs** (List). Generate a kubeconfig file in Portainer that allows a client to communicate with the Kubernetes API server. Returns the kubeconfig file with Kubernetes-standard fields. Use ids to include only specific environment endpoints, or excludeIds to exclude environments. Both parameters are optional and accept arrays of environment endpoint identifiers.
- **List all Portainer settings** (List). Retrieve Portainer settings. Returns the full Portainer settings object containing global configuration options for the instance. No required parameters.
- **Portainer settings bulk update** (Update). Update Portainer settings by submitting a new settings payload. Returns the updated Portainer settings object. Required: a JSON request body containing the new settings.
- **List all Portainer settings publics** (List). Retrieve Portainer public settings — a small set of non-administrative settings. Returns the public settings object whose individual fields are defined upstream in the settings.publicSettingsResponse schema and are not enumerated in the available documentation.
- **List all Portainer system info** (List). Retrieve Portainer system info. Returns the Portainer system info object with details about the running Portainer instance.
- **List all Portainer system nodes** (List). Retrieve the count of nodes managed by Portainer. Returns: count. No required parameters.
- **List all Portainer system status** (List). Check Portainer status. This public endpoint retrieves the current status of the Portainer instance, including whether authentication is enabled and whether analytics are active. No required parameters.
- **Create a Portainer system upgrade** (Create). Upgrade Portainer to the Business Edition (BE). Returns an empty 204 response on success. Requires administrator access.
- **List all Portainer system versions** (List). Check if Portainer has an update available. Returns a version response object containing Portainer update availability information. No required parameters.
- **List all Portainer teams** (List). List teams in Portainer. For non-administrator users, only returns teams they are a member of. Returns: Id, Name.
- **Create a Portainer team** (Create). Create a new team in Portainer. Returns the created team including its Id and Name. Required: Name. Returns 409 if a team with the same name already exists.
- **Get single Portainer team by ID** (Get). Get a single Portainer team by id. Returns: Id, Name. Required: id.
- **Update a Portainer team by ID** (Update). Update a Portainer team by id. Returns the updated team including its Id and Name. Required: id.
- **Delete a Portainer team by ID** (Delete). Delete a Portainer team by id. Returns an empty 204 response on success. Required: id.
- **List all Portainer websocket attaches** (List). Attach a websocket in Portainer. When nodeName is provided the request is proxied to the underlying agent environment; otherwise the request is upgraded to the websocket protocol with an AttachStart operation. Returns an empty 200 response on success. Required: endpointId.
- **List all Portainer websocket execs** (List). Execute a websocket exec session on a Portainer environment. When nodeName is provided the request is proxied to the underlying agent environment; otherwise the request is upgraded to the websocket protocol and an ExecStart operation is created and hijacked. Returns an empty 200 response on success. Required: endpointId.
- **List all Portainer websocket kubernetes shells** (List). Execute a websocket on a kubectl shell pod in Portainer, upgrading the request to a long-lived websocket connection that proxies client input to the pod. The response is a protocol upgrade with no structured JSON body. Required: endpointId.
- **List all Portainer websocket pods** (List). Execute a command in a container within a Kubernetes pod via WebSocket in Portainer. The request is upgraded to the WebSocket protocol; no structured response body is returned. Required: endpointId, namespace, podName, containerName, command.
- **List all Portainer tags** (List). List all tags in Portainer. Returns: id.
- **Create a Portainer tag** (Create). Create a new tag in Portainer. Returns: id. Required: Name. Returns 409 if the name is already associated to an existing tag.
- **Delete a Portainer tag by ID** (Delete). Delete a Portainer tag by id. Returns an empty 204 response on success. Required: id.
- **Create a Portainer auth** (Create). Authenticate against Portainer using a username and password to obtain a JWT token. Returns: jwt. Required: Username, Password.
- **Create a Portainer auth logout** (Create). Log out of Portainer, invalidating the current session. Returns an empty 204 response on success.
- **Create a Portainer oauth validate** (Create). Authenticate with OAuth in Portainer by submitting OAuth credentials. Returns a JWT token for subsequent authenticated API calls. Required: OAuth credentials in the request body.
- **List all Portainer team memberships** (List). List all team memberships in Portainer. Returns an array of team membership objects including id. No caller-supplied parameters required.
- **Create a Portainer team membership** (Create). Create a new team membership in Portainer. Returns the created team membership object including id. A JSON request body with team membership details is required.
- **Update a Portainer team membership by ID** (Update). Update a team membership in Portainer by id. Returns the updated team membership object including id. Required: id. A JSON request body with team membership details is required.
- **Delete a Portainer team membership by ID** (Delete). Delete a team membership in Portainer by id. Returns an empty 204 response on success. Required: id.
- **Portainer team memberships list by team** (List). List team memberships for a specific team in Portainer. Returns each membership's Id, UserID, TeamID, and Role. Required: team_id.
- **List all Portainer endpoints** (List). List Portainer environments (endpoints) with extensive filtering by group, type, status, tags, platform, edge properties, and more. Returns: Id, Type, URL.
- **Create a Portainer endpoint** (Create). Create a new Portainer environment (endpoint) to manage a Docker, Agent, Azure, Edge, or Kubernetes environment. Returns the created environment including Id, Name, Type, URL, Status, GroupID, and TLS settings. Required: Name, EndpointCreationType.
- **Portainer endpoints bulk delete** (Delete). Remove multiple Portainer environments in a single batch request, optionally cleaning up associated resources. Deprecated — prefer the POST /endpoints/delete endpoint instead. Returns an empty 204 response on success.
- **Get single Portainer endpoint by ID** (Get). Get a single Portainer environment (endpoint) by id. Returns the full environment object including Id, Name, Type, URL, Status, GroupID, Snapshots, and TLS settings. Required: id.
- **Update a Portainer endpoint by ID** (Update). Update a Portainer environment (endpoint) by id, modifying properties such as name, URL, TLS settings, group, tags, and status. Returns the updated environment including Id, Name, Type, URL, Status, GroupID, and TLS settings. Required: id.
- **Delete a Portainer endpoint by ID** (Delete). Delete a Portainer environment (endpoint) by id, optionally cleaning up associated resources. Returns an empty 204 response on success. Required: id.
- **Portainer endpoint associations bulk update** (Update). De-associate an edge environment (endpoint) in Portainer by id. Returns an empty 204 response on success. Required: id.
- **Create a Portainer browse put** (Create). Upload a file to a specific destination path on the file system of a Portainer environment (endpoint), such as TLS files. Returns an empty 204 response on success. Required: endpoint_id, Path, file.
- **List all Portainer endpoint dockerhubs** (List). Fetch Docker Hub pull limits for a Docker Hub registry in a Portainer environment. Returns the Docker Hub pull limit status for the specified registry. Required: endpoint_id, registry_id.
- **Portainer endpoint forceupdateservices bulk update** (Update). Force update a Docker service on a Portainer endpoint (environment). Returns a swarm service update response object. Required: id.
- **List all Portainer endpoint registries** (List). List all registries available in a Portainer environment based on the current user's authorizations. Returns an array of registry objects for the specified environment, filtered by the caller's access permissions. Required: endpoint_id. For Kubernetes environments, an optional namespace parameter filters registries by namespace.
- **Update a Portainer endpoint registry by ID** (Update). Update registry access for a Portainer environment. Returns an empty 204 response on success. Required: id, endpoint_id, and a JSON access payload body.
- **Portainer endpoint settings bulk update** (Update). Update settings for a Portainer environment (endpoint) by id. Returns the updated Portainer Endpoint object including Id, Name, Status, URL, Type, and GroupID. Required: id.
- **Create a Portainer endpoint snapshot** (Create). Create a snapshot of a Portainer environment (endpoint). Returns an empty 204 response on success. Required: endpoint_id.
- **Create a Portainer endpoints delete** (Create). Remove multiple Portainer environments in a single batch and optionally clean up associated resources. Returns an empty 204 response on success; a 207 partial-success response is returned when some environments fail to delete. Requires a request body specifying the environments to remove.
- **Create a Portainer endpoints global key** (Create). Create or retrieve the Portainer environment (endpoint) for an EdgeID. Returns the endpoint global key response object including its id and content-specific attributes.
- **Portainer endpoints relations bulk update** (Update). Update relations for a list of Portainer environments, including edge groups, tags, and environment group assignments. Returns an empty 204 response on success. Required: a request body containing environment relations data.
- **Create a Portainer endpoints snapshot** (Create). Trigger a snapshot of all Portainer environments (endpoints). Returns an empty 204 response on success.
- **List all Portainer endpoints summaries** (List). Get Portainer environment summary counts including environment status breakdown (up, down), unassigned count, and breakdowns by group, type, and health. Returns: type.
- **List all Portainer templates** (List). List available Portainer app templates. Returns: id. The full template object shape is defined by the upstream templates.listResponse schema, which is not enumerated in the API docs; individual fields vary by Portainer version and configured template source.
- **Create a Portainer template file** (Create). Get a Portainer template's file content by template id. Returns: FileContent. Required: template_id.
- **List all Portainer users** (List). List Portainer users. Returns: Id. Non-administrator users can only see other non-administrator accounts. Passwords are filtered out and never returned. Optionally filter by environmentId.
- **Create a Portainer user** (Create). Create a new Portainer user. Returns the created user object including Id, Username, and Role. Only administrators can create users; returns 409 if the user already exists. Required: Username, Password, Role.
- **Get single Portainer user by ID** (Get). Get a single Portainer user by id. Returns: Id. Passwords are filtered out and never returned. Required: id.
- **Update a Portainer user by ID** (Update). Update a Portainer user by id. Returns: Id. Regular users can only update their own details and cannot change their username or role. Required: id.
- **Delete a Portainer user by ID** (Delete). Delete a Portainer user by id. Returns an empty 204 response on success. Required: id.
- **Portainer users current** (Action). Retrieve details about the current authenticated Portainer user. Returns: Id, Username, Role. User passwords are filtered out and never returned.
- **List all Portainer user effective acceses** (List). List a Portainer user's effective access on every environment. Returns: role, environment for each accessible environment, following the access viewer's policy precedence. Environments with no role are omitted. Required: user_id.
- **List all Portainer user memberships** (List). List team memberships for a Portainer user by user id. Returns a TeamMembership object including Id, TeamID, UserID, and Role. Required: user_id.
- **Portainer user passwds bulk update** (Update). Update the password for a Portainer user by id. Returns an empty 204 response on success. Required: id, password.
- **List all Portainer user tokens** (List). List all API keys for a Portainer user. Returns an array of API key objects, each with an id and additional attributes defined in the upstream portainer.APIKey schema. Required: user_id.
- **Create a Portainer user token** (Create). Create a new API access token for a Portainer user. Only the calling user can generate a token for themselves. Returns: id. Required: user_id. Password is required only for internal authentication.
- **Delete a Portainer user token by ID** (Delete). Delete an API key (user token) associated with a Portainer user. Returns an empty 204 response on success. Required: user_id, id.
- **List all Portainer admin checks** (List). Check if an administrator account exists in the Portainer database. Returns an empty 204 response on success; a 404 indicates no administrator user has been initialized yet.
- **Create a Portainer admin init** (Create). Initialize the Portainer administrator user account on an uninitialized instance. Returns the created admin user object. Returns 409 if an admin is already initialized.
- **Create a Portainer upload tl** (Create). Upload a TLS file (CA, certificate, or key) to Portainer. The file is stored in a specified folder which is created if it does not already exist. Returns an empty 204 response on success. Required: certificate, folder, file.
- **List all Portainer stacks** (List). List all Portainer stacks based on the current user's authorizations. Returns: Id, Name. Limited stacks are not returned by this endpoint.
- **Get single Portainer stack by ID** (Get). Get a single Portainer stack by id. Returns: Id, Name. Required: id.
- **Update a Portainer stack by ID** (Update). Update a file-based Portainer stack by id. Returns: id, Name. Required: id, endpointId. Only for file-based stacks.
- **Delete a Portainer stack by ID** (Delete). Delete a Portainer stack by id. Returns an empty 204 response on success. Required: id, endpointId.
- **Portainer stacks start** (Start). Start a stopped Portainer stack. Returns the stack object including Id, Name, EndpointID, SwarmID, and Env. Required: stack_id, endpointId. Fails with 409 if the stack is already active, deploying, or in error state.
- **Portainer stack associates bulk update** (Update). Associate an orphaned Portainer stack to a new environment(endpoint). Returns the updated stack object including Id, Name, EndpointID, and SwarmID. Required: id, endpointId, swarmId, orphanedRunning.
- **List all Portainer stack files** (List). Get the stack file content for a specific Portainer stack. Returns: StackFileContent. Required: stack_id.
- **Create a Portainer stack git** (Create). Update Git configuration for a Portainer stack, including repository reference name and auto-update settings. When SourceID is set, URL/auth/TLS are inherited from the referenced Source. Returns: Id. Required: stack_id.
- **Portainer git redeploys bulk update** (Update). Redeploy a Portainer stack by pulling its latest configuration from Git and reapplying it. Returns the updated stack object including id, name, and type. Required: id.
- **Create a Portainer stack migrate** (Create). Migrate a Portainer stack to another environment(endpoint), re-creating it in the target before removing the original. Returns the migrated stack with Id, Name, EndpointID, and SwarmID. Required: stack_id. Fails with 409 if a stack with the same name already runs on the target.
- **Create a Portainer kubernetes repository** (Create). Deploy a new Kubernetes stack in Portainer from a git repository into a specified environment. Returns the created stack object including id, name, type, and status. Required: endpointId and a stack config request body.
- **Create a Portainer kubernetes string** (Create). Deploy a new Kubernetes stack from inline manifest text in Portainer. Returns the created Stack object including id, name, and endpointId. Required: endpointId.
- **Create a Portainer kubernetes URL** (Create). Deploy a new Kubernetes stack from a manifest URL in Portainer. Returns the created stack object including its Id. Required: endpointId and a stack config request body.
- **Create a Portainer standalone file** (Create). Deploy a new standalone compose stack from a file upload in Portainer. Returns the created stack object including its id, name, and endpointId. Required: endpointId and Name.
- **Create a Portainer standalone repository** (Create). Deploy a new compose stack from a Git repository into a Portainer Docker environment. Returns the created portainer.Stack object including Id, Name, Type, EndpointID, and Status. Required: endpointId.
- **Create a Portainer standalone string** (Create). Deploy a new standalone compose stack from inline text content into a Portainer Docker environment. Returns the created stack object including its Id, Name, and EndpointId. Required: endpointId, Name, StackFileContent.
- **Create a Portainer swarm file** (Create). Deploy a new swarm stack from a file upload in Portainer. Returns the created stack object including its id and stack attributes. Required: endpointId, Name, SwarmID, file.
- **Create a Portainer swarm repository** (Create). Deploy a new swarm stack from a Git repository into a Portainer Docker environment. Returns the created stack object including Id, Name, Status, and EndpointId. Required: endpointId.
- **Create a Portainer swarm string** (Create). Deploy a new swarm stack in Portainer from inline compose file text. Returns the created stack object including Id, Name, Type, EndpointId, SwarmId, and Status. Required: endpointId, Name, SwarmID, StackFileContent.
- **Portainer stacks names bulk delete** (Delete). Delete a Portainer Kubernetes stack by name. Returns an empty 204 response on success. Required: name, endpointId.
- **Create a Portainer stacks webhook** (Create). Trigger a Portainer stack git update via webhook. Returns a success response with no body. A 409 is returned if autoupdate for the stack is unavailable or a stack deployment is already in progress. Required: webhook_id.
- **List all Portainer registries** (List). List all registries in Portainer based on the current user's authorizations. Administrators see all registries; non-admin users see only authorized ones. Returns: Id, URL.
- **Create a Portainer registry** (Create). Create a new registry in Portainer. Returns the created registry object including Id and URL. A 409 is returned if another registry with the same name or same URL and credentials already exists. Required: URL.
- **Get single Portainer registry by ID** (Get). Get a single Portainer registry by id. Returns: Id, Name, URL. Required: id.
- **Update a Portainer registry by ID** (Update). Update a Portainer registry by id. Returns the updated registry object including Id, Name, and URL. Required: id.
- **Delete a Portainer registry by ID** (Delete). Delete a Portainer registry by id. Returns an empty 204 response on success. Required: id.
- **Create a Portainer registrie configure** (Create). Configure a registry in Portainer by submitting a registry configuration payload. Returns an empty 204 response on success. Required: registry_id.
- **Create a Portainer registries ping** (Create). Test connection to a registry in Portainer using provided credentials before persisting it. Returns a response indicating whether the registry connection test was successful. Required: the request body containing registry credentials.
- **List all Portainer webhooks** (List). List Portainer webhooks, optionally filtered by endpoint and resource. Returns: ID. The filters parameter accepts a JSON string with EndpointID and ResourceID keys.
- **Create a Portainer webhook** (Create). Create a Portainer webhook for a specific resource. Returns: ID. Required: ResourceID, EndpointID. Returns 409 if a webhook for this resource already exists.
- **Update a Portainer webhook by ID** (Update). Update a Portainer webhook by id. Returns: ID. Required: id.
- **Delete a Portainer webhook by ID** (Delete). Delete a Portainer webhook by id. Returns an empty 202 response on success. Required: id.
- **Portainer webhooks execute** (Execute). Execute a Portainer webhook by its token UUID to restart the associated Docker service. Returns an empty 202 response on success. Required: webhook_id.
- **Create a Portainer backup** (Create). Create a Portainer system data snapshot backup archive that can be used to restore the system. Accepts a password in the request body to encrypt the backup. Returns the backup archive as a binary file download on success.
- **Create a Portainer restore** (Create). Trigger a system restore in Portainer using a provided backup file. Returns an empty 200 response on success. Requires a restore request payload containing the backup file data.
- **List all Portainer custom templates** (List). List available custom templates in Portainer, optionally filtered by template type and edge status. Returns: id, Description, Type. Required: type.
- **Get single Portainer custom template by ID** (Get). Get a single custom template by id in Portainer. Returns: id, Description, Type. Required: id.
- **Update a Portainer custom template by ID** (Update). Update a custom template in Portainer by id. Returns the updated template including id, Title, Description, Platform, Type, Logo, and Variables. Required: id.
- **Delete a Portainer custom template by ID** (Delete). Delete a custom template in Portainer by id. Returns an empty 204 response on success. Required: id.
- **List all Portainer custom template files** (List). Retrieve the stack file content for a Portainer custom template. Returns: FileContent containing the file's text content. Required: custom_template_id.
- **Portainer custom template git fetches bulk update** (Update). Fetch the latest config file content from a Portainer custom template's git repository configuration. Returns the file response containing FileContent. Required: id.
- **Create a Portainer create file** (Create). Create a Portainer custom template by uploading a file. Returns the created custom template object including its id, title, description, platform, and type. Required: Title, Description, Note, Platform, Type, File.
- **Create a Portainer create repository** (Create). Create an EdgeStack from a git repository in Portainer. Returns the created EdgeStack object including its Id, Name, DeploymentType, and EdgeGroups. Requires a stack configuration request body with git repository details. Edge compute features must be enabled.
- **Create a Portainer create string** (Create). Create a Portainer custom template from inline file content provided as a string. Returns: id, Description, Type. Required: Title, Description, Note, Platform, Type, FileContent.
- **List all Portainer container gpus** (List). Fetch GPU device data for a specific Docker container in a Portainer environment. Returns: gpus, with each GPU entry including name and value. Required: environment_id, container_id.
- **List all Portainer dashboards** (List). Get Docker dashboard counters for a Portainer environment. Returns a summary of resource counters for the specified environment. Required: environment_id.
- **List all Portainer images** (List). List Docker images in a Portainer environment. Returns image objects with id and attributes whose fields are defined by the upstream Portainer API schema. Required: environment_id.
- **Portainer edge jobs attach log** (Action). Update the logs collected from a Portainer Edge Job on a specific environment. Returns an empty 200 response on success. Required: endpoint_id, job_id.
- **List all Portainer edge jobs** (List). List all Portainer EdgeJobs. Returns: id.
- **Get single Portainer edge job by ID** (Get). Get a single Portainer EdgeJob by id. Returns: id, Name. Required: id.
- **Update a Portainer edge job by ID** (Update). Update a Portainer EdgeJob by id. Returns the updated EdgeJob including id, Name, CronExpression, EdgeGroups, Endpoints, Recurring, and Created. Required: id.
- **Delete a Portainer edge job by ID** (Delete). Delete a Portainer EdgeJob by id. Returns an empty 204 response on success. Required: id.
- **List all Portainer edge stacks** (List). List Portainer EdgeStacks. Returns an array of EdgeStack objects including Id, Name, EdgeGroups, DeploymentType, and Registries.
- **Get single Portainer edge stack by ID** (Get). Get a single Portainer EdgeStack by id. Returns the EdgeStack object including Id, Name, EdgeGroups, DeploymentType, and Registries. Required: id.
- **Update a Portainer edge stack by ID** (Update). Update a Portainer EdgeStack by id with new EdgeStack data. Returns the updated EdgeStack object including Id, Name, EdgeGroups, DeploymentType, and Registries. Required: id.
- **Delete a Portainer edge stack by ID** (Delete). Delete a Portainer EdgeStack by id. Returns an empty 204 response on success. Required: id.
- **List all Portainer edge status** (List). Get the edge environment status for a specific Portainer environment. Returns the edge environment status response object whose field-level details are not available in the discovered source.
- **List all Portainer edge groups** (List). List all Portainer EdgeGroups. Returns decorated EdgeGroup records including id and attributes from the upstream edgegroups.decoratedEdgeGroup schema. Edge compute features must be enabled.
- **Create a Portainer edge group** (Create). Create a Portainer EdgeGroup. Returns the created EdgeGroup including id and attributes from the upstream portainer.EdgeGroup schema. Required: attributes.
- **Get single Portainer edge group by ID** (Get). Get a single Portainer EdgeGroup by id. Returns: id. Required: id.
- **Update a Portainer edge group by ID** (Update). Update a Portainer EdgeGroup by id. Returns the updated EdgeGroup including id and attributes from the upstream portainer.EdgeGroup schema. Required: id, attributes.
- **Delete a Portainer edge group by ID** (Delete). Delete a Portainer EdgeGroup by id. Returns an empty 204 response on success. Cannot delete an EdgeGroup that is in use by an Edge stack or Edge job. Required: id.
- **List all Portainer edge job files** (List). Fetch the file content of an EdgeJob in Portainer. Returns: FileContent. Required: edge_job_id.
- **List all Portainer edge job tasks** (List). List tasks for a Portainer Edge Job. Returns task container objects with id and schema-specific attributes defined by the upstream edgejobs.taskContainer schema. Required: edge_job_id.
- **Portainer edge job tasks list logs** (List). Fetch the log for a specific task on a Portainer Edge Job. Returns a file response object with id and schema-specific attributes defined by the upstream edgejobs.fileResponse schema. Required: edge_job_id, task_id.
- **Portainer edge job tasks attach log** (Action). Collect the log for a specific task on a Portainer Edge Job. Returns an empty 204 response on success. Required: edge_job_id, task_id.
- **Portainer edge job tasks bulk delete** (Delete). Clear the log for a specific task on a Portainer Edge Job. Returns an empty 204 response on success. Required: edge_job_id, task_id.
- **List all Portainer edge stack files** (List). Fetch the stack file content for a Portainer Edge Stack by its id. Returns: StackFileContent. Required: edge_stack_id.
- **Portainer edge stack status bulk update** (Update). Update the deployment status of a Portainer EdgeStack. Called by an Edge Environment to report its stack deployment status. Returns the updated EdgeStack object including Id, Name, and DeploymentType. Required: id.
- **List all Portainer endpoint groups** (List). List all Portainer environment groups based on current user authorizations; administrators see all groups while other users see only authorized ones. Returns: id. The size parameter includes endpoint counts and type breakdown per group.
- **Create a Portainer endpoint group** (Create). Create a new Portainer environment group. Returns the created group with its id and attributes.
- **Get single Portainer endpoint group by ID** (Get). Get a single Portainer environment group by id. Returns: id. Required: id. The size parameter includes endpoint counts and type breakdown.
- **Update a Portainer endpoint group by ID** (Update). Update a Portainer environment group by id. Returns the updated group with its id and attributes. Required: id.
- **Delete a Portainer endpoint group by ID** (Delete). Delete a Portainer environment group by id. Returns an empty 204 response on success. Required: id.
- **Update a Portainer endpoint group endpoint by ID** (Update). Add an environment (endpoint) to an environment (endpoint) group in Portainer. Returns an empty 204 response on success. Required: endpoint_group_id, id.
- **Delete a Portainer endpoint group endpoint by ID** (Delete). Remove an environment (endpoint) from an environment (endpoint) group in Portainer. Returns an empty 204 response on success. Required: endpoint_group_id, id.
- **Create a Portainer file preview** (Create). Preview the content of a target file in a git repository in Portainer. Retrieves the compose file content based on the provided git repository configuration. Returns: FileContent. Requires a request body with repository file preview details.
- **List all Portainer gitops sources** (List). List all GitOps sources in Portainer, returning a deduplicated list of git repositories used across all GitOps workflows. Returns: id, name, url, type. Filter by status or source type, sort by name, status, or type.
- **Get single Portainer gitops source by ID** (Get). Get a single GitOps source in Portainer by id, including its connection settings and linked workflows. Returns: id, name, url, type. Required: id.
- **Update a Portainer gitops source by ID** (Update). Update an existing GitOps source in Portainer backed by a Git repository. Returns the updated source including id, name, url, and type. Required: id.
- **Delete a Portainer gitops source by ID** (Delete). Delete an existing GitOps source in Portainer by id. Returns an empty 204 response on success. A 409 is returned if the source is still referenced by workflows or custom templates. Required: id.
- **Portainer source acceses bulk update** (Update). Update the access control settings for an existing GitOps source in Portainer. Returns the updated source object including id, name, status, type, and url. Required: id and a source access control payload.
- **Create a Portainer source test** (Create). Test the connection of a stored GitOps source in Portainer, applying optional connection overrides to the stored configuration. Returns a connection test result object. Required: source_id.
- **Create a Portainer sources git** (Create). Create a new GitOps Git source in Portainer backed by a Git repository. Returns: ID, Name, URL, Status, Type. Required: URL. Returns 409 if a source with the same URL and credentials already exists.
- **List all Portainer sources summaries** (List). Summarize GitOps source status counts in Portainer. Returns a count of sources per status: healthy, syncing, error, paused, and unknown. No parameters required.
- **Create a Portainer sources test** (Create). Test connectivity for Git connection details in Portainer before persisting them as a source. Returns a connection test result indicating whether the repository is reachable. Required: Git connection details body with repository URL and credentials to validate.
- **List all Portainer gitops workflows** (List). List all GitOps workflows in Portainer — stacks with GitConfig enabled across all environments. Returns: id, name, type. Supports filtering by status, type, platform, and environment IDs, and sorting by name, type, status, creationDate, or lastSyncDate.
- **List all Portainer workflows summaries** (List). Summarize Portainer GitOps workflow status counts across all environments. Returns: healthy, syncing, error, paused, unknown (integer count of workflows in each status).
- **List all Portainer kubernetes helms** (List). List Helm releases in a Portainer Kubernetes environment. Returns each release with name, namespace, and additional release attributes from the upstream schema. Required: endpoint_id.
- **Create a Portainer kubernetes helm** (Create). Install a Helm chart in a Portainer Kubernetes environment. Returns: id. Required: endpoint_id.
- **Delete a Portainer kubernetes helm by ID** (Delete). Delete a Helm release by id in a Portainer Kubernetes environment. Returns an empty 204 response on success. Required: endpoint_id, id.
- **Portainer kubernetes helms list history** (List). List the revision history of a Helm release in a Portainer Kubernetes environment. Returns each historical revision with name, namespace, revision, and additional release attributes from the upstream schema. Required: endpoint_id, release.
- **Get single Portainer kubernetes helm by ID** (Get). Get a specific Helm release by release name in a Portainer Kubernetes environment. Returns: name, namespace, chart, config, info, manifest, hooks, version. Required: endpoint_id, id.
- **Create a Portainer rollback** (Create). Rollback a Helm release to a previous revision in a Portainer Kubernetes environment. Returns the rolled-back Helm release object. Required: endpoint_id, release.
- **List all Portainer templates helms** (List). Search Helm charts in a Portainer Helm repository by repository URL and optional chart name. Returns the search results as a plain string. Required: repo.
- **Get single Portainer templates helm by ID** (Get). Get a Portainer Helm template by id. Returns the template information as a plain string. Required: id.
- **List all Portainer helm repositories** (List). List a Portainer user's helm repositories. Returns: url. Required: user_id.
- **Create a Portainer helm repository** (Create). Create a helm repository for a Portainer user by providing a repository URL. Returns the created repository including url and global. Required: user_id, url.
- **Delete a Portainer helm repository by ID** (Delete). Delete a helm repository for a Portainer user by id. Returns an empty 204 response on success. Required: user_id, id.
- **Create a Portainer ldap check** (Create). Test LDAP connectivity in Portainer by submitting LDAP connection details. Returns an empty 204 response on success. Required: LDAP details request body (defined by the ldap.checkPayload schema upstream).
- **List all Portainer motds** (List). Fetch the Portainer message of the day (MOTD). Returns the motd object as defined by the upstream motd.Motd schema; the specific fields are not enumerated in the discovered API documentation.
- **Create a Portainer resource control** (Create). Create a new resource control in Portainer to restrict access to a Docker resource. Returns: id. Required: a resource control details body. Fails if a resource control is already associated with the target resource.
- **Update a Portainer resource control by ID** (Update). Update an existing resource control in Portainer by id. Returns: id. Required: id, a resource control details body.
- **Delete a Portainer resource control by ID** (Delete). Remove a resource control in Portainer by id. Returns an empty 204 response on success. Required: id.
- **List all Portainer ssls** (List). Inspect the SSL settings in Portainer. Returns the current SSL configuration object as defined by the portainer.SSLSettings schema.
- **Portainer ssls bulk update** (Update). Update the SSL settings in Portainer. Accepts an SSL settings payload as defined by the ssl.sslUpdatePayload schema. Returns an empty 204 response on success.
- **List all Portainer status** (List). Check Portainer status. Returns: InstanceID, Version.
