Azure Kubernetes Service Agent Pools API

REST API for creating, updating, deleting, and managing agent pools (node pools) within AKS managed clusters, including scaling and configuration.

OpenAPI Specification

azure-kubernetes-service-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure Kubernetes Service REST API
  description: >-
    REST API for managing Azure Kubernetes Service (AKS) resources including
    managed clusters, agent pools, maintenance configurations, snapshots,
    private endpoint connections, and trusted access role bindings. AKS
    simplifies deploying a managed Kubernetes cluster in Azure by offloading
    operational overhead such as health monitoring and maintenance.
  version: '2025-10-01'
  contact:
    name: Microsoft Azure Support
    url: https://azure.microsoft.com/en-us/support/options/
  license:
    name: Microsoft API License
    url: https://azure.microsoft.com/en-us/support/legal/
  x-apisguru-categories:
  - cloud
  - containers
  - kubernetes
  x-logo:
    url: https://azure.microsoft.com/images/aks-icon.png
servers:
- url: https://management.azure.com
  description: Azure Resource Manager
security:
- azure_auth:
  - user_impersonation
tags:
- name: Agent Pools
  description: Operations for managing agent pools (node pools) within AKS clusters
  externalDocs:
    url: https://learn.microsoft.com/en-us/rest/api/aks/agent-pools
- name: Managed Clusters
  description: Operations for managing AKS managed clusters
  externalDocs:
    url: https://learn.microsoft.com/en-us/rest/api/aks/managed-clusters
