How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Portainer kubernetes API

Manage Kubernetes cluster

Portainer kubernetes API is one of 32 APIs that Portainer publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Kubernetes. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and a getting-started guide.

This API exposes 65 operations across 55 paths, and defines 133 schemas. It is described by OpenAPI 3.2.0, at version 2.39.1.

Requests are made against a single base URL, /api.

65 operations 55 paths 133 schemas 1 DELETE44 GET13 POST7 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
2.39.1
Base URL
https://api-docs.portainer.io
Authentication
API Key, API Key
License
Resource Areas
1

Authentication & Security 2

Portainer kubernetes API declares 2 security schemes for authenticating requests. An API key is passed in the header as X-API-KEY (ApiKeyAuth). An API key is passed in the header as Authorization (jwt).

Paths & Operations 65

Across 55 paths, the API surfaces 65 operations — 1 DELETE, 44 GET, 13 POST, 7 PUT. Each is listed below with its method, path, parameters, and response codes.

kubernetes 65

Manage Kubernetes cluster

GET
/kubernetes/{id}/applications
Get a list of applications across all namespaces in the cluster. If the nodeName is provided, it will return the applications running on that node.
GetAllKubernetesApplications 3 params → 200400401403404500
GET
/kubernetes/{id}/applications/count
Get Applications count
GetAllKubernetesApplicationsCount 1 param → 200400401403404500
POST
/kubernetes/{id}/cluster_role_bindings/delete
Delete cluster role bindings
DeleteClusterRoleBindings 1 param body → 204400401403404500
POST
/kubernetes/{id}/cluster_roles/delete
Delete cluster roles
DeleteClusterRoles 1 param body → 204400401403404500
GET
/kubernetes/{id}/clusterrolebindings
Get a list of kubernetes cluster role bindings
GetAllKubernetesClusterRoleBindings 1 param → 200400401403404500
GET
/kubernetes/{id}/clusterroles
Get a list of kubernetes cluster roles
GetAllKubernetesClusterRoles 1 param → 200400401403404500
GET
/kubernetes/{id}/configmaps
Get a list of ConfigMaps
GetAllKubernetesConfigMaps 2 params → 200400401403404500
GET
/kubernetes/{id}/configmaps/count
Get ConfigMaps count
GetAllKubernetesConfigMapsCount 1 param → 200400401403404500
GET
/kubernetes/{id}/cron_jobs
Get a list of kubernetes Cron Jobs
GetKubernetesCronJobs 1 param → 200400401403404500
POST
/kubernetes/{id}/cron_jobs/delete
Delete Cron Jobs
DeleteCronJobs 1 param body → 204400401403404500
GET
/kubernetes/{id}/dashboard
Get the dashboard summary data
GetKubernetesDashboard 1 param → 200400500
GET
/kubernetes/{id}/describe
Get a description of a kubernetes resource
DescribeResource 4 params → 200400401403404500
GET
/kubernetes/{id}/events
Gets kubernetes events
getAllKubernetesEvents 2 params → 200400401403500
GET
/kubernetes/{id}/ingresscontrollers
Get a list of ingress controllers
GetAllKubernetesIngressControllers 2 params → 200400401403404500
PUT
/kubernetes/{id}/ingresscontrollers
Update (block/unblock) ingress controllers
UpdateKubernetesIngressControllers 1 param body → 204400401403404500
GET
/kubernetes/{id}/ingresses
Get kubernetes ingresses at the cluster level
GetAllKubernetesClusterIngresses 2 params → 200400401403404500
GET
/kubernetes/{id}/ingresses/count
Get Ingresses count
GetAllKubernetesClusterIngressesCount 1 param → 200400401403404500
POST
/kubernetes/{id}/ingresses/delete
Delete one or more Ingresses
DeleteKubernetesIngresses 1 param body → 204400401403404500
GET
/kubernetes/{id}/jobs
Get a list of kubernetes Jobs
GetKubernetesJobs 2 params → 200400401403404500
POST
/kubernetes/{id}/jobs/delete
Delete Jobs
DeleteJobs 1 param body → 204400401403404500
GET
/kubernetes/{id}/max_resource_limits
Get max CPU and memory limits of all nodes within k8s cluster
GetKubernetesMaxResourceLimits 1 param → 200400401403404500
GET
/kubernetes/{id}/metrics/applications_resources
Get the total resource requests and limits of all applications
GetApplicationsResources 2 params → 200400401403404500
GET
/kubernetes/{id}/metrics/nodes
Get a list of nodes with their live metrics
GetKubernetesMetricsForAllNodes 1 param → 200401500
GET
/kubernetes/{id}/metrics/nodes/{name}
Get live metrics for a node
GetKubernetesMetricsForNode 2 params → 200400401500
GET
/kubernetes/{id}/metrics/pods/{namespace}
Get a list of pods with their live metrics
GetKubernetesMetricsForAllPods 2 params → 200400401500
GET
/kubernetes/{id}/metrics/pods/{namespace}/{name}
Get live metrics for a pod
GetKubernetesMetricsForPod 3 params → 200400401500
DELETE
/kubernetes/{id}/namespaces
Delete a kubernetes namespace
DeleteKubernetesNamespace 1 param → 200400403500
GET
/kubernetes/{id}/namespaces
Get a list of namespaces
GetKubernetesNamespaces 3 params → 200400401403404500
POST
/kubernetes/{id}/namespaces
Create a namespace
CreateKubernetesNamespace 1 param body → 200400401403409500
PUT
/kubernetes/{id}/namespaces
Update a namespace
UpdateKubernetesNamespaceDeprecated 2 params body → 200400401403404500
GET
/kubernetes/{id}/namespaces/{namespace}
Get namespace details
GetKubernetesNamespace 3 params → 200400401403404500
PUT
/kubernetes/{id}/namespaces/{namespace}
Update a namespace
UpdateKubernetesNamespace 2 params body → 200400401403404500
GET
/kubernetes/{id}/namespaces/{namespace}/configmaps/{configmap}
Get a ConfigMap
GetKubernetesConfigMap 3 params → 200400401403404500
GET
/kubernetes/{id}/namespaces/{namespace}/events
Gets kubernetes events for namespace
getKubernetesEventsForNamespace 3 params → 200400401403500
GET
/kubernetes/{id}/namespaces/{namespace}/ingresscontrollers
Get a list ingress controllers by namespace
GetKubernetesIngressControllersByNamespace 2 params → 200400401403404500
PUT
/kubernetes/{id}/namespaces/{namespace}/ingresscontrollers
Update (block/unblock) ingress controllers by namespace
UpdateKubernetesIngressControllersByNamespace 2 params body → 204400401403404500
GET
/kubernetes/{id}/namespaces/{namespace}/ingresses
Get a list of Ingresses
GetAllKubernetesIngresses 2 params → 200400401403404500
POST
/kubernetes/{id}/namespaces/{namespace}/ingresses
Create an Ingress
CreateKubernetesIngress 2 params body → 204400401403404409500
PUT
/kubernetes/{id}/namespaces/{namespace}/ingresses
Update an Ingress
UpdateKubernetesIngress 2 params body → 204400401403404500
GET
/kubernetes/{id}/namespaces/{namespace}/ingresses/{ingress}
Get an Ingress by name
GetKubernetesIngress 3 params → 200400401403404500
GET
/kubernetes/{id}/namespaces/{namespace}/secrets/{secret}
Get a Secret
GetKubernetesSecret 3 params → 200400401403404500
GET
/kubernetes/{id}/namespaces/{namespace}/services
Get a list of services for a given namespace
GetKubernetesServicesByNamespace 2 params → 200400401403404500
POST
/kubernetes/{id}/namespaces/{namespace}/services
Create a service
CreateKubernetesService 2 params body → 204400401403404500
PUT
/kubernetes/{id}/namespaces/{namespace}/services
Update a service
UpdateKubernetesService 2 params body → 204400401403404500
PUT
/kubernetes/{id}/namespaces/{namespace}/system
Toggle the system state for a namespace
KubernetesNamespacesToggleSystem 2 params body → 204400401403404500
GET
/kubernetes/{id}/namespaces/{namespace}/volumes
Get Kubernetes volumes within a namespace in the given Portainer environment
GetKubernetesVolumesInNamespace 3 params → 200400403500
GET
/kubernetes/{id}/namespaces/count
Get the total number of kubernetes namespaces within the given Portainer environment.
GetKubernetesNamespacesCount 1 param → 200400401403404500
POST
/kubernetes/{id}/nodes/{name}/drain
Drain a Kubernetes node
drainNode 2 params → 204400401403404500
GET
/kubernetes/{id}/nodes_limits
Get CPU and memory limits of all nodes within k8s cluster
GetKubernetesNodesLimits 1 param → 200400401403404500
GET
/kubernetes/{id}/rbac_enabled
Check if RBAC is enabled
GetKubernetesRBACStatus 1 param → 200401403404500
POST
/kubernetes/{id}/role_bindings/delete
Delete role bindings
DeleteRoleBindings 1 param body → 204400401403404500
GET
/kubernetes/{id}/rolebindings
Get a list of kubernetes role bindings
GetKubernetesRoleBindings 1 param → 200400401403404500
GET
/kubernetes/{id}/roles
Get a list of kubernetes roles
GetKubernetesRoles 1 param → 200400401403404500
POST
/kubernetes/{id}/roles/delete
Delete roles
DeleteRoles 1 param body → 204400401403404500
GET
/kubernetes/{id}/secrets
Get a list of Secrets
GetKubernetesSecrets 2 params → 200400401403404500
GET
/kubernetes/{id}/secrets/count
Get Secrets count
GetKubernetesSecretsCount 1 param → 200400401403404500
POST
/kubernetes/{id}/service_accounts/delete
Delete service accounts
DeleteServiceAccounts 1 param body → 204400401403404500
GET
/kubernetes/{id}/serviceaccounts
Get a list of kubernetes service accounts
GetKubernetesServiceAccounts 1 param → 200400401403404500
GET
/kubernetes/{id}/services
Get a list of services
GetKubernetesServices 2 params → 200400401403404500
GET
/kubernetes/{id}/services/count
Get services count
GetAllKubernetesServicesCount 1 param → 200400401403404500
POST
/kubernetes/{id}/services/delete
Delete services
DeleteKubernetesServices 1 param body → 204400401403404500
GET
/kubernetes/{id}/volumes
Get Kubernetes volumes within the given Portainer environment
GetAllKubernetesVolumes 2 params → 200400403500
GET
/kubernetes/{id}/volumes/{namespace}/{volume}
Get a Kubernetes volume within the given Portainer environment
GetKubernetesVolume 3 params → 200400500
GET
/kubernetes/{id}/volumes/count
Get the total number of kubernetes volumes within the given Portainer environment.
getAllKubernetesVolumesCount 1 param → 200400403500
GET
/kubernetes/config
Generate a kubeconfig file
GetKubernetesConfig 2 params → 200400401403404500

