openapi: 3.1.0
info:
contact:
email: support@konghq.com
name: Kong Inc
url: https://konghq.com
description: 'OpenAPI 3.0 spec for Kong Gateway''s Admin API.
You can learn more about Kong Gateway at [developer.konghq.com](https://developer.konghq.com).
Give Kong a star at the [Kong/kong](https://github.com/kong/kong) repository.'
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: Kong Enterprise Admin ACLs Auth Settings API
version: 3.14.0
servers:
- description: Default Admin API URL
url: '{protocol}://{hostname}:{port}{path}'
variables:
hostname:
default: localhost
description: Hostname for Kong's Admin API
path:
default: /
description: Base path for Kong's Admin API
port:
default: '8001'
description: Port for Kong's Admin API
protocol:
default: http
description: Protocol for requests to Kong's Admin API
enum:
- http
- https
security:
- adminToken: []
tags:
- name: Auth Settings
paths:
/v3/authentication-settings:
get:
x-speakeasy-entity-operation:
terraform-resource: AuthenticationSettings#read
terraform-datasource: null
operationId: get-authentication-settings
summary: Get Auth Settings
description: Returns authentication configuration, which determines how users can log in and how they are assigned to teams.
responses:
'200':
$ref: '#/components/responses/AuthenticationSettings'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
patch:
x-speakeasy-entity-operation: AuthenticationSettings#create,update
operationId: update-authentication-settings
summary: Update Auth Settings
description: Updates authentication configuration.
requestBody:
$ref: '#/components/requestBodies/UpdateAuthenticationSettings'
responses:
'200':
$ref: '#/components/responses/AuthenticationSettings'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
/v3/identity-provider:
get:
operationId: get-idp-configuration
summary: Get the IdP Configuration
description: Fetch the IdP configuration.
responses:
'200':
$ref: '#/components/responses/IdPConfiguration'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
patch:
operationId: update-idp-configuration
summary: Update IdP Configuration
description: Update the IdP configuration.
requestBody:
$ref: '#/components/requestBodies/UpdateIdPConfiguration'
responses:
'200':
$ref: '#/components/responses/IdPConfiguration'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
/v3/identity-provider/team-group-mappings:
get:
operationId: get-team-group-mappings
summary: Get a Team Group Mappings
description: 'Retrieves the mappings between Konnect Teams and Identity Provider Groups.
Returns a 400 error if an Identity Provider has not yet been configured.'
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/TeamGroupMappingCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
patch:
operationId: patch-team-group-mappings
summary: Patch Mappings by Team ID
description: 'Allows partial updates to the mappings between Konnect Teams and Identity Provider Groups.
The request body must be keyed on team ID. For a given team ID, the given group list is a
complete replacement. To remove all mappings for a given team, provide an empty group list.
Returns a 400 error if an Identity Provider has not yet been configured, or if a team ID in
the request body is not found or is not a UUID.'
requestBody:
$ref: '#/components/requestBodies/PatchTeamGroupMappings'
responses:
'200':
$ref: '#/components/responses/TeamGroupMappingCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
/v3/identity-provider/team-mappings:
put:
operationId: update-idp-team-mappings
summary: Update Team Mappings
description: Updates the IdP group to Konnect team mapping.
requestBody:
$ref: '#/components/requestBodies/UpdateTeamMappings'
responses:
'200':
$ref: '#/components/responses/TeamMappingCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
'412':
$ref: '#/components/responses/PreconditionFailed'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
get:
operationId: get-idp-team-mappings
summary: Get a Team Mapping
description: Fetch the IdP group to Konnect team mapping.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/TeamMappingResponse'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
'412':
$ref: '#/components/responses/PreconditionFailed'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
/v3/identity-providers:
get:
operationId: get-identity-providers
summary: List Identity Providers
description: 'Retrieves the identity providers available within the organization. This operation provides information about
various identity providers for SAML or OIDC authentication integrations.
'
parameters:
- name: filter
in: query
description: Filter identity providers returned in the response.
required: false
schema:
type: object
properties:
type:
$ref: '#/components/schemas/StringFieldEqualsFilter'
style: deepObject
responses:
'200':
$ref: '#/components/responses/IdentityProviders'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
post:
x-speakeasy-entity-operation: IdentityProvider#create
operationId: create-identity-provider
summary: Create Identity Provider
description: 'Creates a new identity provider. This operation allows the creation of a new identity provider for
authentication purposes.
'
requestBody:
$ref: '#/components/requestBodies/CreateIdentityProviderRequest'
responses:
'201':
$ref: '#/components/responses/IdentityProvider'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/CreateIdentityProviderPermissionDenied'
'409':
$ref: '#/components/responses/Conflict'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
/v3/identity-providers/{id}:
parameters:
- name: id
in: path
description: ID of the identity provider.
required: true
schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
get:
x-speakeasy-entity-operation:
terraform-resource: IdentityProvider#read
terraform-datasource: null
operationId: get-identity-provider
summary: Get Identity Provider
description: 'Retrieves the configuration of a single identity provider. This operation returns information about a
specific identity provider''s settings and authentication integration details.
'
responses:
'200':
$ref: '#/components/responses/IdentityProvider'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
patch:
x-speakeasy-entity-operation: IdentityProvider#update
operationId: update-identity-provider
summary: Update Identity Provider
description: 'Updates the configuration of an existing identity provider. This operation allows modifications to be made
to an existing identity provider''s configuration.
'
requestBody:
$ref: '#/components/requestBodies/UpdateIdentityProviderRequest'
responses:
'200':
$ref: '#/components/responses/IdentityProvider'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/Conflict'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
delete:
x-speakeasy-entity-operation: IdentityProvider#delete
operationId: delete-identity-provider
summary: Delete Identity Provider
description: 'Deletes an existing identity provider configuration. This operation removes a specific identity provider
from the organization.
'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
/v3/identity-providers/{idpId}/team-group-mappings:
parameters:
- name: idpId
in: path
description: ID of the identity provider.
required: true
schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
get:
operationId: list-idp-team-group-mappings
summary: List Team Group Mappings
description: 'Returns a paginated list of team group mappings for the specified identity provider.
Mappings define the relationship between identity provider groups and Konnect teams.
'
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageAfter'
- $ref: '#/components/parameters/PageBefore'
- name: filter
in: query
description: Filter mappings by team ID or group name.
required: false
schema:
type: object
properties:
team_id:
$ref: '#/components/schemas/StringFieldEqualsFilter'
group:
$ref: '#/components/schemas/StringFieldEqualsFilter'
style: deepObject
responses:
'200':
$ref: '#/components/responses/IdpTeamGroupMappingsCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
post:
x-speakeasy-entity-operation:
terraform-resource: IdentityProviderTeamGroupMapping#create
terraform-datasource: null
operationId: create-idp-team-group-mapping
summary: Create Team Group Mapping
description: 'Creates a new team group mapping for the specified identity provider.
A mapping associates an identity provider group with a Konnect team.
'
requestBody:
$ref: '#/components/requestBodies/CreateIdpTeamGroupMappingRequest'
responses:
'201':
$ref: '#/components/responses/IdpTeamGroupMapping'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/Conflict'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
/v3/identity-providers/{idpId}/team-group-mappings/{id}:
parameters:
- name: idpId
in: path
description: ID of the identity provider.
required: true
schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
- name: id
in: path
description: ID of the team group mapping.
required: true
schema:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
get:
x-speakeasy-entity-operation:
terraform-resource: IdentityProviderTeamGroupMapping#read
terraform-datasource: null
operationId: get-idp-team-group-mapping
summary: Get Team Group Mapping
description: Returns the team group mapping for the specified ID.
responses:
'200':
$ref: '#/components/responses/IdpTeamGroupMapping'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
delete:
x-speakeasy-entity-operation:
terraform-resource: IdentityProviderTeamGroupMapping#delete
terraform-datasource: null
operationId: delete-idp-team-group-mapping
summary: Delete Team Group Mapping
description: 'Deletes a team group mapping by ID.
Returns 204 if the mapping was deleted, or 404 if the mapping was not found.
'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
servers:
- url: https://global.api.konghq.com/
tags:
- Auth Settings
components:
schemas:
IdentityProvider:
x-speakeasy-entity: IdentityProvider
description: The identity provider that contains configuration data for authentication integration.
type: object
properties:
id:
$ref: '#/components/schemas/UUID'
type:
$ref: '#/components/schemas/IdentityProviderType'
enabled:
$ref: '#/components/schemas/IdentityProviderEnabled'
login_path:
$ref: '#/components/schemas/IdentityProviderLoginPath'
config:
type: object
oneOf:
- $ref: '#/components/schemas/OIDCIdentityProviderConfig'
- $ref: '#/components/schemas/SAMLIdentityProviderConfig'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
title: Identity Provider
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
IdP:
description: 'The IdP object contains the configuration data for the OIDC authentication integration.
NOTE: The `openid` scope is required. Removing it could break the OIDC integration.'
type: object
properties:
issuer:
type: string
format: uri
example: https://myidp.com/oauth2
login_path:
type: string
example: myapp
client_id:
type: string
example: YOUR_CLIENT_ID
scopes:
type: array
items:
type: string
default:
- email
- openid
- profile
claim_mappings:
type: object
minProperties: 3
properties:
name:
type: string
example: name
default: name
email:
type: string
example: email
default: email
groups:
type: string
example: custom-groups-claim
default: groups
title: IdP Configuration
IdpTeamGroupMapping:
description: A mapping between a Konnect team and an identity provider group.
type: object
properties:
id:
$ref: '#/components/schemas/UUID'
team_id:
description: The Konnect team ID.
type: string
format: uuid
example: 6801e673-cc10-498a-94cd-4271de07a0d3
group:
description: The identity provider group name. Group names are case sensitive.
type: string
example: Tech Leads
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- id
- team_id
- group
- created_at
- updated_at
title: IdpTeamGroupMapping
SAMLIdentityProviderMetadata:
description: 'The identity provider''s SAML metadata. If the identity provider supports a metadata URL, you can use the `idp_metadata_url` field instead.
'
type: string
example: "\n\n \n\n"
title: SAML Identity Provider Metadata
StringFieldEqualsFilter:
description: Filters on the given string field value by exact match.
properties:
eq:
type: string
title: StringFieldEqualsFilter
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
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
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
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
OIDCIdentityProviderClaimMappings:
description: "Defines the mappings between OpenID Connect (OIDC) claims and local claims used by your application for \nauthentication.\n"
type: object
properties:
name:
description: The claim mapping for the user's name.
type: string
example: name
default: name
email:
description: The claim mapping for the user's email address.
type: string
example: email
default: email
groups:
description: The claim mapping for the user's group membership information.
type: string
example: groups
default: groups
title: OIDC Claim Mappings
OIDCIdentityProviderScopes:
description: The scopes requested by your application when authenticating with the identity provider.
type: array
items:
type: string
default:
- email
- openid
- profile
title: OIDC Identity Provider Scopes Property
IdentityProviderLoginPath:
description: The path used for initiating login requests with the identity provider.
type: string
example: myapp
title: Identity Provider Login Path Property
UpdateIdentityProvider:
x-speakeasy-entity: IdentityProvider
description: The identity provider that contains configuration data for updating an authentication integration.
type: object
properties:
enabled:
$ref: '#/components/schemas/IdentityProviderEnabled'
login_path:
$ref: '#/components/schemas/IdentityProviderLoginPath'
config:
type: object
oneOf:
- $ref: '#/components/schemas/OIDCIdentityProviderConfig'
- $ref: '#/components/schemas/SAMLIdentityProviderConfig'
title: Identity Provider
CreateIdentityProvider:
x-speakeasy-entity: IdentityProvider
description: The identity provider that contains configuration data for creating an authentication integration.
type: object
properties:
type:
$ref: '#/components/schemas/IdentityProviderType'
enabled:
$ref: '#/components/schemas/IdentityProviderEnabled'
login_path:
$ref: '#/components/schemas/IdentityProviderLoginPath'
config:
type: object
oneOf:
- $ref: '#/components/schemas/OIDCIdentityProviderConfig'
- $ref: '#/components/schemas/SAMLIdentityProviderConfig'
title: Identity Provider
UUID:
description: Contains a unique identifier used for this resource.
type: string
format: uuid
example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7
readOnly: true
TeamMapping:
description: A team assignment is a mapping of an IdP group to a Konnect Team.
type: object
properties:
group:
description: The IdP group.
type: string
example: Service Developers
team_ids:
description: An array of ID's that are mapped to the specified group.
type: array
items:
type: string
format: uuid
example: 6801e673-cc10-498a-94cd-4271de07a0d3
uniqueItems: true
example:
group: Service Developers
team_ids:
- 6801e673-cc10-498a-94cd-4271de07a0d3
title: TeamMapping
TeamGroupMapping:
description: A map of Konnect Team to IdP groups.
type: object
properties:
team_id:
description: The Konnect team ID.
type: string
format: uuid
example: 6801e673-cc10-498a-94cd-4271de07a0d3
groups:
description: The IdP groups that are mapped to the specified team.
type: array
items:
type: string
example: API Engineers
uniqueItems: true
example:
team_id: 6801e673-cc10-498a-94cd-4271de07a0d3
groups:
- Tech Leads
- API Engineers
title: TeamGroupMapping
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
CursorMetaPage:
type: object
properties:
first:
description: URI to the first page
type: string
format: path
last:
description: URI to the last page
type: string
format: path
next:
description: URI to the next page
type: string
format: path
nullable: true
previous:
description: URI to the previous page
type: string
format: path
nullable: true
size:
description: Requested page size
type: number
example: 10
required:
- size
- next
- previous
SAMLIdentityProviderMetadataURL:
description: The identity provider's metadata URL where the identity provider's metadata can be obtained.
type: string
format: uri
example: https://mocksaml.com/api/saml/metadata
title: SAML Identity Provider Metadata URL
CursorMeta:
description: Pagination metadata.
type: object
properties:
page:
$ref: '#/components/schemas/CursorMetaPage'
required:
- page
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
OIDCIdentityProviderClientSecret:
description: The Client Secret assigned to your application by the identity provider.
type: string
example: YOUR_CLIENT_SECRET
title: OIDC Identity Provider Login Client Secret Property
writeOnly: true
x-speakeasy-param-sensitive: true
x-speakeasy-terraform-plan-only: true
PaginatedMeta:
description: returns the pagination information
type: object
properties:
page:
$ref: '#/components/schemas/PageMeta'
required:
- page
title: PaginatedMeta
x-speakeasy-terraform-ignore: true
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
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:. 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
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
InvalidRules:
description: invalid parameters rules
type: string
enum:
- required
- is_array
- is_base64
- is_boolean
- is_date_time
- is_integer
- is_null
- is_number
- is_object
- is_string
- is_uuid
- is_fqdn
- is_arn
- unknown_property
- missing_reference
- is_label
- matches_regex
- invalid
- is_supported_network_availability_zone_list
- is_supported_network_cidr_block
- is_supported_provider_region
- type
nullable: true
readOnly: true
x-speakeasy-unknown-values: allow
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
BadRequestError:
allOf:
- $ref: '#/components/schemas/BaseError'
- type: object
required:
- invalid_parameters
properties:
invalid_parameters:
$ref: '#/components/schemas/InvalidParameters'
IdentityProviderEnabled:
description: 'Indicates whether the identity provider is enabled.
Only one identity provider can be active at a time, such as SAML or OIDC.
'
type: boolean
example: true
default: false
title: Identity Provider Enabled Property
IdentityProviderType:
description: Specifies the type of identity provider.
type: string
example: oidc
enum:
- oidc
- saml
x-speakeasy-unknown-values: allow
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
SAMLIdentityProviderConfig:
description: The identity provider that contains configuration data for the SAML authentication integration.
type: object
properties:
idp_metadata_url:
$ref: '#/components/schemas/SAMLIdentityProviderMetadataURL'
idp_metadata_xml:
$ref: '#/components/schemas/SAMLIdentityProviderMetadata'
sp_metadata_url:
type: string
format: path
example: /api/v2/developer/authenticate/saml/metadata
readOnly: true
sp_entity_id:
description: The entity ID of the service provider (SP).
type: string
example: https://cloud.konghq.com/sp/00000000-0000-0000-0000-000000000000
readOnly: true
login_url:
description: The URL to redirect users to for initiating login with the identity provider.
type: string
example: https://cloud.konghq.com/login/the-saml-konnect-org
readOnly: true
callback_url:
description: The path URL where the SAML identity provider sends authentication responses after successful login attempts.
type: string
format: path
example: /api/v2/developer/authenticate/saml/acs
readOnly: true
additionalProperties: false
title: SAML Identity Provider Config
OIDCIdentityProviderConfig:
description: The identity provider that contains configuration data for the OIDC authentication integration.
type: object
properties:
issuer_url:
$ref: '#/components/schemas/OIDCIdentityProviderIssuer'
client_id:
$ref: '#/components/schemas/OIDCIdentityProviderClientId'
client_secret:
$ref: '#/components/schemas/OIDCIdentityProviderClientSecret'
scopes:
$ref: '#/components/schemas/OIDCIdentityProviderScopes'
claim_mappings:
$ref: '#/components/schemas/OIDCIdentityProviderClaimMappings'
additionalProperties: false
required:
- issuer_url
- client_id
title: OIDC Identity Provider Config
OIDCIdentityProviderClientId:
description: The client ID assigned to your application by the identity provider.
type: string
example: YOUR_CLIENT_ID
title: OIDC Identity Provider Login Client Id Property
OIDCIdentityProviderIssuer:
description: The issuer URI of the identity provider. This is the URL where the provider's metadata can be obtained.
type: string
format: uri
example: https://konghq.okta.com/oauth2/default
title: OIDC Identity Provider Issuer Property
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
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
responses:
IdentityPermissionDenied:
description: Permission denied
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
IdentityProviders:
description: 'A collection of identity providers. This response contains a collection of identity providers, which may include both OIDC and SAML identity providers.
'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IdentityProvider'
title: Identity Provider Collection Response
Conflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
AuthenticationSettings:
description: Response for authentication settings endpoint
content:
application/json:
schema:
type: object
properties:
basic_auth_enabled:
description: The organization has basic auth enabled.
type: boolean
example: true
oidc_auth_enabled:
description: The organization has OIDC disabled.
type: boolean
example: false
saml_auth_enabled:
description: The organization has SAML disabled.
type: boolean
example: false
idp_mapping_enabled:
description: IdP groups determine the Konnect teams a user has.
type: boolean
example: true
konnect_mapping_enabled:
description: A Konnect Identity Admin assigns teams to a user.
type: boolean
example: false
title: Authentication Settings Response
CreateIdentityProviderPermissionDenied:
description: Permission denied
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
IdpTeamGroupMappingsCollection:
description: A paginated collection of IDP team group mappings.
content:
application/json:
schema:
type: object
properties:
meta:
$ref: '#/components/schemas/CursorMeta'
data:
type: array
items:
$ref: '#/components/schemas/IdpTeamGroupMapping'
IdentityUnauthenticated:
description: Unauthenticated
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
IdpTeamGroupMapping:
description: A single team group mapping.
content:
application/json:
schema:
$ref: '#/components/schemas/IdpTeamGroupMapping'
Unauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
description: The error response object.
type: object
properties:
status:
description: The HTTP status code.
type: integer
example: 403
title:
description: The Error Response.
type: string
example: Unauthorized
instance:
description: The Konnect traceback code.
type: string
example: konnect:trace:952172606039454040
detail:
description: Details about the error response.
type: string
example: You do not have permission to perform this action
$ref: '#/components/schemas/UnauthorizedError'
title: Unauthorized Response
IdPConfiguration:
description: A get action response of the IdP configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/IdP'
TeamGroupMappingCollection:
description: A paginated collection of mappings grouped by team_id.
content:
application/json:
schema:
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/TeamGroupMapping'
title: Team Group Mapping Collection Response
IdentityBadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
IdentityNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
IdentityProvider:
description: 'An identity provider configuration. This response represents the configuration of a specific identity provider, which can be either OIDC or SAML.
'
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityProvider'
TeamMappingResponse:
description: A paginated list response for a collection of team mappings.
content:
application/json:
schema:
type: object
properties:
meta:
description: Contains pagination data.
type: object
properties:
page:
description: The page object.
type: object
properties:
number:
description: Page number.
type: integer
example: 1
size:
description: Page size.
type: integer
example: 9
total:
description: Total number of results.
type: integer
example: 5
data:
type: array
items:
type: object
properties:
group:
description: Group names.
type: string
example: 111(@&*$)(@*#_@(gfds re gdsf dfg
team_ids:
description: Team ID's that belong to the specified group.
type: array
items:
type: string
example: 3df49db8-39ff-490d-9fe1-251a3361fb13
title: Team Mapping Response
TeamMappingCollection:
description: A paginated list response for a collection of team mappings.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TeamMapping'
title: Team Mapping Collection Response
PreconditionFailed:
description: Precondition Failed
content:
application/problem+json:
schema:
description: The error response object.
type: object
properties:
status:
description: The HTTP status code.
type: integer
example: 412
title:
description: The error response code.
type: string
example: Precondition Failed
instance:
description: The Konnect traceback code.
type: string
example: konnect:trace:1896611024257578096
detail:
description: Details about the error response.
type: string
example: IdP configuration not found
title: Precondition Failed Response
parameters:
PageAfter:
name: page[after]
description: Request the next page of data, starting with the item after this parameter.
required: false
in: query
allowEmptyValue: true
schema:
type: string
example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ
PageSize:
name: page[size]
description: The maximum number of items to include per page. The last page of a collection may include fewer items.
required: false
in: query
allowEmptyValue: true
schema:
type: integer
example: 10
x-speakeasy-terraform-ignore: true
PageNumber:
name: page[number]
description: Determines which page of the entities to retrieve.
required: false
in: query
allowEmptyValue: true
schema:
type: integer
example: 1
x-speakeasy-terraform-ignore: true
PageBefore:
name: page[before]
description: Request the next page of data, starting with the item before this parameter.
required: false
in: query
allowEmptyValue: true
schema:
type: string
example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ
requestBodies:
UpdateTeamMappings:
content:
application/json:
schema:
type: object
properties:
mappings:
description: The mappings object.
type: array
items:
type: object
properties:
group:
type: string
team_ids:
type: array
items:
type: string
example:
mappings:
- group: Service Developers
team_ids:
- af91db4c-6e51-403e-a2bf-33d27ae50c0a
description: The request schema for updating IdP team mappings.
PatchTeamGroupMappings:
content:
application/json:
schema:
type: object
properties:
data:
description: The IdP groups to map to the given team.
type: array
items:
type: object
properties:
team_id:
type: string
format: uuid
groups:
type: array
items:
type: string
example:
data:
- team_id: af91db4c-6e51-403e-a2bf-33d27ae50c0a
groups:
- Service Developers
description: The request schema for a partial update of mappings from Konnect Teams to IdP Groups.
UpdateIdPConfiguration:
content:
application/json:
schema:
type: object
properties:
issuer:
type: string
format: uri
example: https://myidp.com/oauth2
login_path:
type: string
example: myapp
client_id:
type: string
example: YOUR_CLIENT_ID
client_secret:
type: string
example: YOUR_CLIENT_SECRET
scopes:
type: array
items:
type: string
default: openid
default:
- email
- openid
- profile
claim_mappings:
type: object
minProperties: 3
properties:
name:
type: string
example: name
default: name
email:
type: string
example: email
default: email
groups:
type: string
example: custom-group-claim
default: groups
description: The request schema for the update IdP configuration request.
UpdateIdentityProviderRequest:
description: 'An object representing the configuration for updating an identity provider. This configuration may pertain to either an OIDC or a SAML identity provider.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateIdentityProvider'
UpdateAuthenticationSettings:
description: The request schema to update an organization's authentication settings.
content:
application/json:
schema:
type: object
properties:
basic_auth_enabled:
description: The organization has basic auth enabled.
type: boolean
example: true
oidc_auth_enabled:
description: The organization has OIDC disabled.
type: boolean
example: false
saml_auth_enabled:
description: The organization has SAML disabled.
type: boolean
example: false
idp_mapping_enabled:
description: Whether IdP groups determine the Konnect teams a user has.
type: boolean
example: true
konnect_mapping_enabled:
description: Whether a Konnect Identity Admin assigns teams to a user.
type: boolean
example: false
CreateIdentityProviderRequest:
description: 'An object representing the configuration for creating a new identity provider. This configuration may pertain to either an OIDC or a SAML identity provider.
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateIdentityProvider'
CreateIdpTeamGroupMappingRequest:
description: Request to create an IDP team group mapping.
required: true
content:
application/json:
schema:
type: object
properties:
team_id:
description: The Konnect team ID to associate with the identity provider group.
type: string
format: uuid
example: 6801e673-cc10-498a-94cd-4271de07a0d3
group:
description: The identity provider group name. Group names are case sensitive.
type: string
example: Tech Leads
required:
- team_id
- group
securitySchemes:
adminToken:
in: header
name: Kong-Admin-Token
type: apiKey
externalDocs:
description: Documentation for Kong Gateway and its APIs
url: https://developer.konghq.com