Microsoft Azure Kubernetes Service API

Azure Kubernetes Service is a managed Kubernetes container orchestration service that simplifies deploying, managing, and scaling containerized applications. The REST API provides operations for managing AKS clusters, node pools, and upgrades, enabling developers to automate Kubernetes infrastructure management and integrate container orchestration into their CI/CD workflows.

OpenAPI Specification

azure-kubernetes-service-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Microsoft Azure Azure Kubernetes Service (AKS) API
  description: >-
    Azure Kubernetes Service (AKS) simplifies deploying a managed Kubernetes
    cluster in Azure by offloading the operational overhead to Azure. As a hosted
    Kubernetes service, Azure handles critical tasks like health monitoring and
    maintenance. The REST API provides operations for managing AKS clusters,
    agent pools (node pools), maintenance configurations, and managed cluster
    snapshots, enabling developers to automate Kubernetes infrastructure
    management.
  version: '2024-02-01'
  contact:
    name: Microsoft Azure Support
    url: https://azure.microsoft.com/en-us/support/
    email: [email protected]
  license:
    name: Microsoft API License
    url: https://learn.microsoft.com/en-us/legal/
  x-logo:
    url: https://azure.microsoft.com/svghandler/azure-logo.png
servers:
- url: https://management.azure.com
  description: Azure Resource Manager endpoint
security:
- oauth2:
  - https://management.azure.com/.default
tags:
- name: Agent Pools
  description: Operations for managing node pools within a cluster
- name: Managed Clusters
  description: Operations for managing AKS clusters