Schemas 133

The contract defines 133 schemas that model the data the API accepts and returns. The most detailed are kubernetes.K8sApplication (31 properties), v1.Container (25 properties), kubernetes.K8sServiceInfo (15 properties), v1.ObjectMeta (15 properties). Each schema is shown below with its type and property counts.

kubernetes.K8sCronJob
object
9 properties
v1.ScopeSelectorOperator
string
kubernetes.K8sApplication
object
31 properties
kubernetes.IngressRule
object
4 properties
v1.ObjectReference
object
7 properties
v1.SecretReference
object
2 properties
v1.ResourceFieldSelector
object
3 properties
v1.ContainerRestartRule
object
2 properties
v1beta1.NodeMetricsList
object
4 properties
v1.TCPSocketAction
object
2 properties
v1beta1.ContainerMetrics
object
2 properties
v1.ScopeSelector
object
1 property
kubernetes.K8sClusterRole
object
4 properties
v1.HTTPHeader
object
2 properties
v1.LifecycleHandler
object
4 properties
kubernetes.describeResourceResponse
object
1 property
v1.ManagedFieldsEntry
object
7 properties
kubernetes.K8sServicePort
object
5 properties
v1.NamespacePhase
string
kubernetes.K8sIngressTLS
object
2 properties
v1.AppArmorProfile
object
2 properties
v1.PullPolicy
string
v1.EnvVarSource
object
5 properties
v1.TerminationMessagePolicy
string
v1.ListMeta
object
4 properties
intstr.Type
integer
v1.NamespaceStatus
object
2 properties
v1.Container
object
25 properties
v1.ResourceRequirements
object
3 properties
kubernetes.CustomResourceMetadata
object
5 properties
v1.ProcMountType
string
v1.Lifecycle
object
3 properties
kubernetes.K8sRoleDeleteRequests
object
kubernetes.K8sDashboard
object
7 properties
v1.OwnerReference
object
6 properties
v1.ConfigMapKeySelector
object
3 properties
v1.WindowsSecurityContextOptions
object
4 properties
kubernetes.K8sClusterRoleBinding
object
7 properties
kubernetes.K8sServiceIngress
object
2 properties
v1.VolumeMount
object
7 properties
v1.SecretKeySelector
object
3 properties
v1.HTTPGetAction
object
5 properties
v1.VolumeDevice
object
2 properties
v1.ResourceList
object
kubernetes.K8sServiceInfo
object
15 properties
kubernetes.namespacesToggleSystemPayload
object
1 property
kubernetes.K8sRoleBinding
object
7 properties
v1.ResourceName
string
v1.Capabilities
object
2 properties
v1.SeccompProfileType
string
kubernetes.K8sIngressPath
object
7 properties
v1.SleepAction
object
1 property
resource.Quantity
object
1 property
v1.Probe
object
10 properties
kubernetes.K8sPersistentVolume
object
9 properties
v1.Protocol
string
v1.ResourceResizeRestartPolicy
string
v1.SeccompProfile
object
2 properties
v1.ContainerRestartRuleOnExitCodesOperator
string
v1.ResourceQuotaSpec
object
3 properties
v1.ObjectMeta
object
15 properties
v1.URIScheme
string
kubernetes.K8sSecret
object
12 properties
kubernetes.K8sIngressInfo
object
11 properties
kubernetes.K8sJobDeleteRequests
object
v1.Duration
object
1 property
v1.ResourceQuota
object
5 properties
kubernetes.K8sServiceDeleteRequests
object
v1.ScopedResourceSelectorRequirement
object
3 properties
kubernetes.K8sConfigurationOwnerResource
object
3 properties
v1.ContainerRestartRuleOnExitCodes
object
2 properties
v1.ResourceQuotaStatus
object
2 properties
kubernetes.K8sIngressDeleteRequests
object
v1.RecursiveReadOnlyMode
string
k8s_io_api_core_v1.ConditionStatus
string
v1.EnvFromSource
object
3 properties
v1.EnvVar
object
3 properties
v1.ContainerPort
object
5 properties
kubernetes.K8sVolumeInfo
object
3 properties
kubernetes.K8sIngressController
object
6 properties
v1.ResourceQuotaScope
string
v1.ContainerResizePolicy
object
2 properties
kubernetes.PublishedPort
object
2 properties
v1beta1.PodMetricsList
object
4 properties
v1.FieldsV1
object
v1.FileKeySelector
object
4 properties
portainer.K8sNamespaceInfo
object
10 properties
kubernetes.K8sJob
object
14 properties
v1.SecretEnvSource
object
2 properties
v1.ContainerRestartRuleAction
string
kubernetes.K8sRoleBindingDeleteRequests
object
kubernetes.K8sPersistentVolumeClaim
object
13 properties
kubernetes.K8sEventInvolvedObject
object
4 properties
portainer.K8sNodesLimits
object
kubernetes.TLSInfo
object
1 property
v1.PersistentVolumeMode
string
v1beta1.NodeMetrics
object
6 properties
v1.GRPCAction
object
2 properties
kubernetes.K8sStorageClass
object
4 properties
k8s_io_api_core_v1.ResourceClaim
object
2 properties
kubernetes.K8sApplicationResource
object
4 properties
v1.PersistentVolumeClaimPhase
string
v1.ContainerRestartPolicy
string
v1.NamespaceCondition
object
5 properties
kubernetes.K8sCronJobDeleteRequests
object
kubernetes.K8sNamespaceDetails
object
4 properties
v1.CSIPersistentVolumeSource
object
10 properties
v1.PersistentVolumeAccessMode
string
kubernetes.Metadata
object
2 properties
k8s_io_api_rbac_v1.Subject
object
4 properties
v1.SecurityContext
object
12 properties
v1.ManagedFieldsOperationType
string
v1.NamespaceConditionType
string
kubernetes.K8sResourceQuota
object
3 properties
kubernetes.K8sServiceAccount
object
5 properties
intstr.IntOrString
object
3 properties
kubernetes.K8sEvent
object
12 properties
portainer.K8sNodeLimits
object
2 properties
v1.SELinuxOptions
object
4 properties
kubernetes.Configuration
object
3 properties
v1.ConfigMapEnvSource
object
2 properties
kubernetes.K8sServiceAccountDeleteRequests
object
kubernetes.K8sRole
object
5 properties
kubernetes.Pod
object
10 properties
v1.ExecAction
object
1 property
v1.MountPropagationMode
string
v1.AppArmorProfileType
string
v1beta1.PodMetrics
object
6 properties
v1.RoleRef
object
3 properties
v1.PersistentVolumeReclaimPolicy
string
v1.Signal
string
v1.ObjectFieldSelector
object
2 properties
kubernetes.K8sConfigMap
object
11 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

portainer-kubernetes-api-openapi.yml Raw ↑

Other APIs Portainer publishes across the network.

Portainer auth API
Portainer backup API
Portainer custom_templates API
Portainer docker API
Portainer edge API
Portainer edge_groups API
Portainer edge_jobs API
Portainer edge_stacks API
Portainer endpoint_groups API
Portainer endpoints API
Portainer gitops API
Portainer helm API
Where this information came from

This is an independent, third-party profile of Portainer kubernetes API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.