Amazon EKS Add Ons API

Operations for managing EKS add-ons

Business capability
IT Infrastructure Management BC-600.50

Operations 6

POST /clusters/{clusterName}/addons Create Addon #
GET /clusters/{clusterName}/addons List Addons #
DELETE /clusters/{clusterName}/addons/{addonName} Delete Addon #
GET /clusters/{clusterName}/addons/{addonName} Describe Addon #
GET /addons/configuration-schemas Describe Addon Configuration #
GET /addons/supported-versions Describe Addon Versions #

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/amazon-eks:amazon-eks-add-ons-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

amazon-eks-add-ons-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon Elastic Kubernetes Service Add Ons API
  version: '2017-11-01'
  description: Generated from AWS's published Smithy model for Amazon Elastic Kubernetes Service. 6 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://eks.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /clusters/{clusterName}/addons:
    post:
      operationId: CreateAddon
      summary: Create Addon
      description: Creates an Amazon EKS add-on. Amazon EKS add-ons help to automate the provisioning and lifecycle management
        of common operational software for Amazon EKS clusters. For more information, see Amazon EKS add-ons in the Amazon
        EKS User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAddonResponse'
        '400':
          description: ClientException; InvalidParameterException; InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientException'
        '409':
          description: ResourceInUseException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceInUseException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAddonRequest'
      tags:
      - Add Ons
    get:
      operationId: ListAddons
      summary: List Addons
      description: Lists the installed add-ons.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAddonsResponse'
        '400':
          description: ClientException; InvalidParameterException; InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListAddonsRequest'
      tags:
      - Add Ons
  /clusters/{clusterName}/addons/{addonName}:
    delete:
      operationId: DeleteAddon
      summary: Delete Addon
      description: Deletes an Amazon EKS add-on. When you remove an add-on, it's deleted from the cluster. You can always
        manually start an add-on on the cluster using the Kubernetes API.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteAddonResponse'
        '400':
          description: ClientException; InvalidParameterException; InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAddonRequest'
      tags:
      - Add Ons
    get:
      operationId: DescribeAddon
      summary: Describe Addon
      description: Describes an Amazon EKS add-on.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeAddonResponse'
        '400':
          description: ClientException; InvalidParameterException; InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribeAddonRequest'
      tags:
      - Add Ons
  /addons/configuration-schemas:
    get:
      operationId: DescribeAddonConfiguration
      summary: Describe Addon Configuration
      description: Returns configuration options.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeAddonConfigurationResponse'
        '400':
          description: InvalidParameterException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidParameterException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribeAddonConfigurationRequest'
      tags:
      - Add Ons
  /addons/supported-versions:
    get:
      operationId: DescribeAddonVersions
      summary: Describe Addon Versions
      description: Describes the versions for an add-on. Information such as the Kubernetes versions that you can use the
        add-on with, the owner, publisher, and the type of the add-on are returned.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeAddonVersionsResponse'
        '400':
          description: InvalidParameterException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidParameterException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '500':
          description: ServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribeAddonVersionsRequest'
      tags:
      - Add Ons
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: eks
  schemas:
    Addon:
      type: object
      properties:
        addonName:
          type: string
          description: The name of the add-on.
        clusterName:
          type: string
          description: The name of your cluster.
        status:
          type: string
          enum:
          - CREATING
          - ACTIVE
          - CREATE_FAILED
          - UPDATING
          - DELETING
          - DELETE_FAILED
          - DEGRADED
          - UPDATE_FAILED
          description: The status of the add-on.
        addonVersion:
          type: string
          description: The version of the add-on.
        health:
          $ref: '#/components/schemas/AddonHealth'
        addonArn:
          type: string
          description: The Amazon Resource Name (ARN) of the add-on.
        createdAt:
          type: string
          format: date-time
          description: The Unix epoch timestamp at object creation.
        modifiedAt:
          type: string
          format: date-time
          description: The Unix epoch timestamp for the last modification to the object.
        serviceAccountRoleArn:
          type: string
          description: The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes ServiceAccount object
            that the add-on uses.
        tags:
          type: object
          additionalProperties:
            type: string
          description: Metadata that assists with categorization and organization. Each tag consists of a key and an optional
            value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources.
        publisher:
          type: string
          description: The publisher of the add-on.
        owner:
          type: string
          description: The owner of the add-on.
        marketplaceInformation:
          $ref: '#/components/schemas/MarketplaceInformation'
        configurationValues:
          type: string
          description: The configuration values that you provided.
        podIdentityAssociations:
          type: array
          items:
            type: string
          description: An array of EKS Pod Identity associations owned by the add-on. Each association maps a role to a service
            account in a namespace in the cluster. For more information, see Attach an IAM Role to an Amazon EKS add-on using
            EKS Pod Identity in the Amazon EKS User Guide.
        namespaceConfig:
          $ref: '#/components/schemas/AddonNamespaceConfigResponse'
    AddonHealth:
      type: object
      properties:
        issues:
          type: array
          items:
            $ref: '#/components/schemas/AddonIssue'
          description: An object representing the health issues for an add-on.
    AddonInfo:
      type: object
      properties:
        addonName:
          type: string
          description: The name of the add-on.
        type:
          type: string
          description: The type of the add-on.
        addonVersions:
          type: array
          items:
            $ref: '#/components/schemas/AddonVersionInfo'
          description: An object representing information about available add-on versions and compatible Kubernetes versions.
        publisher:
          type: string
          description: The publisher of the add-on.
        owner:
          type: string
          description: The owner of the add-on.
        marketplaceInformation:
          $ref: '#/components/schemas/MarketplaceInformation'
        defaultNamespace:
          type: string
          description: The default Kubernetes namespace where this addon is typically installed if no custom namespace is
            specified.
    AddonIssue:
      type: object
      properties:
        code:
          type: string
          enum:
          - AccessDenied
          - InternalFailure
          - ClusterUnreachable
          - InsufficientNumberOfReplicas
          - ConfigurationConflict
          - AdmissionRequestDenied
          - UnsupportedAddonModification
          - K8sResourceNotFound
          - AddonSubscriptionNeeded
          - AddonPermissionFailure
          description: A code that describes the type of issue.
        message:
          type: string
          description: A message that provides details about the issue and what might cause it.
        resourceIds:
          type: array
          items:
            type: string
          description: The resource IDs of the issue.
    AddonNamespaceConfigRequest:
      type: object
      properties:
        namespace:
          type: string
          description: The name of the Kubernetes namespace to install the addon in. Must be a valid RFC 1123 DNS label.
    AddonNamespaceConfigResponse:
      type: object
      properties:
        namespace:
          type: string
          description: The name of the Kubernetes namespace where the addon is installed.
    AddonPodIdentityAssociations:
      type: object
      properties:
        serviceAccount:
          type: string
          description: The name of a Kubernetes Service Account.
        roleArn:
          type: string
          description: The ARN of an IAM Role.
      required:
      - serviceAccount
      - roleArn
    AddonPodIdentityConfiguration:
      type: object
      properties:
        serviceAccount:
          type: string
          description: The Kubernetes Service Account name used by the add-on.
        recommendedManagedPolicies:
          type: array
          items:
            type: string
          description: A suggested IAM Policy for the add-on.
    AddonVersionInfo:
      type: object
      properties:
        addonVersion:
          type: string
          description: The version of the add-on.
        architecture:
          type: array
          items:
            type: string
          description: The architectures that the version supports.
        computeTypes:
          type: array
          items:
            type: string
          description: Indicates the compute type of the add-on version.
        compatibilities:
          type: array
          items:
            $ref: '#/components/schemas/Compatibility'
          description: An object representing the compatibilities of a version.
        requiresConfiguration:
          type: boolean
          description: Whether the add-on requires configuration.
        requiresIamPermissions:
          type: boolean
          description: Indicates if the add-on requires IAM Permissions to operate, such as networking permissions.
    ClientException:
      type: object
      properties:
        clusterName:
          type: string
          description: The Amazon EKS cluster associated with the exception.
        nodegroupName:
          type: string
          description: The Amazon EKS managed node group associated with the exception.
        addonName:
          type: string
          description: The Amazon EKS add-on name associated with the exception.
        subscriptionId:
          type: string
          description: The Amazon EKS subscription ID with the exception.
        message:
          type: string
          description: These errors are usually caused by a client action. Actions can include using an action or resource
            on behalf of an IAM principal that doesn't have permissions to use the action or resource or specifying an identifier
            that is not valid.
    Compatibility:
      type: object
      properties:
        clusterVersion:
          type: string
          description: The supported Kubernetes version of the cluster.
        platformVersions:
          type: array
          items:
            type: string
          description: The supported compute platform.
        defaultVersion:
          type: boolean
          description: The supported default version.
    CreateAddonRequest:
      type: object
      properties:
        clusterName:
          type: string
          description: The name of your cluster.
        addonName:
          type: string
          description: The name of the add-on. The name must match one of the names returned by DescribeAddonVersions.
        addonVersion:
          type: string
          description: The version of the add-on. The version must match one of the versions returned by DescribeAddonVersions
            .
        serviceAccountRoleArn:
          type: string
          description: The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The
            role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then
            the add-on uses the permissions assigned to the node IAM role. For more information, see Amazon EKS node IAM role
            in the Amazon EKS User Guide. To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider
            created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster in
            the Amazon EKS User Guide.
        resolveConflicts:
          type: string
          enum:
          - OVERWRITE
          - NONE
          - PRESERVE
          description: 'How to resolve field value conflicts for an Amazon EKS add-on. Conflicts are handled based on the
            value you choose: None – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn''t
            change the value. Creation of the add-on might fail. Overwrite – If the self-managed version of the add-on is
            installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes
            the value to the Amazon EKS default value. Preserve – This is similar to the NONE option. If the self-managed
            version of the add-on is installed on your cluster'
        clientRequestToken:
          type: string
          description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
        tags:
          type: object
          additionalProperties:
            type: string
          description: Metadata that assists with categorization and organization. Each tag consists of a key and an optional
            value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources.
        configurationValues:
          type: string
          description: The set of configuration values for the add-on that's created. The values that you provide are validated
            against the schema returned by DescribeAddonConfiguration.
        podIdentityAssociations:
          type: array
          items:
            $ref: '#/components/schemas/AddonPodIdentityAssociations'
          description: An array of EKS Pod Identity associations to be created. Each association maps a Kubernetes service
            account to an IAM role. For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity
            in the Amazon EKS User Guide.
        namespaceConfig:
          $ref: '#/components/schemas/AddonNamespaceConfigRequest'
      required:
      - clusterName
      - addonName
    CreateAddonResponse:
      type: object
      properties:
        addon:
          $ref: '#/components/schemas/Addon'
    DeleteAddonRequest:
      type: object
      properties:
        clusterName:
          type: string
          description: The name of your cluster.
        addonName:
          type: string
          description: The name of the add-on. The name must match one of the names returned by ListAddons .
        preserve:
          type: boolean
          description: Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing
            any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed.
      required:
      - clusterName
      - addonName
    DeleteAddonResponse:
      type: object
      properties:
        addon:
          $ref: '#/components/schemas/Addon'
    DescribeAddonConfigurationRequest:
      type: object
      properties:
        addonName:
          type: string
          description: The name of the add-on. The name must match one of the names returned by DescribeAddonVersions.
        addonVersion:
          type: string
          description: The version of the add-on. The version must match one of the versions returned by DescribeAddonVersions
            .
      required:
      - addonName
      - addonVersion
    DescribeAddonConfigurationResponse:
      type: object
      properties:
        addonName:
          type: string
          description: The name of the add-on.
        addonVersion:
          type: string
          description: The version of the add-on. The version must match one of the versions returned by DescribeAddonVersions
            .
        configurationSchema:
          type: string
          description: A JSON schema that's used to validate the configuration values you provide when an add-on is created
            or updated.
        podIdentityConfiguration:
          type: array
          items:
            $ref: '#/components/schemas/AddonPodIdentityConfiguration'
          description: The Kubernetes service account name used by the add-on, and any suggested IAM policies. Use this information
            to create an IAM Role for the add-on.
    DescribeAddonRequest:
      type: object
      properties:
        clusterName:
          type: string
          description: The name of your cluster.
        addonName:
          type: string
          description: The name of the add-on. The name must match one of the names returned by ListAddons .
      required:
      - clusterName
      - addonName
    DescribeAddonResponse:
      type: object
      properties:
        addon:
          $ref: '#/components/schemas/Addon'
    DescribeAddonVersionsRequest:
      type: object
      properties:
        kubernetesVersion:
          type: string
          description: The Kubernetes versions that you can use the add-on with.
        maxResults:
          type: integer
          description: The maximum number of results, returned in paginated output. You receive maxResults in a single page,
            along with a nextToken response element. You can see the remaining results of the initial request by sending another
            request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter,
            100 results and a nextToken value, if applicable, are returned.
        nextToken:
          type: string
          description: The nextToken value returned from a previous paginated request, where maxResults was used and the results
            exceeded the value of that parameter. Pagination continues from the end of the previous results that returned
            the nextToken value. This value is null when there are no more results to return. This token should be treated
            as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic
            purposes.
        addonName:
          type: string
          description: The name of the add-on. The name must match one of the names returned by ListAddons .
        types:
          type: array
          items:
            type: string
          description: The type of the add-on. For valid types, don't specify a value for this property.
        publishers:
          type: array
          items:
            type: string
          description: The publisher of the add-on. For valid publishers, don't specify a value for this property.
        owners:
          type: array
          items:
            type: string
          description: The owner of the add-on. For valid owners, don't specify a value for this property.
    DescribeAddonVersionsResponse:
      type: object
      properties:
        addons:
          type: array
          items:
            $ref: '#/components/schemas/AddonInfo'
          description: The list of available versions with Kubernetes version compatibility and other properties.
        nextToken:
          type: string
          description: The nextToken value to include in a future DescribeAddonVersions request. When the results of a DescribeAddonVersions
            request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when
            there are no more results to return. This token should be treated as an opaque identifier that is used only to
            retrieve the next items in a list and not for other programmatic purposes.
    InvalidParameterException:
      type: object
      properties:
        clusterName:
          type: string
          description: The Amazon EKS cluster associated with the exception.
        nodegroupName:
          type: string
          description: The Amazon EKS managed node group associated with the exception.
        fargateProfileName:
          type: string
          description: The Fargate profile associated with the exception.
        addonName:
          type: string
          description: The specified parameter for the add-on name is invalid. Review the available parameters for the API
            request
        subscriptionId:
          type: string
          description: The Amazon EKS subscription ID with the exception.
        message:
          type: string
          description: The specified parameter is invalid. Review the available parameters for the API request.
    ListAddonsRequest:
      type: object
      properties:
        clusterName:
          type: string
          description: The name of your cluster.
        maxResults:
          type: integer
          description: The maximum number of results, returned in paginated output. You receive maxResults in a single page,
            along with a nextToken response element. You can see the remaining results of the initial request by sending another
            request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter,
            100 results and a nextToken value, if applicable, are returned.
        nextToken:
          type: string
          description: The nextToken value returned from a previous paginated request, where maxResults was used and the results
            exceeded the value of that parameter. Pagination continues from the end of the previous results that returned
            the nextToken value. This value is null when there are no more results to return. This token should be treated
            as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic
            purposes.
      required:
      - clusterName
    ListAddonsResponse:
      type: object
      properties:
        addons:
          type: array
          items:
            type: string
          description: A list of installed add-ons.
        nextToken:
          type: string
          description: The nextToken value to include in a future ListAddons request. When the results of a ListAddons request
            exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there
            are no more results to return. This token should be treated as an opaque identifier that is used only to retrieve
            the next items in a list and not for other programmatic purposes.
    MarketplaceInformation:
      type: object
      properties:
        productId:
          type: string
          description: The product ID from the Amazon Web Services Marketplace.
        productUrl:
          type: string
          description: The product URL from the Amazon Web Services Marketplace.
    ResourceInUseException:
      type: object
      properties:
        clusterName:
          type: string
          description: The Amazon EKS cluster associated with the exception.
        nodegroupName:
          type: string
          description: The Amazon EKS managed node group associated with the exception.
        addonName:
          type: string
          description: The specified add-on name is in use.
        message:
          type: string
          description: The Amazon EKS message associated with the exception.
    ResourceNotFoundException:
      type: object
      properties:
        clusterName:
          type: string
          description: The Amazon EKS cluster associated with the exception.
        nodegroupName:
          type: string
          description: The Amazon EKS managed node group associated with the exception.
        fargateProfileName:
          type: string
          description: The Fargate profile associated with the exception.
        addonName:
          type: string
          description: The Amazon EKS add-on name associated with the exception.
        subscriptionId:
          type: string
          description: The Amazon EKS subscription ID with the exception.
        message:
          type: string
          description: The Amazon EKS message associated with the exception.
    ServerException:
      type: object
      properties:
        clusterName:
          type: string
          description: The Amazon EKS cluster associated with the exception.
        nodegroupName:
          type: string
          description: The Amazon EKS managed node group associated with the exception.
        addonName:
          type: string
          description: The Amazon EKS add-on name associated with the exception.
        subscriptionId:
          type: string
          description: The Amazon EKS subscription ID with the exception.
        message:
          type: string
          description: These errors are usually caused by a server-side issue.
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/eks/service/2017-11-01/eks-2017-11-01.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)