Kong App Auth Strategies API

Application Auth Strategies are sets of plugin configurations that represent how the gateway will perform authentication and authorization for a Product Version. Called “Auth Strategy” for short in the context of portals/applications. The plugins are synced to any Gateway Service that is currently linked or becomes linked to the Product Version.

Operations 6

POST /v2/application-auth-strategies Create App Auth Strategy #
GET /v2/application-auth-strategies List App Auth Strategies #
GET /v2/application-auth-strategies/{authStrategyId} Get App Auth Strategy #
PUT /v2/application-auth-strategies/{authStrategyId} Replace App Auth Strategy #
PATCH /v2/application-auth-strategies/{authStrategyId} Update App Auth Strategy #
DELETE /v2/application-auth-strategies/{authStrategyId} Delete App Auth Strategy #

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-app-auth-strategies-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-app-auth-strategies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Konnect API - Go SDK App Auth Strategies 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: App Auth Strategies
  description: "Application Auth Strategies are sets of plugin configurations that represent how the gateway will perform authentication and authorization for a Product Version. \nCalled “Auth Strategy” for short in the context of portals/applications. \nThe plugins are synced to any Gateway Service that is currently linked or becomes linked to the Product Version.\n"
paths:
  /v2/application-auth-strategies:
    post:
      x-speakeasy-entity-operation:
        terraform-resource: ApplicationAuthStrategy#create
        terraform-datasource: null
      operationId: create-app-auth-strategy
      summary: Create App Auth Strategy
      description: Creates an application auth strategy.
      requestBody:
        $ref: '#/components/requestBodies/CreateAppAuthStrategy'
      responses:
        '201':
          $ref: '#/components/responses/CreateAppAuthStrategy'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      tags:
      - App Auth Strategies
    get:
      operationId: list-app-auth-strategies
      summary: List App Auth Strategies
      description: Returns a paginated collection of application auth strategies.
      parameters:
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageNumber'
      - $ref: '#/components/parameters/SortAppAuthStrategies'
      - name: filter
        in: query
        description: Filter application auth strategies returned in the response.
        required: false
        schema:
          type: object
          properties:
            strategy_type:
              $ref: '#/components/schemas/StringFieldFilter'
            name:
              $ref: '#/components/schemas/StringFieldFilter'
            display_name:
              $ref: '#/components/schemas/StringFieldFilter'
            dcr_provider_id:
              $ref: '#/components/schemas/UuidFieldFilter'
            dcr_provider_name:
              $ref: '#/components/schemas/StringFieldFilter'
            dcr_provider_type:
              $ref: '#/components/schemas/StringFieldFilter'
        style: deepObject
      responses:
        '200':
          $ref: '#/components/responses/ListAppAuthStrategies'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      tags:
      - App Auth Strategies
  /v2/application-auth-strategies/{authStrategyId}:
    parameters:
    - $ref: '#/components/parameters/AuthStrategyId'
    get:
      x-speakeasy-entity-operation:
        terraform-resource: ApplicationAuthStrategy#read
        terraform-datasource: null
      operationId: get-app-auth-strategy
      summary: Get App Auth Strategy
      description: Returns an application auth strategy.
      responses:
        '200':
          $ref: '#/components/responses/GetAppAuthStrategy'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      tags:
      - App Auth Strategies
    put:
      operationId: replace-app-auth-strategy
      summary: Replace App Auth Strategy
      description: Replaces an application auth strategy.
      requestBody:
        $ref: '#/components/requestBodies/CreateAppAuthStrategy'
      responses:
        '201':
          $ref: '#/components/responses/CreateAppAuthStrategy'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      tags:
      - App Auth Strategies
    patch:
      x-speakeasy-entity-operation:
        terraform-resource: ApplicationAuthStrategy#update
        terraform-datasource: null
      operationId: update-app-auth-strategy
      summary: Update App Auth Strategy
      description: Updates an application auth strategy.
      requestBody:
        $ref: '#/components/requestBodies/UpdateAppAuthStrategy'
      responses:
        '200':
          $ref: '#/components/responses/UpdateAppAuthStrategy'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      tags:
      - App Auth Strategies
    delete:
      x-speakeasy-entity-operation:
        terraform-resource: ApplicationAuthStrategy#delete
        terraform-datasource: null
      operationId: delete-app-auth-strategy
      summary: Delete App Auth Strategy
      description: Deletes an application auth strategy. An application auth strategy can be deleted ONLY if it's not used by any product version within any portal regardless of their publication statuses. If an application auth strategy is still in use the request will result in an HTTP 409 CONFLICT.
      responses:
        '204':
          description: No Content.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
      tags:
      - App Auth Strategies
