Portainer Kubernetes API

Manage Kubernetes cluster

Operations 65

GET /kubernetes/{id}/applications Get a list of applications across all namespaces in the cluster. #
GET /kubernetes/{id}/applications/count Get Applications count #
POST /kubernetes/{id}/cluster_role_bindings/delete Delete cluster role bindings #
POST /kubernetes/{id}/cluster_roles/delete Delete cluster roles #
GET /kubernetes/{id}/clusterrolebindings Get a list of kubernetes cluster role bindings #
GET /kubernetes/{id}/clusterroles Get a list of kubernetes cluster roles #
GET /kubernetes/{id}/configmaps Get a list of ConfigMaps #
GET /kubernetes/{id}/configmaps/count Get ConfigMaps count #
GET /kubernetes/{id}/cron_jobs Get a list of kubernetes Cron Jobs #
POST /kubernetes/{id}/cron_jobs/delete Delete Cron Jobs #
GET /kubernetes/{id}/dashboard Get the dashboard summary data #
GET /kubernetes/{id}/describe Get a description of a kubernetes resource #
GET /kubernetes/{id}/events Gets kubernetes events #
GET /kubernetes/{id}/ingresscontrollers Get a list of ingress controllers #
PUT /kubernetes/{id}/ingresscontrollers Update (block/unblock) ingress controllers #
GET /kubernetes/{id}/ingresses Get kubernetes ingresses at the cluster level #
GET /kubernetes/{id}/ingresses/count Get Ingresses count #
POST /kubernetes/{id}/ingresses/delete Delete one or more Ingresses #
GET /kubernetes/{id}/jobs Get a list of kubernetes Jobs #
POST /kubernetes/{id}/jobs/delete Delete Jobs #
GET /kubernetes/{id}/max_resource_limits Get max CPU and memory limits of all nodes within k8s cluster #
GET /kubernetes/{id}/metrics/applications_resources Get the total resource requests and limits of all applications #
GET /kubernetes/{id}/metrics/nodes Get a list of nodes with their live metrics #
GET /kubernetes/{id}/metrics/nodes/{name} Get live metrics for a node #
GET /kubernetes/{id}/metrics/pods/{namespace} Get a list of pods with their live metrics #
GET /kubernetes/{id}/metrics/pods/{namespace}/{name} Get live metrics for a pod #
DELETE /kubernetes/{id}/namespaces Delete a kubernetes namespace #
GET /kubernetes/{id}/namespaces Get a list of namespaces #
POST /kubernetes/{id}/namespaces Create a namespace #
PUT /kubernetes/{id}/namespaces Update a namespace #
GET /kubernetes/{id}/namespaces/{namespace} Get namespace details #
PUT /kubernetes/{id}/namespaces/{namespace} Update a namespace #
GET /kubernetes/{id}/namespaces/{namespace}/configmaps/{configmap} Get a ConfigMap #
GET /kubernetes/{id}/namespaces/{namespace}/events Gets kubernetes events for namespace #
GET /kubernetes/{id}/namespaces/{namespace}/ingresscontrollers Get a list ingress controllers by namespace #
PUT /kubernetes/{id}/namespaces/{namespace}/ingresscontrollers Update (block/unblock) ingress controllers by namespace #
GET /kubernetes/{id}/namespaces/{namespace}/ingresses Get a list of Ingresses #
POST /kubernetes/{id}/namespaces/{namespace}/ingresses Create an Ingress #
PUT /kubernetes/{id}/namespaces/{namespace}/ingresses Update an Ingress #
GET /kubernetes/{id}/namespaces/{namespace}/ingresses/{ingress} Get an Ingress by name #
GET /kubernetes/{id}/namespaces/{namespace}/secrets/{secret} Get a Secret #
GET /kubernetes/{id}/namespaces/{namespace}/services Get a list of services for a given namespace #
POST /kubernetes/{id}/namespaces/{namespace}/services Create a service #
PUT /kubernetes/{id}/namespaces/{namespace}/services Update a service #
PUT /kubernetes/{id}/namespaces/{namespace}/system Toggle the system state for a namespace #
GET /kubernetes/{id}/namespaces/{namespace}/volumes Get Kubernetes volumes within a namespace in the given Portainer environment #
GET /kubernetes/{id}/namespaces/count Get the total number of kubernetes namespaces within the given Portainer… #
POST /kubernetes/{id}/nodes/{name}/drain Drain a Kubernetes node #
GET /kubernetes/{id}/nodes_limits Get CPU and memory limits of all nodes within k8s cluster #
GET /kubernetes/{id}/rbac_enabled Check if RBAC is enabled #
POST /kubernetes/{id}/role_bindings/delete Delete role bindings #
GET /kubernetes/{id}/rolebindings Get a list of kubernetes role bindings #
GET /kubernetes/{id}/roles Get a list of kubernetes roles #
POST /kubernetes/{id}/roles/delete Delete roles #
GET /kubernetes/{id}/secrets Get a list of Secrets #
GET /kubernetes/{id}/secrets/count Get Secrets count #
POST /kubernetes/{id}/service_accounts/delete Delete service accounts #
GET /kubernetes/{id}/serviceaccounts Get a list of kubernetes service accounts #
GET /kubernetes/{id}/services Get a list of services #
GET /kubernetes/{id}/services/count Get services count #
POST /kubernetes/{id}/services/delete Delete services #
GET /kubernetes/{id}/volumes Get Kubernetes volumes within the given Portainer environment #
GET /kubernetes/{id}/volumes/{namespace}/{volume} Get a Kubernetes volume within the given Portainer environment #
GET /kubernetes/{id}/volumes/count Get the total number of kubernetes volumes within the given Portainer… #
GET /kubernetes/config Generate a kubeconfig file #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/portainer-kubernetes-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

portainer-kubernetes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: info@portainer.io
  description: Portainer API is an HTTP API served by Portainer.
  license:
    name: zlib
    url: https://github.com/portainer/portainer/blob/develop/LICENSE
  title: PortainerCE Kubernetes API
  version: 2.39.1
servers:
- url: /api
tags:


# --- truncated at 32 KB (219 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/portainer/refs/heads/main/openapi/portainer-kubernetes-api-openapi.yml