Kong Add-Ons API

The Add-Ons API from Kong — 2 operation(s) for add-ons.

Operations 5

POST /v2/cloud-gateways/add-ons Create Add-On #
GET /v2/cloud-gateways/add-ons List Add-Ons #
GET /v2/cloud-gateways/add-ons/{addOnId} Get Add-On #
DELETE /v2/cloud-gateways/add-ons/{addOnId} Delete Add-On #
PATCH /v2/cloud-gateways/add-ons/{addOnId} Update Add-On #

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

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kong-add-ons-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Konnect API - Go SDK Add Ons API
  version: 3.14.0
  description: The Konnect platform API
  contact:
    name: Kong Inc
    url: https://konghq.com
    email: support@konghq.com
  x-extensions-note: "This API uses the `x-expression` vendor extension to indicate that a string property is a DSL expression.\nSupported types:\n\n\n  - `boolean`: An expression evaluates to boolean. For example, `context.topic.name == 'my-topic'`\n  - `string`: A template string expression that evaluates to a string or a literal string value. For example,\n    `${context.topic.name.substring(0, context.topic.name.length-4)}` or `my-literal-value`\n\nAdditionally, `x-sensitive` flag indicates that a field contains sensitive information. When the value\nof the field is provided in plain text, it's encrypted at rest and it's never returned in API responses.\nWhen the value is an expression, the expression itself is stored and returned in API responses.\n\n`x-min-runtime-version` indicates the minimum Event Gateway runtime version required to use a certain policy or\npolicy feature. The runtime version can be configured at the Event Gateway entity level. It must be a string\ncontaining a semantic version in the `MAJOR.MINOR` format, e.g., `\"1.1\"`.\n"
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  x-oas-source: kong/platform-api@
  x-oas-source-link: https://github.com/Kong/platform-api/commit/
servers:
- url: https://global.api.konghq.com
- url: https://us.api.konghq.com
- url: https://eu.api.konghq.com
- url: https://au.api.konghq.com
security:
- personalAccessToken: []
- systemAccountAccessToken: []
- konnectAccessToken: []
- serviceAccessToken: []
tags:
- name: Add-Ons
paths:
  /v2/cloud-gateways/add-ons:
    post:
      x-speakeasy-entity-operation:
        terraform-resource: CloudGatewayAddon#create
      operationId: create-add-on
      summary: Create Add-On
      description: 'Creates a new add-on. Specific add-on types (e.g., managed cache)

        are defined by the sub-kind configuration.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAddOnRequest'
      responses:
        '201':
          $ref: '#/components/responses/CreateAddOnResponse'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '409':
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ConflictError'
      servers:
      - url: https://global.api.konghq.com/
      tags:
      - Add-Ons
      x-speakeasy-group: CloudGateways
    get:
      operationId: list-add-ons
      summary: List Add-Ons
      description: 'Returns a paginated collection of add-ons for an organization.

        '
      parameters:
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageNumber'
      - $ref: '#/components/parameters/AddOnsFilter'
      responses:
        '200':
          $ref: '#/components/responses/ListAddOnsResponse'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
      servers:
      - url: https://global.api.konghq.com/
      tags:
      - Add-Ons
      x-speakeasy-group: CloudGateways
  /v2/cloud-gateways/add-ons/{addOnId}:
    get:
      x-speakeasy-entity-operation:
        terraform-resource: CloudGatewayAddon#read
      operationId: get-add-on
      summary: Get Add-On
      description: Retrieves an add-on by ID.
      parameters:
      - $ref: '#/components/parameters/AddOnId'
      responses:
        '200':
          $ref: '#/components/responses/RetrieveAddOnResponse'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
      servers:
      - url: https://global.api.konghq.com/
      tags:
      - Add-Ons
      x-speakeasy-group: CloudGateways
    delete:
      x-speakeasy-entity-operation:
        terraform-resource: CloudGatewayAddon#delete
        terraform-datasource: null
      operationId: delete-add-on
      summary: Delete Add-On
      description: 'Deletes an add-on by ID. The request will be rejected if the managed cache partial is still in use by some plugins.

        '
      parameters:
      - $ref: '#/components/parameters/AddOnId'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
      servers:
      - url: https://global.api.konghq.com/
      tags:
      - Add-Ons
      x-speakeasy-group: CloudGateways
    patch:
      x-speakeasy-entity-operation:
        terraform-resource: CloudGatewayAddon#update
        terraform-datasource: null
      operationId: update-add-on
      summary: Update Add-On
      description: Updates the configuration of an existing add-on.
      parameters:
      - $ref: '#/components/parameters/AddOnId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAddOnRequest'
      responses:
        '200':
          $ref: '#/components/responses/UpdateAddOnResponse'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
      servers:
      - url: https://global.api.konghq.com/
      tags:
      - Add-Ons
      x-speakeasy-group: CloudGateways