components:
  schemas:
    BadRequestError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        required:
        - invalid_parameters
        properties:
          invalid_parameters:
            $ref: '#/components/schemas/InvalidParameters'
    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
    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
    UpdatedAt:
      description: An ISO-8601 timestamp representation of entity update date.
      type: string
      format: date-time
      example: '2022-11-04T20:10:06.927Z'
      readOnly: true
      x-speakeasy-param-suppress-computed-diff: true
    AppAuthStrategy:
      x-speakeasy-entity: ApplicationAuthStrategy
      description: A set of plugin configurations that represent how the gateway will perform authentication and authorization for a Product Version. Called “Auth Strategy” for short in the context of portals/applications. The plugins are synced to any Gateway Service that is currently linked or becomes linked to the Product Version.
      type: object
      discriminator:
        propertyName: strategy_type
        mapping:
          key_auth: '#/components/schemas/AppAuthStrategyKeyAuthResponse'
          openid_connect: '#/components/schemas/AppAuthStrategyOpenIDConnectResponse'
      oneOf:
      - $ref: '#/components/schemas/AppAuthStrategyKeyAuthResponse'
      - $ref: '#/components/schemas/AppAuthStrategyOpenIDConnectResponse'
      required:
      - strategy_type
      title: AppAuthStrategy
    StringFieldFilter:
      description: 'Filter using **one** of the following operators: `eq`, `oeq`, `neq`, `contains`, `ocontains`'
      type: object
      properties:
        eq:
          description: The field exactly matches the provided value.
          type: string
        contains:
          description: The field contains the provided value.
          type: string
        ocontains:
          description: The field contains any of the provided values.
          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
    CreateAppAuthStrategyResponse:
      $ref: '#/components/schemas/AppAuthStrategy'
    CreatedAt:
      description: An ISO-8601 timestamp representation of entity creation date.
      type: string
      format: date-time
      example: '2022-11-04T20:10:06.927Z'
      readOnly: true
      x-speakeasy-param-suppress-computed-diff: true
    PaginatedMeta:
      description: returns the pagination information
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageMeta'
      required:
      - page
      title: PaginatedMeta
      x-speakeasy-terraform-ignore: true
    UUID:
      description: Contains a unique identifier used for this resource.
      type: string
      format: uuid
      example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7
      readOnly: true
    AppAuthStrategyKeyAuthRequest:
      description: Request for creating a Key Auth Application Auth Strategy
      type: object
      properties:
        name:
          $ref: '#/components/schemas/AuthStrategyName'
        display_name:
          $ref: '#/components/schemas/AuthStrategyDisplayName'
        strategy_type:
          type: string
          enum:
          - key_auth
        configs:
          description: JSON-B object containing the configuration for the Key Auth strategy
          type: object
          additionalProperties: false
          properties:
            key-auth:
              $ref: '#/components/schemas/AppAuthStrategyConfigKeyAuth'
          required:
          - key-auth
        labels:
          $ref: '#/components/schemas/Labels'
      additionalProperties: false
      required:
      - name
      - display_name
      - strategy_type
      - configs
      title: AppAuthStrategyKeyAuthRequest
    AppAuthStrategyOpenIDConnectRequest:
      description: Payload for creating an OIDC Application Auth Strategy
      type: object
      properties:
        name:
          $ref: '#/components/schemas/AuthStrategyName'
        display_name:
          $ref: '#/components/schemas/AuthStrategyDisplayName'
        strategy_type:
          type: string
          enum:
          - openid_connect
        configs:
          description: JSON-B object containing the configuration for the OIDC strategy
          type: object
          additionalProperties: false
          properties:
            openid-connect:
              $ref: '#/components/schemas/AppAuthStrategyConfigOpenIDConnect'
          required:
          - openid-connect
        dcr_provider_id:
          type: string
          format: uuid
          nullable: true
        labels:
          $ref: '#/components/schemas/Labels'
      additionalProperties: false
      required:
      - name
      - display_name
      - strategy_type
      - configs
      title: AppAuthStrategyOpenIDConnectRequest
    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
    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
    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
    GetAppAuthStrategyResponse:
      $ref: '#/components/schemas/AppAuthStrategy'
    UpdateAppAuthStrategyRequestOpenIdConnect:
      type: object
      properties:
        openid-connect:
          $ref: '#/components/schemas/PartialAppAuthStrategyConfigOpenIDConnect'
      additionalProperties: false
      required:
      - openid-connect
    AppAuthStrategyConfigOpenIDConnect:
      description: "A more advanced mode to configure an API Product Version’s Application Auth Strategy. \nUsing this mode will allow developers to use API credentials issued from an external IdP that will authenticate their application requests. \nOnce authenticated, an application will be granted access to any Product Version it is registered for that is configured for the same Auth Strategy. \nAn OIDC strategy may be used in conjunction with a DCR provider to automatically create the IdP application.\n"
      type: object
      properties:
        issuer:
          type: string
          format: url
          maxLength: 256
        credential_claim:
          type: array
          items:
            type: string
            maxLength: 128
          maxItems: 10
        scopes:
          type: array
          items:
            type: string
            maxLength: 128
          maxItems: 50
        auth_methods:
          type: array
          items:
            type: string
            maxLength: 64
          maxItems: 10
      additionalProperties: true
      required:
      - issuer
      - credential_claim
      - scopes
      - auth_methods
      title: AppAuthStrategyConfigOpenIDConnect
    LabelsUpdate:
      description: "Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. \n\nLabels are intended to store **INTERNAL** metadata.\n\nKeys must be of length 1-63 characters, and cannot start with \"kong\", \"konnect\", \"mesh\", \"kic\", or \"_\".\n"
      type: object
      example:
        env: test
      additionalProperties:
        type: string
        pattern: ^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$
        minLength: 1
        maxLength: 63
        nullable: true
      maxProperties: 50
      nullable: true
      writeOnly: true
    UpdateAppAuthStrategyRequestKeyAuth:
      type: object
      properties:
        key-auth:
          $ref: '#/components/schemas/PartialAppAuthStrategyConfigKeyAuth'
      additionalProperties: false
      required:
      - key-auth
    AppAuthStrategyConfigKeyAuth:
      description: "The most basic mode to configure an Application Auth Strategy for an API Product Version. \nUsing this mode will allow developers to generate API keys that will authenticate their application requests. \nOnce authenticated, an application will be granted access to any Product Version it is registered for that is configured for Key Auth.\n"
      type: object
      properties:
        key_names:
          description: The names of the headers containing the API key. You can specify multiple header names.
          type: array
          items:
            type: string
            maxLength: 256
          maxItems: 10
          minItems: 1
        ttl:
          description: Default maximum Time-To-Live for keys created under this strategy.
          type: object
          properties:
            value:
              type: integer
              minimum: 1
            unit:
              type: string
              enum:
              - days
              - weeks
              - years
              x-speakeasy-unknown-values: allow
          required:
          - value
          - unit
      additionalProperties: false
      title: AppAuthStrategyConfigKeyAuth
    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
    AppAuthStrategyKeyAuthResponse:
      description: Response payload from creating or updating a Key Auth Application Auth Strategy
      type: object
      properties:
        id:
          $ref: '#/components/schemas/UUID'
        name:
          $ref: '#/components/schemas/AuthStrategyName'
        display_name:
          $ref: '#/components/schemas/AuthStrategyDisplayName'
        strategy_type:
          type: string
          enum:
          - key_auth
        configs:
          description: JSON-B object containing the configuration for the Key Auth strategy
          type: object
          additionalProperties: false
          properties:
            key-auth:
              $ref: '#/components/schemas/AppAuthStrategyConfigKeyAuth'
          required:
          - key-auth
        active:
          description: At least one published entity is using this auth strategy.
          type: boolean
        dcr_provider:
          type: object
          additionalProperties: false
          nullable: true
          properties:
            id:
              $ref: '#/components/schemas/UUID'
            name:
              type: string
            display_name:
              $ref: '#/components/schemas/DcrProviderDisplayName'
            provider_type:
              description: The type of DCR provider.
              type: string
              enum:
              - auth0
              - azureAd
              - curity
              - okta
              - http
              x-speakeasy-unknown-values: allow
          required:
          - id
          - name
          - provider_type
        labels:
          $ref: '#/components/schemas/Labels'
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
        supports_multiple_credentials:
          description: 'Indicates whether this auth strategy supports multiple credentials.

            Always `true` for KEY_AUTH.

            '
          type: boolean
          default: true
          readOnly: true
      additionalProperties: false
      required:
      - id
      - name
      - display_name
      - strategy_type
      - configs
      - active
      - dcr_provider
      - labels
      - created_at
      - updated_at
      title: AppAuthStrategyKeyAuthResponse
    PartialAppAuthStrategyConfigKeyAuth:
      description: 'Key Auth configuration for updating an Application Auth Strategy.

        The ttl field can be set to null to unset the Time-To-Live.

        '
      type: object
      properties:
        key_names:
          description: The names of the headers containing the API key. You can specify multiple header names.
          type: array
          items:
            type: string
            maxLength: 256
          maxItems: 10
          minItems: 1
        ttl:
          description: Default maximum Time-To-Live for keys created under this strategy. Set to null to unset.
          type: object
          nullable: true
          properties:
            value:
              type: integer
              minimum: 1
            unit:
              type: string
              enum:
              - days
              - weeks
              - years
              x-speakeasy-unknown-values: allow
          required:
          - value
          - unit
      additionalProperties: false
      title: PartialAppAuthStrategyConfigKeyAuth
    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
    AuthStrategyName:
      description: 'The name of the auth strategy. This is used to identify the auth strategy in the Konnect UI.

        '
      type: string
      maxLength: 256
      minLength: 1
    UpdateAppAuthStrategyResponse:
      $ref: '#/components/schemas/AppAuthStrategy'
    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
    DcrProviderDisplayName:
      description: 'The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.

        '
      type: string
      maxLength: 256
      minLength: 1
    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
    CreateAppAuthStrategyRequest:
      x-speakeasy-entity: ApplicationAuthStrategy
      description: Request body for creating an Application Auth Strategy
      type: object
      discriminator:
        propertyName: strategy_type
        mapping:
          key_auth: '#/components/schemas/AppAuthStrategyKeyAuthRequest'
          openid_connect: '#/components/schemas/AppAuthStrategyOpenIDConnectRequest'
      oneOf:
      - $ref: '#/components/schemas/AppAuthStrategyKeyAuthRequest'
      - $ref: '#/components/schemas/AppAuthStrategyOpenIDConnectRequest'
      required:
      - strategy_type
      title: CreateAppAuthStrategyRequest
    Labels:
      description: "Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. \n\nKeys must be of length 1-63 characters, and cannot start with \"kong\", \"konnect\", \"mesh\", \"kic\", or \"_\".\n"
      type: object
      example:
        env: test
      additionalProperties:
        type: string
        pattern: ^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$
        minLength: 1
        maxLength: 63
      maxProperties: 50
      title: Labels
    PartialAppAuthStrategyConfigOpenIDConnect:
      description: "A more advanced mode to configure an API Product Version’s Application Auth Strategy. \nUsing this mode will allow developers to use API credentials issued from an external IdP that will authenticate their application requests. \nOnce authenticated, an application will be granted access to any Product Version it is registered for that is configured for the same Auth Strategy. \nAn OIDC strategy may be used in conjunction with a DCR provider to automatically create the IdP application.\n"
      type: object
      properties:
        issuer:
          type: string
          format: url
          maxLength: 256
        credential_claim:
          type: array
          items:
            type: string
            maxLength: 128
          maxItems: 10
        scopes:
          type: array
          items:
            type: string
            maxLength: 128
          maxItems: 50
        auth_methods:
          type: array
          items:
            type: string
            maxLength: 64
          maxItems: 10
      additionalProperties: true
      title: PartialAppAuthStrategyConfigOpenIDConnect
    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
    ForbiddenError:
      allOf:
      - $ref: '#/components/schemas/BaseError'
      - type: object
        properties:
          status:
            example: 403
          title:
            example: Forbidden
          type:
            example: https://httpstatuses.com/403
          instance:
            example: kong:trace:1234567890
          detail:
            example: Forbidden
    AuthStrategyDisplayName:
      description: 'The display name of the Auth strategy. This is used to identify the Auth strategy in the Portal UI.

        '
      type: string
      maxLength: 256
    ListAppAuthStrategiesResponse:
      description: A paginated list response for a collection of Application Auth Strategies
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AppAuthStrategy'
        meta:
          $ref: '#/components/schemas/PaginatedMeta'
      additionalProperties: false
      required:
      - data
      - meta
      title: ListAppAuthStrategiesResponse
    InvalidParameterDependentItem:
      type: object
      properties:
        field:
          type: string
          example: name
          readOnly: true
        rule:
          description: invalid parameters rules
          type: string
          enum:
          - dependent_fields
          nullable: true
          readOnly: true
        reason:
          type: string
          example: is a required field
          readOnly: true
        dependents:
          type: array
          items: {}
          nullable: true
          readOnly: true
          uniqueItems: true
        source:
          type: string
          example: body
      additionalProperties: false
      required:
      - field
      - rule
      - reason
      - dependents
    UpdateAppAuthStrategyRequest:
      x-speakeasy-entity: ApplicationAuthStrategy
      description: Request body for updating an Application Auth Strategy
      type: object
      properties:
        name:
          $ref: '#/components/schemas/AuthStrategyName'
        display_name:
          $ref: '#/components/schemas/AuthStrategyDisplayName'
        labels:
          $ref: '#/components/schemas/LabelsUpdate'
        dcr_provider_id:
          type: string
          format: uuid
          nullable: true
        configs:
          description: JSON-B object containing the configuration for the OIDC strategy under the key 'openid-connect' or the configuration for the Key Auth strategy under the key 'key-auth'
          type: object
          oneOf:
          - $ref: '#/components/schemas/UpdateAppAuthStrategyRequestOpenIdConnect'
          - $ref: '#/components/schemas/UpdateAppAuthStrategyRequestKeyAuth'
      additionalProperties: false
      title: UpdateAppAuthStrategyRequest
    AppAuthStrategyOpenIDConnectResponse:
      description: Response payload from creating an OIDC Application Auth Strategy
      type: object
      properties:
        id:
          $ref: '#/components/schemas/UUID'
        name:
          $ref: '#/components/schemas/AuthStrategyName'
        display_name:
          $ref: '#/components/schemas/AuthStrategyDisplayName'
        strategy_type:
          type: string
          enum:
          - openid_connect
        configs:
          description: JSON-B object containing the configuration for the OIDC strategy
       

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kong/refs/heads/main/openapi/kong-app-auth-strategies-api-openapi.yml