paths:
  /subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters:
    get:
      operationId: ManagedClusters_List
      summary: Microsoft Azure 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: Successfully returned the list of managed clusters.
          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
                    nextLink: example_value
        default:
          description: Error response.
          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: Microsoft Azure 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: Successfully returned the list of managed clusters.
          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
                    nextLink: example_value
        default:
          description: Error response.
          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: Microsoft Azure Get a Managed Cluster
      description: Gets 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: Successfully returned the managed cluster.
          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: Premium
                    identity:
                      principalId: '500123'
                      tenantId: '500123'
                      type: SystemAssigned
                      userAssignedIdentities: example_value
                    properties:
                      provisioningState: example_value
                      powerState:
                        code: Running
                      kubernetesVersion: example_value
                      currentKubernetesVersion: example_value
                      dnsPrefix: example_value
                      fqdn: example_value
                      fqdnSubdomain: example_value
                      agentPoolProfiles:
                      - {}
                      linuxProfile:
                        adminUsername: example_value
                        ssh: {}
                      windowsProfile:
                        adminUsername: example_value
                        adminPassword: example_value
                        licenseType: None
                      servicePrincipalProfile:
                        clientId: '500123'
                        secret: example_value
                      addonProfiles: example_value
                      nodeResourceGroup: example_value
                      enableRBAC: true
                      enablePodSecurityPolicy: true
                      autoScalerProfile:
                        balance-similar-node-groups: example_value
                        expander: least-waste
                        max-empty-bulk-delete: example_value
                        max-graceful-termination-sec: example_value
                        max-node-provision-time: example_value
                        max-total-unready-percentage: example_value
                        new-pod-scale-up-delay: example_value
                        ok-total-unready-count: example_value
                        scan-interval: example_value
                        scale-down-delay-after-add: example_value
                        scale-down-delay-after-delete: example_value
                        scale-down-delay-after-failure: example_value
                        scale-down-unneeded-time: example_value
                        scale-down-unready-time: example_value
                        scale-down-utilization-threshold: example_value
                        skip-nodes-with-local-storage: example_value
                        skip-nodes-with-system-pods: example_value
                      apiServerAccessProfile:
                        authorizedIPRanges: {}
                        enablePrivateCluster: true
                        privateDNSZone: example_value
                        enablePrivateClusterPublicFQDN: true
                      diskEncryptionSetID: '500123'
        default:
          description: Error response.
          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: Microsoft Azure Create or Update a Managed Cluster
      description: >-
        Creates or updates a managed cluster. The operation is long-running and
        returns a 201 status code when the cluster is being created.
      tags:
      - Managed Clusters
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      requestBody:
        required: true
        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: Premium
                  identity:
                    principalId: '500123'
                    tenantId: '500123'
                    type: SystemAssigned
                    userAssignedIdentities: example_value
                  properties:
                    provisioningState: example_value
                    powerState:
                      code: Running
                    kubernetesVersion: example_value
                    currentKubernetesVersion: example_value
                    dnsPrefix: example_value
                    fqdn: example_value
                    fqdnSubdomain: example_value
                    agentPoolProfiles:
                    - {}
                    linuxProfile:
                      adminUsername: example_value
                      ssh: {}
                    windowsProfile:
                      adminUsername: example_value
                      adminPassword: example_value
                      licenseType: None
                    servicePrincipalProfile:
                      clientId: '500123'
                      secret: example_value
                    addonProfiles: example_value
                    nodeResourceGroup: example_value
                    enableRBAC: true
                    enablePodSecurityPolicy: true
                    autoScalerProfile:
                      balance-similar-node-groups: example_value
                      expander: least-waste
                      max-empty-bulk-delete: example_value
                      max-graceful-termination-sec: example_value
                      max-node-provision-time: example_value
                      max-total-unready-percentage: example_value
                      new-pod-scale-up-delay: example_value
                      ok-total-unready-count: example_value
                      scan-interval: example_value
                      scale-down-delay-after-add: example_value
                      scale-down-delay-after-delete: example_value
                      scale-down-delay-after-failure: example_value
                      scale-down-unneeded-time: example_value
                      scale-down-unready-time: example_value
                      scale-down-utilization-threshold: example_value
                      skip-nodes-with-local-storage: example_value
                      skip-nodes-with-system-pods: example_value
                    apiServerAccessProfile:
                      authorizedIPRanges: {}
                      enablePrivateCluster: true
                      privateDNSZone: example_value
                      enablePrivateClusterPublicFQDN: true
                    diskEncryptionSetID: '500123'
      responses:
        '200':
          description: Successfully updated the managed cluster.
          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: Premium
                    identity:
                      principalId: '500123'
                      tenantId: '500123'
                      type: SystemAssigned
                      userAssignedIdentities: example_value
                    properties:
                      provisioningState: example_value
                      powerState:
                        code: Running
                      kubernetesVersion: example_value
                      currentKubernetesVersion: example_value
                      dnsPrefix: example_value
                      fqdn: example_value
                      fqdnSubdomain: example_value
                      agentPoolProfiles:
                      - {}
                      linuxProfile:
                        adminUsername: example_value
                        ssh: {}
                      windowsProfile:
                        adminUsername: example_value
                        adminPassword: example_value
                        licenseType: None
                      servicePrincipalProfile:
                        clientId: '500123'
                        secret: example_value
                      addonProfiles: example_value
                      nodeResourceGroup: example_value
                      enableRBAC: true
                      enablePodSecurityPolicy: true
                      autoScalerProfile:
                        balance-similar-node-groups: example_value
                        expander: least-waste
                        max-empty-bulk-delete: example_value
                        max-graceful-termination-sec: example_value
                        max-node-provision-time: example_value
                        max-total-unready-percentage: example_value
                        new-pod-scale-up-delay: example_value
                        ok-total-unready-count: example_value
                        scan-interval: example_value
                        scale-down-delay-after-add: example_value
                        scale-down-delay-after-delete: example_value
                        scale-down-delay-after-failure: example_value
                        scale-down-unneeded-time: example_value
                        scale-down-unready-time: example_value
                        scale-down-utilization-threshold: example_value
                        skip-nodes-with-local-storage: example_value
                        skip-nodes-with-system-pods: example_value
                      apiServerAccessProfile:
                        authorizedIPRanges: {}
                        enablePrivateCluster: true
                        privateDNSZone: example_value
                        enablePrivateClusterPublicFQDN: true
                      diskEncryptionSetID: '500123'
        '201':
          description: The managed cluster is being created.
          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: Premium
                    identity:
                      principalId: '500123'
                      tenantId: '500123'
                      type: SystemAssigned
                      userAssignedIdentities: example_value
                    properties:
                      provisioningState: example_value
                      powerState:
                        code: Running
                      kubernetesVersion: example_value
                      currentKubernetesVersion: example_value
                      dnsPrefix: example_value
                      fqdn: example_value
                      fqdnSubdomain: example_value
                      agentPoolProfiles:
                      - {}
                      linuxProfile:
                        adminUsername: example_value
                        ssh: {}
                      windowsProfile:
                        adminUsername: example_value
                        adminPassword: example_value
                        licenseType: None
                      servicePrincipalProfile:
                        clientId: '500123'
                        secret: example_value
                      addonProfiles: example_value
                      nodeResourceGroup: example_value
                      enableRBAC: true
                      enablePodSecurityPolicy: true
                      autoScalerProfile:
                        balance-similar-node-groups: example_value
                        expander: least-waste
                        max-empty-bulk-delete: example_value
                        max-graceful-termination-sec: example_value
                        max-node-provision-time: example_value
                        max-total-unready-percentage: example_value
                        new-pod-scale-up-delay: example_value
                        ok-total-unready-count: example_value
                        scan-interval: example_value
                        scale-down-delay-after-add: example_value
                        scale-down-delay-after-delete: example_value
                        scale-down-delay-after-failure: example_value
                        scale-down-unneeded-time: example_value
                        scale-down-unready-time: example_value
                        scale-down-utilization-threshold: example_value
                        skip-nodes-with-local-storage: example_value
                        skip-nodes-with-system-pods: example_value
                      apiServerAccessProfile:
                        authorizedIPRanges: {}
                        enablePrivateCluster: true
                        privateDNSZone: example_value
                        enablePrivateClusterPublicFQDN: true
                      diskEncryptionSetID: '500123'
        default:
          description: Error response.
          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_Update
      summary: Microsoft Azure Update Tags on a Managed Cluster
      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
        content:
          application/json:
            schema:
              type: object
              properties:
                tags:
                  type: object
                  additionalProperties:
                    type: string
                  description: Resource tags.
            examples:
              ManagedclustersUpdateRequestExample:
                summary: Default ManagedClusters_Update request
                x-microcks-default: true
                value:
                  tags: example_value
      responses:
        '200':
          description: Successfully updated the managed cluster.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedCluster'
              examples:
                ManagedclustersUpdate200Example:
                  summary: Default ManagedClusters_Update 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: Premium
                    identity:
                      principalId: '500123'
                      tenantId: '500123'
                      type: SystemAssigned
                      userAssignedIdentities: example_value
                    properties:
                      provisioningState: example_value
                      powerState:
                        code: Running
                      kubernetesVersion: example_value
                      currentKubernetesVersion: example_value
                      dnsPrefix: example_value
                      fqdn: example_value
                      fqdnSubdomain: example_value
                      agentPoolProfiles:
                      - {}
                      linuxProfile:
                        adminUsername: example_value
                        ssh: {}
                      windowsProfile:
                        adminUsername: example_value
                        adminPassword: example_value
                        licenseType: None
                      servicePrincipalProfile:
                        clientId: '500123'
                        secret: example_value
                      addonProfiles: example_value
                      nodeResourceGroup: example_value
                      enableRBAC: true
                      enablePodSecurityPolicy: true
                      autoScalerProfile:
                        balance-similar-node-groups: example_value
                        expander: least-waste
                        max-empty-bulk-delete: example_value
                        max-graceful-termination-sec: example_value
                        max-node-provision-time: example_value
                        max-total-unready-percentage: example_value
                        new-pod-scale-up-delay: example_value
                        ok-total-unready-count: example_value
                        scan-interval: example_value
                        scale-down-delay-after-add: example_value
                        scale-down-delay-after-delete: example_value
                        scale-down-delay-after-failure: example_value
                        scale-down-unneeded-time: example_value
                        scale-down-unready-time: example_value
                        scale-down-utilization-threshold: example_value
                        skip-nodes-with-local-storage: example_value
                        skip-nodes-with-system-pods: example_value
                      apiServerAccessProfile:
                        authorizedIPRanges: {}
                        enablePrivateCluster: true
                        privateDNSZone: example_value
                        enablePrivateClusterPublicFQDN: true
                      diskEncryptionSetID: '500123'
        default:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                ManagedclustersUpdatedefaultExample:
                  summary: Default ManagedClusters_Update 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: Microsoft Azure 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 managed cluster is being deleted.
        '204':
          description: The managed cluster does not exist.
        default:
          description: Error response.
          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}/listClusterAdminCredential
  : post:
      operationId: ManagedClusters_ListClusterAdminCredentials
      summary: Microsoft Azure 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: Successfully returned the admin credentials.
          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.
          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}/agentPools
  : get:
      operationId: AgentPools_List
      summary: Microsoft Azure List Agent Pools
      description: Gets a list of agent pools in the specified managed cluster.
      tags:
      - Agent Pools
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ResourceNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully returned the list of agent pools.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPoolListResult'
              examples:
                AgentpoolsList200Example:
                  summary: Default AgentPools_List 200 response
                  x-microcks-default: true
                  value:
                    value:
                    - id: abc123
                      name: Example Title
                      type: example_value
                    nextLink: example_value
        default:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
              examples:
                AgentpoolsListdefaultExample:
                  summary: Default AgentPools_List default response
                  x-microcks-default: true
                  value:
                    error:
                      code: example_value
                 

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