components:
  schemas:
    BaseError:
      description: standard error
      type: object
      properties:
        status:
          description: 'The HTTP status code of the error. Useful when passing the response

            body to child properties in a frontend UI. Must be returned as an integer.

            '
          type: integer
          readOnly: true
        title:
          description: 'A short, human-readable summary of the problem. It should not

            change between occurences of a problem, except for localization.

            Should be provided as "Sentence case" for direct use in the UI.

            '
          type: string
          readOnly: true
        type:
          description: The error type.
          type: string
          readOnly: true
        instance:
          description: 'Used to return the correlation ID back to the user, in the format

            kong:trace:<correlation_id>. This helps us find the relevant logs

            when a customer reports an issue.

            '
          type: string
          readOnly: true
        detail:
          description: 'A human readable explanation specific to this occurence of the problem.

            This field may contain request/entity data to help the user understand

            what went wrong. Enclose variable values in square brackets. Should be

            provided as "Sentence case" for direct use in the UI.

            '
          type: string
          readOnly: true
      required:
      - status
      - title
      - instance
      - detail
      title: Error
    AddOnConfigKindFieldEqualsFilter:
      description: Filter add-on config kind by exact match.
      oneOf:
      - $ref: '#/components/schemas/AddOnConfigKind'
      - $ref: '#/components/schemas/AddOnConfigKindFieldEqualsComparison'
      title: Add-On Config Kind Field Equals Filter
    ControlPlaneGeoFieldNotEqualsFilter:
      description: Filter a control-plane geo by inequality match.
      type: object
      properties:
        neq:
          $ref: '#/components/schemas/ControlPlaneGeo'
      required:
      - neq
      title: ControlPlaneGeoFieldNotEqualsFilter
    BadRequestError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        required:
        - invalid_parameters
        properties:
          invalid_parameters:
            $ref: '#/components/schemas/InvalidParameters'
    InvalidParameterMinimumLength:
      type: object
      properties:
        field:
          type: string
          example: name
          readOnly: true
        rule:
          description: invalid parameters rules
          type: string
          enum:
          - min_length
          - min_digits
          - min_lowercase
          - min_uppercase
          - min_symbols
          - min_items
          - min
          nullable: false
          readOnly: true
          x-speakeasy-unknown-values: allow
        minimum:
          type: integer
          example: 8
        source:
          type: string
          example: body
        reason:
          type: string
          example: must have at least 8 characters
          readOnly: true
      additionalProperties: false
      required:
      - field
      - reason
      - rule
      - minimum
    AddOnStateFieldEqualsFilter:
      description: Filter add-on state by exact match.
      oneOf:
      - $ref: '#/components/schemas/AddOnState'
      - $ref: '#/components/schemas/AddOnStateFieldEqualsComparison'
      title: AddOnStateFieldEqualsFilter
    AddOnState:
      description: 'The current state of the add-on. Possible values:

        - `initializing` - The add-on is in the process of being initialized/updated.

        - `ready` - The add-on is fully operational.

        - `terminating` - The add-on is in the process of being deleted.

        '
      type: string
      enum:
      - initializing
      - ready
      - terminating
      readOnly: true
      title: Add-On State
      x-speakeasy-unknown-values: allow
    PaginatedMeta:
      description: returns the pagination information
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageMeta'
      required:
      - page
      title: PaginatedMeta
      x-speakeasy-terraform-ignore: true
    ControlPlaneGeo:
      description: Set of control-plane geos supported for deploying cloud-gateways configurations.
      type: string
      enum:
      - us
      - eu
      - au
      - me
      - in
      - sg
      title: Control-Plane Geo
      x-speakeasy-unknown-values: allow
    UnauthorizedError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        properties:
          status:
            example: 401
          title:
            example: Unauthorized
          type:
            example: https://httpstatuses.com/401
          instance:
            example: kong:trace:1234567890
          detail:
            example: Invalid credentials
    UpdateAddOnRequest:
      description: Request body for updating an add-on.
      type: object
      properties:
        config:
          $ref: '#/components/schemas/UpdateAddOnConfig'
      additionalProperties: false
      required:
      - config
      title: UpdateAddOnRequest
    NotFoundError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        properties:
          status:
            example: 404
          title:
            example: Not Found
          type:
            example: https://httpstatuses.com/404
          instance:
            example: kong:trace:1234567890
          detail:
            example: Not found
    CreateAddOnRequest:
      description: Request schema for creating an add-on.
      type: object
      properties:
        name:
          $ref: '#/components/schemas/AddOnName'
        owner:
          $ref: '#/components/schemas/AddOnOwner'
        config:
          $ref: '#/components/schemas/CreateAddOnConfig'
      additionalProperties: false
      required:
      - name
      - owner
      - config
      title: CreateAddOnRequest
    CreateAddOnConfig:
      description: Configuration for creating different types of add-ons.
      type: object
      oneOf:
      - $ref: '#/components/schemas/CreateManagedCacheAddOnConfig'
      title: CreateAddOnConfig
    UuidFieldFilter:
      description: 'Filter using **one** of the following operators: `eq`, `oeq`, `neq`'
      type: object
      properties:
        eq:
          description: The field exactly matches the provided value.
          type: string
        oeq:
          description: The field matches any of the provided values.
          type: string
        neq:
          description: The field does not match the provided value.
          type: string
      additionalProperties: false
    ControlPlaneGeoFieldEqualsFilter:
      description: Filter a control-plane geo by exact match.
      oneOf:
      - $ref: '#/components/schemas/ControlPlaneGeo'
      - type: object
        title: ControlPlaneGeoFieldEqualsComparison
        properties:
          eq:
            $ref: '#/components/schemas/ControlPlaneGeo'
        required:
        - eq
      title: ControlPlaneGeoFieldEqualsFilter
    ControlPlaneAddOnOwner:
      description: Control Plane is the owner for the add-on.
      type: object
      properties:
        kind:
          description: Type of owner for the add-on.
          type: string
          const: control-plane
        control_plane_id:
          description: ID of the control-plane that owns this add-on.
          type: string
          format: uuid
          example: 123e4567-e89b-12d3-a456-426614174000
        control_plane_geo:
          $ref: '#/components/schemas/ControlPlaneGeo'
      additionalProperties: false
      required:
      - kind
      - control_plane_id
      - control_plane_geo
      title: ControlPlaneAddOnOwner
    AddOnsFilterParameters:
      description: Filter parameters for add-ons list operation.
      type: object
      properties:
        name:
          $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride'
        state:
          $ref: '#/components/schemas/AddOnStateFieldFilter'
        config.kind:
          $ref: '#/components/schemas/AddOnConfigKindFieldFilter'
        owner.control_plane_id:
          $ref: '#/components/schemas/UuidFieldFilter'
        owner.control_plane_geo:
          $ref: '#/components/schemas/ControlPlaneGeoFieldFilter'
        owner.control_plane_group_id:
          $ref: '#/components/schemas/UuidFieldFilter'
        owner.control_plane_group_geo:
          $ref: '#/components/schemas/ControlPlaneGeoFieldFilter'
      additionalProperties: false
      title: Add-Ons Filter Parameters
    ManagedCacheAddOnDataPlaneGroup:
      description: Object that describes a data-plane group where managed cache add-on is deployed.
      type: object
      properties:
        id:
          description: ID of the data-plane group.
          type: string
          format: uuid
          example: 1150820b-c69f-4a2a-b9be-bbcdbc5cd618
        cloud_gateway_network_id:
          description: Network ID this data-plane group is attached to.
          type: string
          format: uuid
          example: 36ae63d3-efd1-4bec-b246-62aa5d3f5695
        provider:
          $ref: '#/components/schemas/ProviderName'
        region:
          description: Region of cloud provider the data-plane group is deployed to.
          type: string
          example: us-east-1
        state:
          description: 'The current state of the managed cache add-on in the data-plane group. Possible values:

            - `initializing` - The add-on is in the process of being initialized/updated and is setting up necessary resources for this data-plane group.

            - `ready` - The add-on is fully operational for this data-plane group.

            - `error` - The add-on is in an error state, and is not operational for this data-plane group.

            - `terminating` - The add-on is in the process of being deleted for this data-plane group.

            '
          type: string
          enum:
          - initializing
          - ready
          - error
          - terminating
          readOnly: true
          x-speakeasy-unknown-values: allow
        state_metadata:
          description: 'Metadata describing the state of the managed cache add-on in the data-plane group.

            '
          type: object
          additionalProperties: false
          properties:
            error_reason:
              description: 'Reason why the managed cache add-on may be in an error state, reported from backing infrastructure.

                '
              type: string
              example: 'Failed to create managed cache add-on due to invalid configuration.

                '
      additionalProperties: false
      required:
      - id
      - cloud_gateway_network_id
      - provider
      - region
      - state
      - state_metadata
      title: ManagedCacheAddOnDataPlaneGroup
    TieredCapacityConfig:
      description: Capacity tiers with pre-configured size and performance characteristics.
      type: object
      properties:
        kind:
          description: Type of capacity configuration.
          type: string
          const: tiered
        tier:
          description: 'Capacity tier that determines both cache size and performance characteristics:

            - micro: ~0.5 GiB capacity

            - small: ~1 GiB capacity

            - medium: ~3 GiB capacity

            - large: ~6 GiB capacity

            - xlarge: ~12 GiB capacity

            - 2xlarge: ~25 GiB capacity

            - 4xlarge: ~52 GiB capacity

            - 8xlarge: ~100 GiB capacity

            - 12xlarge: ~150 GiB capacity

            - 16xlarge: ~200 GiB capacity

            - 24xlarge: ~300 GiB capacity

            '
          type: string
          enum:
          - micro
          - small
          - medium
          - large
          - xlarge
          - 2xlarge
          - 4xlarge
          - 8xlarge
          - 12xlarge
          - 16xlarge
          - 24xlarge
          x-speakeasy-unknown-values: allow
      example:
        kind: tiered
        tier: small
      additionalProperties: false
      required:
      - kind
      - tier
      title: TieredCapacityConfig
      x-speakeasy-name-override: Tiered
    AddOnStateFieldFilter:
      oneOf:
      - $ref: '#/components/schemas/AddOnStateFieldEqualsFilter'
      - $ref: '#/components/schemas/AddOnStateFieldNotEqualsFilter'
      - $ref: '#/components/schemas/AddOnStateFieldOrEqualityFilter'
      title: AddOnStateFieldFilter
    ControlPlaneGeoFieldOrEqualityFilter:
      description: 'Filter a control-plane geo by determining if the value is equal to any in a set of values, where the set is a

        comma-delimited list.

        '
      type: object
      properties:
        oeq:
          type: string
      required:
      - oeq
      title: ControlPlaneGeoFieldOrEqualityFilter
    AddOnStateFieldOrEqualityFilter:
      description: 'Filter add-on state by determining if the value is equal to any in a set of values, where the set is a comma-delimited list.

        '
      type: object
      properties:
        oeq:
          type: string
      additionalProperties: false
      required:
      - oeq
      title: AddOnStateFieldOrEqualityFilter
    AddOnConfigResponse:
      description: Configuration object for different types of add-ons.
      type: object
      oneOf:
      - $ref: '#/components/schemas/ManagedCacheAddOnConfigResponse'
      title: AddOnConfigResponse
    AddOnStateFieldEqualsComparison:
      type: object
      properties:
        eq:
          $ref: '#/components/schemas/AddOnState'
      additionalProperties: false
      required:
      - eq
      title: AddOnStateFieldEqualsComparison
    PageMeta:
      description: Contains pagination query parameters and the total number of objects returned.
      type: object
      properties:
        number:
          type: number
          example: 1
          x-speakeasy-terraform-ignore: true
        size:
          type: number
          example: 10
          x-speakeasy-terraform-ignore: true
        total:
          type: number
          example: 100
          x-speakeasy-terraform-ignore: true
      required:
      - number
      - size
      - total
    InvalidParameterMaximumLength:
      type: object
      properties:
        field:
          type: string
          example: name
          readOnly: true
        rule:
          description: invalid parameters rules
          type: string
          enum:
          - max_length
          - max_items
          - max
          nullable: false
          readOnly: true
          x-speakeasy-unknown-values: allow
        maximum:
          type: integer
          example: 8
        source:
          type: string
          example: body
        reason:
          type: string
          example: must not have more than 8 characters
          readOnly: true
      additionalProperties: false
      required:
      - field
      - reason
      - rule
      - maximum
    InvalidParameterStandard:
      type: object
      properties:
        field:
          type: string
          example: name
          readOnly: true
        rule:
          $ref: '#/components/schemas/InvalidRules'
        source:
          type: string
          example: body
        reason:
          type: string
          example: is a required field
          readOnly: true
      additionalProperties: false
      required:
      - field
      - reason
    AddOnOwner:
      description: Owner for the add-on.
      type: object
      oneOf:
      - $ref: '#/components/schemas/ControlPlaneAddOnOwner'
      - $ref: '#/components/schemas/ControlPlaneGroupAddOnOwner'
      title: AddOnOwner
    InvalidParameterChoiceItem:
      type: object
      properties:
        field:
          type: string
          example: name
          readOnly: true
        rule:
          description: invalid parameters rules
          type: string
          enum:
          - enum
          nullable: false
          readOnly: true
        reason:
          type: string
          example: is a required field
          readOnly: true
        choices:
          type: array
          items: {}
          minItems: 1
          nullable: false
          readOnly: true
          uniqueItems: true
        source:
          type: string
          example: body
      additionalProperties: false
      required:
      - field
      - reason
      - rule
      - choices
    ControlPlaneGroupAddOnOwner:
      description: Control Plane Group is the owner for the add-on.
      type: object
      properties:
        kind:
          description: Type of owner for the add-on.
          type: string
          const: control-plane-group
        control_plane_group_id:
          description: ID of the control-plane group that owns this add-on.
          type: string
          format: uuid
          example: 123e4567-e89b-12d3-a456-426614174000
        control_plane_group_geo:
          $ref: '#/components/schemas/ControlPlaneGeo'
      additionalProperties: false
      required:
      - kind
      - control_plane_group_id
      - control_plane_group_geo
      title: ControlPlaneGroupAddOnOwner
    AddOnResponse:
      description: Object containing information about an add-on.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AddOnId'
        name:
          $ref: '#/components/schemas/AddOnName'
        owner:
          $ref: '#/components/schemas/AddOnOwner'
        config:
          $ref: '#/components/schemas/AddOnConfigResponse'
        entity_version:
          description: Monotonically-increasing version count of the add-on, to indicate the order of updates to the add-on.
          type: integer
          example: 1
          readOnly: true
        state:
          $ref: '#/components/schemas/AddOnState'
        created_at:
          description: RFC-3339 timestamp representation of add-on creation date.
          type: string
          format: date-time
          example: '2025-08-26T06:56:41Z'
          readOnly: true
        updated_at:
          description: RFC-3339 timestamp representation of add-on update date.
          type: string
          format: date-time
          example: '2025-08-26T06:56:41Z'
          readOnly: true
      additionalProperties: false
      required:
      - id
      - name
      - owner
      - config
      - entity_version
      - state
      - created_at
      - updated_at
      title: AddOnResponse
    AddOnConfigKindFieldEqualsComparison:
      type: object
      properties:
        eq:
          $ref: '#/components/schemas/AddOnConfigKind'
      additionalProperties: false
      required:
      - eq
      title: AddOnConfigKindFieldEqualsComparison
    CreateManagedCacheAddOnConfig:
      description: Configuration for creating a managed cache add-on.
      type: object
      properties:
        kind:
          description: Type of add-on configuration.
          type: string
          const: managed-cache.v0
        capacity_config:
          $ref: '#/components/schemas/ManagedCacheCapacityConfig'
      additionalProperties: false
      required:
      - kind
      - capacity_config
      title: CreateManagedCacheAddOnConfig
      x-speakeasy-name-override: managed_cache
    InvalidParameters:
      description: invalid parameters
      type: array
      items:
        oneOf:
        - $ref: '#/components/schemas/InvalidParameterStandard'
        - $ref: '#/components/schemas/InvalidParameterMinimumLength'
        - $ref: '#/components/schemas/InvalidParameterMaximumLength'
        - $ref: '#/components/schemas/InvalidParameterChoiceItem'
        - $ref: '#/components/schemas/InvalidParameterDependentItem'
      minItems: 1
      nullable: false
      uniqueItems: true
    ManagedCacheAddOnConfigResponse:
      description: Configuration for managed cache add-on.
      type: object
      properties:
        kind:
          description: Type of add-on configuration.
          type: string
          const: managed-cache.v0
        capacity_config:
          $ref: '#/components/schemas/ManagedCacheCapacityConfig'
        data_plane_groups:
          description: List of data-plane groups where the managed cache is deployed.
          type: array
          items:
            $ref: '#/components/schemas/ManagedCacheAddOnDataPlaneGroup'
        state_metadata:
          description: 'Metadata describing the state of the managed cache add-on.

            '
          type: object
          additionalProperties: false
          properties:
            cache_config_id:
              description: Reference to cache configuration for this add-on.
              type: string
              format: uuid
              example: edaf40f9-9fb0-4ffe-bb74-4e763a6bd471
            cache_server_name:
              description: Env vault path to cache server name.
              type: string
              example: '{vault://env/ADDON_MANAGED_CACHE_SERVER_NAME}'
            cache_host:
              description: Env vault path to cache hostname.
              type: string
              example: '{vault://env/ADDON_MANAGED_CACHE_HOST}'
            cache_port:
              description: Env vault path to cache port.
              type: string
              example: '{vault://env/ADDON_MANAGED_CACHE_PORT}'
            cache_username:
              description: Env vault path to cache username.
              type: string
              example: '{vault://env/ADDON_MANAGED_CACHE_USERNAME}'
            cloud_authentication:
              description: 'Metadata describing the cloud authentication details for managed cache add-on.

                '
              type: object
              additionalProperties: false
              properties:
                auth_provider:
                  description: Env vault path to cache auth provider.
                  type: string
                  example: '{vault://env/ADDON_MANAGED_CACHE_AUTH_PROVIDER}'
                aws_cache_name:
                  description: Env vault path to aws cache name.
                  type: string
                  example: '{vault://env/ADDON_MANAGED_CACHE_AWS_CACHE_NAME}'
                aws_region:
                  description: Env vault path to aws region.
                  type: string
                  example: '{vault://env/ADDON_MANAGED_CACHE_AWS_REGION}'
                aws_assume_role_arn:
                  description: Env vault path to aws assume role arn.
                  type: string
                  example: '{vault://env/ADDON_MANAGED_CACHE_AWS_ASSUME_ROLE_ARN}'
                azure_tenant_id:
                  description: Env vault path to azure tenant id.
                  type: string
                  example: '{vault://env/ADDON_MANAGED_CACHE_AZURE_TENANT_ID}'
      additionalProperties: false
      required:
      - kind
      - capacity_config
      - data_plane_groups
      - state_metadata
      title: ManagedCacheAddOnConfigResponse
    UpdateAddOnConfig:
      description: Configuration for updating different types of add-ons.
      type: object
      oneOf:
      - $ref: '#/components/schemas/UpdateManagedCacheAddOnConfig'
      title: UpdateAddOnConfig
    ProviderName:
      description: Name of cloud provider.
      type: string
      example: aws
      enum:
      - aws
      - azure
      - gcp
      title: Provider Name
      x-speakeasy-unknown-values: allow
    ConflictError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        properties:
          status:
            example: 409
          title:
            example: Conflict
          type:
            example: https://httpstatuses.com/409
          instance:
            example: kong:trace:1234567890
          detail:
            example: Conflict
    AddOnName:
      description: Unique human-readable name of the add-on.
      type: string
      example: my-add-on
      maxLength: 70
      minLength: 1
      title: AddOnName
    ForbiddenError:
      allOf:
      - $ref: '#/components/schemas/Base

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kong/refs/heads/main/openapi/kong-add-ons-api-openapi.yml