paths:
  /subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters:
    get:
      operationId: ManagedClusters_List
      summary: Azure Kubernetes Service List Managed Clusters
      description: >-
        Gets a list of managed clusters in the specified subscription.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedClusterListResult'
              examples:
                ManagedclustersList200Example:
                  summary: Default ManagedClusters_List 200 response
                  x-microcks-default: true
                  value:
                    value:
                    - id: abc123
                      name: Example Title
                      type: example_value
                      location: example_value
                      tags: example_value
                      kind: example_value
                    nextLink: example_value
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersListdefaultExample:
                  summary: Default ManagedClusters_List default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                      message: example_value
                      target: example_value
                      details:
                      - code: example_value
                        message: example_value
                        target: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters:
    get:
      operationId: ManagedClusters_ListByResourceGroup
      summary: Azure Kubernetes Service List Managed Clusters by Resource Group
      description: >-
        Lists managed clusters in the specified subscription and resource group.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedClusterListResult'
              examples:
                ManagedclustersListbyresourcegroup200Example:
                  summary: Default ManagedClusters_ListByResourceGroup 200 response
                  x-microcks-default: true
                  value:
                    value:
                    - id: abc123
                      name: Example Title
                      type: example_value
                      location: example_value
                      tags: example_value
                      kind: example_value
                    nextLink: example_value
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersListbyresourcegroupdefaultExample:
                  summary: Default ManagedClusters_ListByResourceGroup default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                      message: example_value
                      target: example_value
                      details:
                      - code: example_value
                        message: example_value
                        target: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}
  : get:
      operationId: ManagedClusters_Get
      summary: Azure Kubernetes Service Get a Managed Cluster
      description: Gets the details of the managed cluster with a specified resource group and name.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedCluster'
              examples:
                ManagedclustersGet200Example:
                  summary: Default ManagedClusters_Get 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    type: example_value
                    location: example_value
                    tags: example_value
                    sku:
                      name: Base
                      tier: Free
                    kind: example_value
                    identity:
                      principalId: '500123'
                      tenantId: '500123'
                      type: SystemAssigned
                      userAssignedIdentities: example_value
                    extendedLocation:
                      name: Example Title
                      type: EdgeZone
                    systemData:
                      createdBy: example_value
                      createdByType: User
                      createdAt: '2026-01-15T10:30:00Z'
                      lastModifiedBy: example_value
                      lastModifiedByType: User
                      lastModifiedAt: '2026-01-15T10:30:00Z'
                    properties:
                      provisioningState: example_value
                      maxAgentPools: 10
                      kubernetesVersion: example_value
                      currentKubernetesVersion: example_value
                      dnsPrefix: example_value
                      fqdnSubdomain: example_value
                      fqdn: example_value
                      privateFQDN: example_value
                      azurePortalFQDN: example_value
                      enableRBAC: true
                      supportPlan: KubernetesOfficial
                      disableLocalAccounts: true
                      nodeResourceGroup: example_value
                      agentPoolProfiles:
                      - {}
                      identityProfile: example_value
                      addonProfiles: example_value
                      diskEncryptionSetID: '500123'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersGetdefaultExample:
                  summary: Default ManagedClusters_Get default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                      message: example_value
                      target: example_value
                      details:
                      - code: example_value
                        message: example_value
                        target: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: ManagedClusters_CreateOrUpdate
      summary: Azure Kubernetes Service Create or Update a Managed Cluster
      description: Creates or updates a managed cluster.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: if-match
        in: header
        description: >-
          The request should only proceed if an entity matches this string.
        schema:
          type: string
        example: example_value
      - name: if-none-match
        in: header
        description: >-
          The request should only proceed if no entity matches this string.
        schema:
          type: string
        example: example_value
      requestBody:
        required: true
        description: The managed cluster to create or update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagedCluster'
            examples:
              ManagedclustersCreateorupdateRequestExample:
                summary: Default ManagedClusters_CreateOrUpdate request
                x-microcks-default: true
                value:
                  id: abc123
                  name: Example Title
                  type: example_value
                  location: example_value
                  tags: example_value
                  sku:
                    name: Base
                    tier: Free
                  kind: example_value
                  identity:
                    principalId: '500123'
                    tenantId: '500123'
                    type: SystemAssigned
                    userAssignedIdentities: example_value
                  extendedLocation:
                    name: Example Title
                    type: EdgeZone
                  systemData:
                    createdBy: example_value
                    createdByType: User
                    createdAt: '2026-01-15T10:30:00Z'
                    lastModifiedBy: example_value
                    lastModifiedByType: User
                    lastModifiedAt: '2026-01-15T10:30:00Z'
                  properties:
                    provisioningState: example_value
                    maxAgentPools: 10
                    kubernetesVersion: example_value
                    currentKubernetesVersion: example_value
                    dnsPrefix: example_value
                    fqdnSubdomain: example_value
                    fqdn: example_value
                    privateFQDN: example_value
                    azurePortalFQDN: example_value
                    enableRBAC: true
                    supportPlan: KubernetesOfficial
                    disableLocalAccounts: true
                    nodeResourceGroup: example_value
                    agentPoolProfiles:
                    - {}
                    identityProfile: example_value
                    addonProfiles: example_value
                    diskEncryptionSetID: '500123'
      responses:
        '200':
          description: OK. The update operation has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedCluster'
              examples:
                ManagedclustersCreateorupdate200Example:
                  summary: Default ManagedClusters_CreateOrUpdate 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    type: example_value
                    location: example_value
                    tags: example_value
                    sku:
                      name: Base
                      tier: Free
                    kind: example_value
                    identity:
                      principalId: '500123'
                      tenantId: '500123'
                      type: SystemAssigned
                      userAssignedIdentities: example_value
                    extendedLocation:
                      name: Example Title
                      type: EdgeZone
                    systemData:
                      createdBy: example_value
                      createdByType: User
                      createdAt: '2026-01-15T10:30:00Z'
                      lastModifiedBy: example_value
                      lastModifiedByType: User
                      lastModifiedAt: '2026-01-15T10:30:00Z'
                    properties:
                      provisioningState: example_value
                      maxAgentPools: 10
                      kubernetesVersion: example_value
                      currentKubernetesVersion: example_value
                      dnsPrefix: example_value
                      fqdnSubdomain: example_value
                      fqdn: example_value
                      privateFQDN: example_value
                      azurePortalFQDN: example_value
                      enableRBAC: true
                      supportPlan: KubernetesOfficial
                      disableLocalAccounts: true
                      nodeResourceGroup: example_value
                      agentPoolProfiles:
                      - {}
                      identityProfile: example_value
                      addonProfiles: example_value
                      diskEncryptionSetID: '500123'
        '201':
          description: Created. The create operation has succeeded.
          headers:
            Azure-AsyncOperation:
              description: URL to query for status of the asynchronous operation.
              schema:
                type: string
            Retry-After:
              description: Suggested delay in seconds to check on operation status.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedCluster'
              examples:
                ManagedclustersCreateorupdate201Example:
                  summary: Default ManagedClusters_CreateOrUpdate 201 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    type: example_value
                    location: example_value
                    tags: example_value
                    sku:
                      name: Base
                      tier: Free
                    kind: example_value
                    identity:
                      principalId: '500123'
                      tenantId: '500123'
                      type: SystemAssigned
                      userAssignedIdentities: example_value
                    extendedLocation:
                      name: Example Title
                      type: EdgeZone
                    systemData:
                      createdBy: example_value
                      createdByType: User
                      createdAt: '2026-01-15T10:30:00Z'
                      lastModifiedBy: example_value
                      lastModifiedByType: User
                      lastModifiedAt: '2026-01-15T10:30:00Z'
                    properties:
                      provisioningState: example_value
                      maxAgentPools: 10
                      kubernetesVersion: example_value
                      currentKubernetesVersion: example_value
                      dnsPrefix: example_value
                      fqdnSubdomain: example_value
                      fqdn: example_value
                      privateFQDN: example_value
                      azurePortalFQDN: example_value
                      enableRBAC: true
                      supportPlan: KubernetesOfficial
                      disableLocalAccounts: true
                      nodeResourceGroup: example_value
                      agentPoolProfiles:
                      - {}
                      identityProfile: example_value
                      addonProfiles: example_value
                      diskEncryptionSetID: '500123'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersCreateorupdatedefaultExample:
                  summary: Default ManagedClusters_CreateOrUpdate default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                      message: example_value
                      target: example_value
                      details:
                      - code: example_value
                        message: example_value
                        target: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: ManagedClusters_UpdateTags
      summary: Azure Kubernetes Service Update Managed Cluster Tags
      description: Updates tags on a managed cluster.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      requestBody:
        required: true
        description: Parameters supplied to the Update Managed Cluster Tags operation.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagsObject'
            examples:
              ManagedclustersUpdatetagsRequestExample:
                summary: Default ManagedClusters_UpdateTags request
                x-microcks-default: true
                value:
                  tags: example_value
      responses:
        '200':
          description: OK. The update tags operation has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedCluster'
              examples:
                ManagedclustersUpdatetags200Example:
                  summary: Default ManagedClusters_UpdateTags 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    type: example_value
                    location: example_value
                    tags: example_value
                    sku:
                      name: Base
                      tier: Free
                    kind: example_value
                    identity:
                      principalId: '500123'
                      tenantId: '500123'
                      type: SystemAssigned
                      userAssignedIdentities: example_value
                    extendedLocation:
                      name: Example Title
                      type: EdgeZone
                    systemData:
                      createdBy: example_value
                      createdByType: User
                      createdAt: '2026-01-15T10:30:00Z'
                      lastModifiedBy: example_value
                      lastModifiedByType: User
                      lastModifiedAt: '2026-01-15T10:30:00Z'
                    properties:
                      provisioningState: example_value
                      maxAgentPools: 10
                      kubernetesVersion: example_value
                      currentKubernetesVersion: example_value
                      dnsPrefix: example_value
                      fqdnSubdomain: example_value
                      fqdn: example_value
                      privateFQDN: example_value
                      azurePortalFQDN: example_value
                      enableRBAC: true
                      supportPlan: KubernetesOfficial
                      disableLocalAccounts: true
                      nodeResourceGroup: example_value
                      agentPoolProfiles:
                      - {}
                      identityProfile: example_value
                      addonProfiles: example_value
                      diskEncryptionSetID: '500123'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersUpdatetagsdefaultExample:
                  summary: Default ManagedClusters_UpdateTags default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                      message: example_value
                      target: example_value
                      details:
                      - code: example_value
                        message: example_value
                        target: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: ManagedClusters_Delete
      summary: Azure Kubernetes Service Delete a Managed Cluster
      description: Deletes a managed cluster.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '202':
          description: Accepted. The delete operation will complete asynchronously.
          headers:
            Azure-AsyncOperation:
              description: URL to query for status of the asynchronous operation.
              schema:
                type: string
            Location:
              description: URL to query for the operation result.
              schema:
                type: string
            Retry-After:
              description: Suggested delay in seconds to check on operation status.
              schema:
                type: integer
        '204':
          description: No Content. The resource does not exist.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersDeletedefaultExample:
                  summary: Default ManagedClusters_Delete default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                      message: example_value
                      target: example_value
                      details:
                      - code: example_value
                        message: example_value
                        target: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default
  : get:
      operationId: ManagedClusters_GetUpgradeProfile
      summary: Azure Kubernetes Service Get Upgrade Profile for a Managed Cluster
      description: Gets the upgrade profile of a managed cluster.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedClusterUpgradeProfile'
              examples:
                ManagedclustersGetupgradeprofile200Example:
                  summary: Default ManagedClusters_GetUpgradeProfile 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    type: example_value
                    properties:
                      controlPlaneProfile:
                        kubernetesVersion: example_value
                        osType: Linux
                        upgrades:
                        - {}
                      agentPoolProfiles:
                      - kubernetesVersion: example_value
                        osType: Linux
                        upgrades: {}
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersGetupgradeprofiledefaultExample:
                  summary: Default ManagedClusters_GetUpgradeProfile default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                      message: example_value
                      target: example_value
                      details:
                      - code: example_value
                        message: example_value
                        target: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential
  : post:
      operationId: ManagedClusters_ListClusterAdminCredentials
      summary: Azure Kubernetes Service List Cluster Admin Credentials
      description: Lists the admin credentials of a managed cluster.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialResults'
              examples:
                ManagedclustersListclusteradmincredentials200Example:
                  summary: Default ManagedClusters_ListClusterAdminCredentials 200 response
                  x-microcks-default: true
                  value:
                    kubeconfigs:
                    - name: Example Title
                      value: example_value
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersListclusteradmincredentialsdefaultExample:
                  summary: Default ManagedClusters_ListClusterAdminCredentials default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                      message: example_value
                      target: example_value
                      details:
                      - code: example_value
                        message: example_value
                        target: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential
  : post:
      operationId: ManagedClusters_ListClusterUserCredentials
      summary: Azure Kubernetes Service List Cluster User Credentials
      description: Lists the user credentials of a managed cluster.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialResults'
              examples:
                ManagedclustersListclusterusercredentials200Example:
                  summary: Default ManagedClusters_ListClusterUserCredentials 200 response
                  x-microcks-default: true
                  value:
                    kubeconfigs:
                    - name: Example Title
                      value: example_value
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersListclusterusercredentialsdefaultExample:
                  summary: Default ManagedClusters_ListClusterUserCredentials default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                      message: example_value
                      target: example_value
                      details:
                      - code: example_value
                        message: example_value
                        target: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential
  : post:
      operationId: ManagedClusters_ListClusterMonitoringUserCredentials
      summary: Azure Kubernetes Service List Cluster Monitoring User Credentials
      description: Lists the cluster monitoring user credentials of a managed cluster.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: OK. The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialResults'
              examples:
                ManagedclustersListclustermonitoringusercredentials200Example:
                  summary: Default ManagedClusters_ListClusterMonitoringUserCredentials 200 response
                  x-microcks-default: t

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