openapi: 3.1.0
info:
title: Konnect API - Go SDK
version: 0.0.1
description: The Konnect platform API
contact:
name: Kong Inc
url: https://konghq.com
email: support@konghq.com
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
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: Control Planes
- name: Control Plane Groups
- name: Auth Settings
- name: Invites
- name: Roles
- name: Team Membership
- name: Teams
- name: Users
- name: System Accounts
- name: System Accounts - Access Tokens
- name: System Accounts - Roles
- name: System Accounts - Team Membership
- name: Me
- name: Authentication
- name: Impersonation Settings
- name: Data-Plane Group Configurations
- name: Networks
- name: Transit Gateways
- name: Provider Accounts
- name: Custom Domains
- name: Cloud Gateways Resource Quotas
- name: Resource Configurations
- name: Resource Availability
- name: Notifications
description: Operations related to notifications
- name: DCR Providers
description: >
Dynamic Client Registration Providers are configurations representing an
external Identity Provider whose clients (i.e. Applications) Konnect will
be authorized to manage.
For instance, they will be able to perform dynamic client registration
(DCR) with the provider.
The DCR provider provides credentials to each DCR-enabled application in
Konnect that can be used to access Product Versions that the app is
registered for.
- 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.
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.
- description: DP Nodes
name: DP Nodes
- description: DP Certificates
name: DP Certificates
- description: Custom Plugin Schemas
name: Custom Plugin Schemas
- description: Config Stores
name: Config Stores
- description: Config Store Secrets
name: Config Store Secrets
- name: CustomPlugins
- description: >
Service entities are abstractions of your microservice interfaces or
formal APIs. For example, a service could be a data transformation
microservice or a billing API.
The main attribute of a service is the destination URL for proxying
traffic. This URL can be set as a single string or by specifying its
protocol, host, port and path individually.
Services are associated to routes, and a single service can have many
routes associated with it. Routes are entrypoints in Kong Gateway which
define rules to match client requests. Once a route is matched, Kong
Gateway proxies the request to its associated service. See the [Proxy
Reference](https://docs.konghq.com/gateway/latest/how-kong-works/routing-traffic/)
for a detailed explanation of how Kong proxies traffic.
Services can be both [tagged and filtered by
tags](https://docs.konghq.com/gateway/latest/admin-api/#tags).
name: Services
- description: >
Route entities define rules to match client requests. Each route is
associated with a service, and a service may have multiple routes
associated to it. Every request matching a given route will be proxied to
the associated service. You need at least one matching rule that applies
to the protocol being matched by the route.
The combination of routes and services, and the separation of concerns
between them, offers a powerful routing mechanism with which it is
possible to define fine-grained entrypoints in Kong Gateway leading to
different upstream services of your infrastructure.
Depending on the protocol, one of the following attributes must be set:
- `http`: At least one of `methods`, `hosts`, `headers`, or `paths`
- `https`: At least one of `methods`, `hosts`, `headers`, `paths`, or
`snis`
- `tcp`: At least one of `sources` or `destinations`
- `tls`: at least one of `sources`, `destinations`, or `snis`
- `tls_passthrough`: set `snis`
- `grpc`: At least one of `hosts`, `headers`, or `paths`
- `grpcs`: At least one of `hosts`, `headers`, `paths`, or `snis`
- `ws`: At least one of `hosts`, `headers`, or `paths`
- `wss`: At least one of `hosts`, `headers`, `paths`, or `snis`
A route can't have both `tls` and `tls_passthrough` protocols at same time.
Learn more about the router:
- [Configure routes using
expressions](https://docs.konghq.com/gateway/latest/key-concepts/routes/expressions)
- [Router Expressions language
reference](https://docs.konghq.com/gateway/latest/reference/router-expressions-language/)
name: Routes
- name: Degraphql_routes
- description: >
A plugin entity represents a plugin configuration that will be executed
during the HTTP request/response lifecycle. Plugins let you add
functionality to services that run behind a Kong Gateway instance, like
authentication or rate limiting.
You can find more information about available plugins and which values
each plugin accepts at the [Plugin Hub](https://docs.konghq.com/hub/).
When adding a plugin configuration to a service, the plugin will run on
every request made by a client to that service. If a plugin needs to be
tuned to different values for some specific consumers, you can do so by
creating a separate plugin instance that specifies both the service and
the consumer, through the service and consumer fields.
Plugins can be both [tagged and filtered by
tags](https://docs.konghq.com/gateway/latest/admin-api/#tags).
name: Plugins
- description: >
The consumer object represents a consumer - or a user - of a service.
You can either rely on Kong Gateway as the primary datastore, or you can
map the consumer list with your database to keep consistency between Kong
Gateway and your existing primary datastore.
name: Consumers
- description: >-
Consumer groups enable the organization and categorization of consumers
(users or applications) within an API ecosystem.
By grouping consumers together, you eliminate the need to manage them
individually, providing a scalable, efficient approach to managing
configurations.
name: Consumer Groups
- description: >
A certificate object represents a public certificate, and can be
optionally paired with the corresponding private key. These objects are
used by Kong Gateway to handle SSL/TLS termination for encrypted requests,
or for use as a trusted CA store when validating peer certificate of
client/service.
Certificates are optionally associated with SNI objects to tie a cert/key
pair to one or more hostnames.
If intermediate certificates are required in addition to the main
certificate, they should be concatenated together into one string.
name: Certificates
- description: >-
An SNI object represents a many-to-one mapping of hostnames to a
certificate.
A certificate object can have many hostnames associated with it. When Kong
Gateway receives an SSL request, it uses the SNI field in the Client Hello
to look up the certificate object based on the SNI associated with the
certificate.
name: SNIs
- description: >-
A CA certificate object represents a trusted certificate authority.
These objects are used by Kong Gateway to verify the validity of a client
or server certificate.
name: CA Certificates
- description: >-
The upstream object represents a virtual hostname and can be used to load
balance incoming requests over multiple services (targets).
An upstream also includes a [health
checker](https://docs.konghq.com/gateway/latest/how-kong-works/health-checks/),
which can enable and disable targets based on their ability or inability
to serve requests.
The configuration for the health checker is stored in the upstream object,
and applies to all of its targets.
name: Upstreams
- description: >
Vault objects are used to configure different vault connectors for
[managing
secrets](https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/).
Configuring a vault lets you reference secrets from other entities.
This allows for a proper separation of secrets and configuration and
prevents secret sprawl.
For example, you could store a certificate and a key in a vault, then
reference them from a certificate entity. This way, the certificate and
key are not stored in the entity directly and are more secure.
Secrets rotation can be managed using
[TTLs](https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/advanced-usage/).
name: Vaults
- description: >
A key object holds a representation of asymmetric keys in various formats.
When Kong Gateway or a Kong plugin requires a specific public or private
key to perform certain operations, it can use this entity.
name: Keys
- description: >
A JSON Web key set. Key sets are the preferred way to expose keys to
plugins because they tell the plugin where to look for keys or have a
scoping mechanism to restrict plugins to specific keys.
name: KeySets
- name: API-keys
- name: Basic-auth credentials
- name: JWTs
- name: HMAC-auth credentials
- name: MTLS-auth credentials
- name: ACLs
- name: Partials
paths:
/v1/notifications/configurations:
get:
summary: List available user configurations.
description: List available user configurations.
operationId: list-user-configurations
parameters:
- $ref: '#/components/parameters/ConfigurationFilter'
responses:
'200':
$ref: '#/components/responses/UserConfigurationListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Notifications
/v1/notifications/configurations/{eventId}/subscriptions:
get:
summary: List event subscriptions.
description: List event subscriptions.
operationId: list-event-subscriptions
parameters:
- $ref: '#/components/parameters/eventId'
responses:
'200':
$ref: '#/components/responses/EventSubscriptionListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Notifications
post:
summary: Create a new subscription for an event.
description: Create a new subscription for an event.
operationId: create-event-subscription
parameters:
- $ref: '#/components/parameters/eventId'
requestBody:
$ref: '#/components/requestBodies/EventSubscriptionRequest'
responses:
'201':
$ref: '#/components/responses/EventSubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Notifications
/v1/notifications/configurations/{eventId}/subscriptions/{subscriptionId}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/subscriptionId'
get:
summary: Get subscription for an event.
description: Get subscription for an event.
operationId: get-event-subscription
responses:
'200':
$ref: '#/components/responses/EventSubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Notifications
patch:
summary: Update subscription for an event.
description: Update subscription for an event.
operationId: update-event-subscription
requestBody:
$ref: '#/components/requestBodies/EventSubscriptionRequest'
responses:
'200':
$ref: '#/components/responses/EventSubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Notifications
delete:
summary: Delete subscription associated with event.
description: Delete subscription associated with event.
operationId: delete-event-subscription
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Notifications
/v1/notifications/inbox:
get:
summary: List available notifications.
description: List available notifications.
operationId: list-notifications
parameters:
- $ref: '#/components/parameters/PageBefore'
- $ref: '#/components/parameters/PageAfter'
- $ref: '#/components/parameters/NotificationFilter'
responses:
'200':
$ref: '#/components/responses/NotificationListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Notifications
/v1/notifications/inbox/{notificationId}:
get:
summary: Get notification details.
description: Get notification details.
operationId: get-notification-details
parameters:
- $ref: '#/components/parameters/notificationId'
responses:
'200':
$ref: '#/components/responses/NotificationResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Notifications
patch:
summary: Update notification.
description: Update notification.
operationId: update-notification
parameters:
- $ref: '#/components/parameters/notificationId'
requestBody:
$ref: '#/components/requestBodies/NotificationUpdateRequest'
responses:
'200':
$ref: '#/components/responses/NotificationResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Notifications
delete:
summary: Delete notification.
description: Delete notification.
operationId: delete-notification
parameters:
- $ref: '#/components/parameters/notificationId'
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Notifications
/v1/notifications/inbox/bulk:
post:
summary: Mark a list of notifications to a status.
description: Mark a list of notifications to a status.
operationId: bulk-notifications
requestBody:
$ref: '#/components/requestBodies/BulkRequest'
responses:
'200':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Notifications
/v2/application-auth-strategies:
post:
x-speakeasy-entity-operation: ApplicationAuthStrategy#create
summary: Create App Auth Strategy
operationId: 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:
summary: List App Auth Strategies
operationId: 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'
- 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'
in: query
name: filter
description: Filter application auth strategies returned in the response.
required: false
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: ApplicationAuthStrategy#read
summary: Get App Auth Strategy
description: Returns an application auth strategy.
operationId: get-app-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:
summary: Replace App Auth Strategy
operationId: 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: ApplicationAuthStrategy#update
summary: Update App Auth Strategy
operationId: 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: ApplicationAuthStrategy#delete
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.
operationId: delete-app-auth-strategy
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
/v2/cloud-gateways/availability.json:
get:
x-speakeasy-group: CloudGateways
operationId: get-availability-json
summary: Get Resource Availability JSON
description: >
Get Cloud Gateways Availability JSON document for describing cloud
provider and region availability, pricing,
gateway version availability, and instance type information.
security: []
responses:
'200':
$ref: >-
#/components/responses/RetrieveCloudGatewaysAvailabilityDocumentResponse
tags:
- Resource Availability
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/configurations:
get:
x-speakeasy-group: CloudGateways
summary: List Configurations
description: >
Returns a paginated collection of configurations across control-planes
for an organization (restricted by
permitted control-plane reads).
operationId: list-configurations
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ConfigurationsFilter'
responses:
'200':
$ref: '#/components/responses/ListConfigurationsResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Data-Plane Group Configurations
servers:
- url: https://global.api.konghq.com/
put:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayConfiguration#create,update
summary: Create Configuration
description: >
Creates a new configuration for a control-plane (restricted by permitted
control-plane permissions for
configurations). This request will replace any existing configuration
for the requested control_plane_id and
control_plane_geo by performing a diff. From this diff, new resources
detected in the requested configuration
will be added, resources not found in the request configuration but in
the previous will be deleted, and
resources found in both will be updated to the requested configuration.
Networks referenced in this request that
are in an offline state will automatically initialize (i.e. move to an
initializing state).
operationId: create-configuration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConfigurationRequest'
responses:
'200':
$ref: '#/components/responses/CreateConfigurationResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/CloudGatewaysForbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/CloudGatewaysConflict'
tags:
- Data-Plane Group Configurations
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/configurations/{configurationId}:
get:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayConfiguration#get
summary: Get Configuration
description: >-
Retrieves a configuration by ID (restricted by permitted control-plane
read).
operationId: get-configuration
parameters:
- $ref: '#/components/parameters/ConfigurationId'
responses:
'200':
$ref: '#/components/responses/RetrieveConfigurationResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Data-Plane Group Configurations
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/custom-domains:
get:
x-speakeasy-group: CloudGateways
summary: List Custom Domains
description: >
Returns a paginated collection of custom domains across control-planes
for an organization (restricted by
permitted control-plane reads).
operationId: list-custom-domains
parameters:
- $ref: '#/components/parameters/CustomDomainsFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListCustomDomainsResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Custom Domains
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayCustomDomain#create
summary: Create Custom Domain
description: >
Creates a new custom domain for a control-plane (restricted by permitted
control-plane associate-custom-domain
action).
operationId: create-custom-domains
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomDomainRequest'
responses:
'201':
$ref: '#/components/responses/CreateCustomDomainResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
tags:
- Custom Domains
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/custom-domains/{customDomainId}:
get:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayCustomDomain#read
summary: Get Custom Domain
description: >-
Retrieves a custom domain by ID (restricted by permitted control-plane
reads).
operationId: get-custom-domain
parameters:
- $ref: '#/components/parameters/CustomDomainId'
responses:
'200':
$ref: '#/components/responses/RetrieveCustomDomainResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Custom Domains
servers:
- url: https://global.api.konghq.com/
delete:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayCustomDomain#delete
x-speakeasy-retries:
strategy: backoff
backoff:
initialInterval: 10000
maxInterval: 60000
maxElapsedTime: 1800000
exponent: 1.5
statusCodes:
- 400
retryConnectionErrors: false
summary: Delete Custom Domain
description: >-
Deletes a custom domain by ID (restricted by permitted control-plane
reads).
operationId: delete-custom-domain
parameters:
- $ref: '#/components/parameters/CustomDomainId'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Custom Domains
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/custom-domains/{customDomainId}/online-status:
get:
x-speakeasy-group: CloudGateways
summary: Get Custom Domain Online Status
description: Retrieves the CNAME and SSL status of a custom domain.
operationId: get-custom-domain-online-status
parameters:
- $ref: '#/components/parameters/CustomDomainId'
responses:
'200':
$ref: '#/components/responses/RetrieveCustomDomainOnlineStatusResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Custom Domains
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/default-resource-configurations:
get:
x-speakeasy-group: CloudGateways
summary: List Default Resource Configurations
description: >
Returns a paginated collection of default resource configurations for
cloud-gateways, along with
organizationally-defined overrides for those resource configurations.
Resource configurations are settings that are applied to all cloud
gateway resources in an organization.
For example, the "data-plane-group-idle-timeout-minutes" resource
configuration sets the idle timeout for all data plane groups in an
organization.
operationId: list-default-resource-configurations
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListDefaultResourceConfigurationsResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Resource Configurations
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/default-resource-quotas:
get:
x-speakeasy-group: CloudGateways
summary: List Default Resource Quotas
description: >
Returns a paginated collection of default resource quotas for
cloud-gateways, along with
organizationally-defined overrides for those resource quotas.
operationId: list-default-resource-quotas
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListDefaultResourceQuotasResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Cloud Gateways Resource Quotas
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/networks:
get:
x-speakeasy-group: CloudGateways
summary: List Networks
description: Returns a paginated list of networks.
operationId: list-networks
parameters:
- $ref: '#/components/parameters/NetworksFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListNetworksResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Networks
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayNetwork#create
summary: Create Network
description: Creates a new network for a given provider account.
operationId: create-network
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNetworkRequest'
responses:
'201':
$ref: '#/components/responses/CreateNetworkResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/CloudGatewaysForbidden'
'409':
$ref: '#/components/responses/Conflict'
tags:
- Networks
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/networks/{networkId}:
get:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayNetwork#read
summary: Get Network
description: Retrieves a network by ID.
operationId: get-network
parameters:
- $ref: '#/components/parameters/NetworkId'
responses:
'200':
$ref: '#/components/responses/RetrieveNetworkResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Networks
servers:
- url: https://global.api.konghq.com/
patch:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayNetwork#update
summary: Update Network
description: Updates a network by ID.
operationId: update-network
parameters:
- $ref: '#/components/parameters/NetworkId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchNetworkRequest'
responses:
'200':
$ref: '#/components/responses/PatchNetworkResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/CloudGatewaysForbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
tags:
- Networks
servers:
- url: https://global.api.konghq.com/
delete:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayNetwork#delete
x-speakeasy-retries:
strategy: backoff
backoff:
initialInterval: 10000
maxInterval: 60000
maxElapsedTime: 1800000
exponent: 1.5
statusCodes:
- 400
retryConnectionErrors: false
summary: Delete Network
description: Deletes a network by ID.
operationId: delete-network
parameters:
- $ref: '#/components/parameters/NetworkId'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Networks
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/networks/{networkId}/configuration-references:
get:
x-speakeasy-group: CloudGateways
description: List Network Configuration References
summary: >
Returns a paginated collection of configurations that reference a
network.
operationId: list-network-configurations
parameters:
- $ref: '#/components/parameters/NetworkId'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListNetworkConfigurationReferencesResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Networks
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/networks/{networkId}/transit-gateways:
get:
x-speakeasy-group: CloudGateways
summary: List Transit Gateways
description: Returns a paginated collection of transit gateways for a given network.
operationId: list-transit-gateways
parameters:
- $ref: '#/components/parameters/NetworkId'
- $ref: '#/components/parameters/TransitGatewaysFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListTransitGatewaysResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Transit Gateways
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayTransitGateway#create
x-speakeasy-retries:
strategy: backoff
backoff:
initialInterval: 30000
maxInterval: 60000
maxElapsedTime: 3600000
exponent: 1.5
statusCodes:
- 400
retryConnectionErrors: false
summary: Create Transit Gateway
description: Creates a new transit gateway for a given network.
operationId: create-transit-gateway
parameters:
- $ref: '#/components/parameters/NetworkId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTransitGatewayRequest'
responses:
'201':
$ref: '#/components/responses/CreateTransitGatewayResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
tags:
- Transit Gateways
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/networks/{networkId}/transit-gateways/{transitGatewayId}:
get:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayTransitGateway#read
summary: Get Transit Gateway
description: Retrieves a transit gateway by ID for a given network.
operationId: get-transit-gateway
parameters:
- $ref: '#/components/parameters/NetworkId'
- $ref: '#/components/parameters/TransitGatewayId'
responses:
'200':
$ref: '#/components/responses/RetrieveTransitGatewayResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Transit Gateways
servers:
- url: https://global.api.konghq.com/
delete:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayTransitGateway#delete
x-speakeasy-retries:
strategy: backoff
backoff:
initialInterval: 10000
maxInterval: 60000
maxElapsedTime: 1800000
exponent: 1.5
statusCodes:
- 400
retryConnectionErrors: false
summary: Delete Transit Gateway
description: Deletes a transit gateway by ID for a given network.
operationId: delete-transit-gateway
parameters:
- $ref: '#/components/parameters/NetworkId'
- $ref: '#/components/parameters/TransitGatewayId'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Transit Gateways
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/provider-accounts:
get:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation: CloudGatewayProviderAccountList#read
summary: List Provider Accounts
description: >-
Returns a a paginated collection of provider accounts for an
organization.
operationId: list-provider-accounts
parameters:
- $ref: '#/components/parameters/ProviderAccountsFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListProviderAccountsResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Provider Accounts
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/provider-accounts/{providerAccountId}:
get:
x-speakeasy-group: CloudGateways
summary: Get Provider Account
description: Retrieves a provider account by ID.
operationId: get-provider-account
parameters:
- $ref: '#/components/parameters/ProviderAccountId'
responses:
'200':
$ref: '#/components/responses/RetrieveProviderAccountResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Provider Accounts
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/resource-configurations:
get:
x-speakeasy-group: CloudGateways
summary: List Resource Configurations
description: >
Returns a paginated collection of resource configurations for an
organization.
Resource configurations are settings that are applied to all cloud
gateway resources in an organization.
For example, the "data-plane-group-idle-timeout-minutes" resource
configuration sets the idle timeout for all data plane groups in an
organization.
operationId: list-resource-configurations
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListResourceConfigurationsResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Resource Configurations
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/resource-configurations/{resourceConfigurationId}:
get:
x-speakeasy-group: CloudGateways
summary: Get Resource Configuration
description: Retrieves a resource configuration by ID.
operationId: get-resource-configuration
parameters:
- $ref: '#/components/parameters/ResourceConfigurationId'
responses:
'200':
$ref: '#/components/responses/RetrieveResourceConfigurationResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Resource Configurations
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/resource-quotas:
get:
x-speakeasy-group: CloudGateways
summary: List Resource Quotas
description: |
Returns a paginated collection of resource quotas for an organization.
operationId: list-resource-quotas
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListResourceQuotasResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Cloud Gateways Resource Quotas
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/resource-quotas/{resourceQuotaId}:
get:
x-speakeasy-group: CloudGateways
summary: Get Resource Quota
description: Retrieves a resource quota by ID.
operationId: get-resource-quota
parameters:
- $ref: '#/components/parameters/ResourceQuotaId'
responses:
'200':
$ref: '#/components/responses/RetrieveResourceQuotaResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Cloud Gateways Resource Quotas
servers:
- url: https://global.api.konghq.com/
/v2/control-planes:
get:
x-speakeasy-entity-operation: GatewayControlPlaneList#read
summary: List Control Planes
responses:
'200':
$ref: '#/components/responses/ListControlPlanesResponse'
'400':
$ref: '#/components/responses/ControlPlanesBadRequest'
'401':
$ref: '#/components/responses/ControlPlaneUnauthenticated'
'403':
$ref: '#/components/responses/ControlPlanePermissionDenied'
'500':
$ref: '#/components/responses/Internal'
'503':
$ref: '#/components/responses/ServiceUnavailable'
operationId: list-control-planes
description: >-
Returns an array of control plane objects containing information about
the Konnect Control Planes.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ControlPlaneFilter'
- $ref: '#/components/parameters/FilterByLabels'
- $ref: '#/components/parameters/ControlPlaneSort'
tags:
- Control Planes
parameters: []
post:
x-speakeasy-entity-operation: GatewayControlPlane#create
summary: Create Control Plane
operationId: create-control-plane
responses:
'201':
$ref: '#/components/responses/CreateControlPlaneResponse'
'400':
$ref: '#/components/responses/ControlPlanesBadRequest'
'401':
$ref: '#/components/responses/ControlPlaneUnauthenticated'
'403':
$ref: '#/components/responses/ControlPlanePermissionDenied'
'409':
$ref: '#/components/responses/ControlPlaneConflict'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
tags:
- Control Planes
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateControlPlaneRequest'
description: Create a control plane in the Konnect Organization.
/v2/control-planes/{controlPlaneId}/config-stores:
get:
summary: List all config stores for a control plane
operationId: list-config-stores
parameters:
- $ref: '#/components/parameters/controlPlaneId'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageAfter'
responses:
'200':
$ref: '#/components/responses/ListConfigStoresResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ConfigStoreUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Config Stores
post:
x-speakeasy-entity-operation: GatewayConfigStore#create
summary: Create Config Store
description: Create a Config Store
operationId: create-config-store
responses:
'201':
$ref: '#/components/responses/ConfigStoreResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ConfigStoreUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
parameters:
- $ref: '#/components/parameters/controlPlaneId'
requestBody:
$ref: '#/components/requestBodies/CreateConfigStoreRequest'
tags:
- Config Stores
/v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
- $ref: '#/components/parameters/configStoreId'
get:
x-speakeasy-entity-operation: GatewayConfigStore#read
summary: Fetch Config Store
description: Returns a Config Store
operationId: get-config-store
responses:
'200':
$ref: '#/components/responses/ConfigStoreResponse'
'401':
$ref: '#/components/responses/ConfigStoreUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Config Stores
put:
x-speakeasy-entity-operation: GatewayConfigStore#update
summary: Update an individual Config Store
description: Updates a Config Store
operationId: update-config-store
responses:
'200':
$ref: '#/components/responses/ConfigStoreResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ConfigStoreUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreNotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
requestBody:
$ref: '#/components/requestBodies/UpdateConfigStoreRequest'
tags:
- Config Stores
delete:
x-speakeasy-entity-operation: GatewayConfigStore#delete
summary: Delete Config Store
description: Removes a config store
operationId: delete-config-store
parameters:
- schema:
type: string
default: 'false'
enum:
- 'true'
- 'false'
name: force
in: query
description: >-
If true, delete specified config store and all secrets, even if
there are secrets linked to the config store If false, do not allow
deletion if there are secrets linked to the config store
responses:
'204':
description: Config Store was deleted successfully.
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ConfigStoreUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Config Stores
/v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
- $ref: '#/components/parameters/configStoreId'
post:
summary: Create Config Store Secret
description: Creates a secret for a Config Store.
operationId: create-config-store-secret
responses:
'201':
$ref: '#/components/responses/ConfigStoreSecretResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
requestBody:
$ref: '#/components/requestBodies/CreateConfigStoreSecretRequest'
tags:
- Config Store Secrets
get:
summary: List Config Store Secrets
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageAfter'
description: Returns a collection of all secrets for a Config Store.
operationId: list-config-store-secrets
responses:
'200':
$ref: '#/components/responses/ListConfigStoreSecretsResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
tags:
- Config Store Secrets
/v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets/{key}:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
- $ref: '#/components/parameters/configStoreId'
- schema:
type: string
example: ConfigStoreSecretKey
name: key
in: path
required: true
description: Config Store Secret key
get:
summary: Fetch Config Store Secret
description: Returns a secret for the Config Store.
operationId: get-config-store-secret
responses:
'200':
$ref: '#/components/responses/ConfigStoreSecretResponse'
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
tags:
- Config Store Secrets
put:
summary: Update Config Store Secret
description: Updates a secret for a Config Store.
operationId: update-config-store-secret
responses:
'200':
$ref: '#/components/responses/ConfigStoreSecretResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
requestBody:
$ref: '#/components/requestBodies/UpdateConfigStoreSecretRequest'
tags:
- Config Store Secrets
delete:
summary: Delete Config Store Secret
description: Removes a secret from a Config Store.
operationId: delete-config-store-secret
responses:
'204':
description: Secret for the Config Store was deleted successfully.
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
tags:
- Config Store Secrets
/v2/control-planes/{controlPlaneId}/core-entities/acls:
get:
operationId: list-acl
summary: List all ACLs
description: List all ACLs
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing ACLs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ACL'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- ACLs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/acls/{ACLId}:
get:
operationId: get-acl
summary: Fetch an ACL
description: Get an ACL using ID.
responses:
'200':
description: Successfully fetched ACL
content:
application/json:
schema:
$ref: '#/components/schemas/ACL'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- ACLs
parameters:
- $ref: '#/components/parameters/ACLId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/basic-auths:
get:
operationId: list-basic-auth
summary: List all Basic-auth credentials
description: List all Basic-auth credentials
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Basic-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BasicAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Basic-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/basic-auths/{BasicAuthId}:
get:
operationId: get-basic-auth
summary: Fetch a Basic-auth credential
description: Get a Basic-auth credential using ID.
responses:
'200':
description: Successfully fetched Basic-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuth'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Basic-auth credentials
parameters:
- $ref: '#/components/parameters/BasicAuthId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/ca_certificates:
get:
operationId: list-ca_certificate
summary: List all CA Certificates
description: List all CA Certificates
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing CA Certificates
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CACertificate'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CA Certificates
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-ca_certificate
summary: Create a new CA Certificate
description: Create a new CA Certificate
requestBody:
description: Description of the new CA Certificate for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
responses:
'201':
description: Successfully created CA Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CA Certificates
/v2/control-planes/{controlPlaneId}/core-entities/ca_certificates/{CACertificateId}:
delete:
operationId: delete-ca_certificate
summary: Delete a CA Certificate
description: Delete a CA Certificate
parameters:
- $ref: '#/components/parameters/CACertificateId'
responses:
'204':
description: Successfully deleted CA Certificate or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CA Certificates
get:
operationId: get-ca_certificate
summary: Fetch a CA Certificate
description: Get a CA Certificate using ID.
responses:
'200':
description: Successfully fetched CA Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- CA Certificates
parameters:
- $ref: '#/components/parameters/CACertificateId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-ca_certificate
summary: Upsert a CA Certificate
description: Create or Update CA Certificate using ID.
requestBody:
description: Description of the CA Certificate
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
responses:
'200':
description: Successfully upserted CA Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CA Certificates
/v2/control-planes/{controlPlaneId}/core-entities/certificates:
get:
operationId: list-certificate
summary: List all Certificates
description: List all Certificates
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Certificates
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Certificate'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-certificate
summary: Create a new Certificate
description: Create a new Certificate
requestBody:
description: Description of the new Certificate for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
responses:
'201':
description: Successfully created Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}:
delete:
operationId: delete-certificate
summary: Delete a Certificate
description: Delete a Certificate
parameters:
- $ref: '#/components/parameters/CertificateId'
responses:
'204':
description: Successfully deleted Certificate or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
get:
operationId: get-certificate
summary: Fetch a Certificate
description: Get a Certificate using ID.
responses:
'200':
description: Successfully fetched Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Certificates
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-certificate
summary: Upsert a Certificate
description: Create or Update Certificate using ID.
requestBody:
description: Description of the Certificate
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
responses:
'200':
description: Successfully upserted Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}/snis:
get:
operationId: list-sni-with-certificate
summary: List all SNIs associated with a Certificate
description: List all SNIs associated with a Certificate
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing SNIs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/SNI'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- SNIs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-sni-with-certificate
summary: Create a new SNI associated with a Certificate
description: Create a new SNI associated with a Certificate
parameters:
- $ref: '#/components/parameters/CertificateId'
requestBody:
description: Description of new SNI for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SNIWithoutParents'
responses:
'201':
description: Successfully created SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
tags:
- SNIs
/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}/snis/{SNIId}:
delete:
operationId: delete-sni-with-certificate
summary: Delete a an SNI associated with a Certificate
description: Delete a an SNI associated with a Certificate using ID or name.
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/SNIId'
responses:
'204':
description: Successfully deleted SNI or the resource didn't exist
tags:
- SNIs
get:
operationId: get-sni-with-certificate
summary: Fetch an SNI associated with a Certificate
description: Get an SNI associated with a Certificate using ID or name.
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/SNIId'
responses:
'200':
description: Successfully fetched SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
'404':
description: Resource does not exist
tags:
- SNIs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-sni-with-certificate
summary: Upsert an SNI associated with a Certificate
description: Create or Update an SNI associated with a Certificate using ID or name.
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/SNIId'
requestBody:
description: Description of the SNI
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SNIWithoutParents'
responses:
'200':
description: Successfully upserted SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
tags:
- SNIs
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups:
get:
operationId: list-consumer_group
summary: List all Consumer Groups
description: List all Consumer Groups
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Consumer Groups
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ConsumerGroup'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-consumer_group
summary: Create a new Consumer Group
description: Create a new Consumer Group
requestBody:
description: Description of the new Consumer Group for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroup'
responses:
'201':
description: Successfully created Consumer Group
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroup'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumer Groups
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}:
delete:
operationId: delete-consumer_group
summary: Delete a Consumer Group
description: Delete a Consumer Group
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
responses:
'204':
description: Successfully deleted Consumer Group or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumer Groups
get:
operationId: get-consumer_group
summary: Fetch a Consumer Group
description: Get a Consumer Group using ID.
responses:
'200':
description: Successfully fetched Consumer Group
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroupInsideWrapper'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-consumer_group
summary: Upsert a Consumer Group
description: Create or Update Consumer Group using ID.
requestBody:
description: Description of the Consumer Group
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroup'
responses:
'200':
description: Successfully upserted Consumer Group
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroup'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumer Groups
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/consumers:
delete:
operationId: remove-all-consumers-from-consumer-group
summary: Remove consumers from consumer group
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Removes all consumers from a consumer groups. This operation does not
delete the consumer group.
responses:
'204':
description: Consumers removed from group
'404':
description: Consumer group or consumer association does not exist
tags:
- Consumer Groups
get:
operationId: list-consumers-for-consumer-group
summary: List all Consumers in a Consumer Group
description: List all consumers in a consumer group
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing of consumers
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Consumer'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/ConsumerGroupIdManageConsumers'
- $ref: '#/components/parameters/controlPlaneId'
post:
x-speakeasy-entity-operation: GatewayConsumerGroupMember#create
operationId: add-consumer-to-group
summary: Add consumer to consumer group
description: Add a consumer to a consumer group
requestBody:
content:
application/json:
schema:
type: object
properties:
consumer:
type: string
example: cf4c7e60-11db-49dd-b300-7c7e5f0f7e6b
x-speakeasy-name-override: consumer_id
responses:
'201':
description: Consumer added to group
content:
application/json:
schema:
type: object
properties:
consumer_group:
$ref: '#/components/schemas/ConsumerGroup'
consumers:
type: array
items:
$ref: '#/components/schemas/Consumer'
tags:
- Consumer Groups
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/consumers/{ConsumerId}:
delete:
x-speakeasy-entity-operation: GatewayConsumerGroupMember#delete
operationId: remove-consumer-from-group
summary: Remove consumer from consumer group
description: Remove a consumer from a consumer group
responses:
'204':
description: Consumer removed from group
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/ConsumerGroupIdManageConsumers'
- name: ConsumerId
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins:
get:
operationId: list-plugin-with-consumer_group
summary: List all Plugins associated with a Consumer Group
description: List all Plugins associated with a Consumer Group
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Plugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Plugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin-with-consumer_group
summary: Create a new Plugin associated with a Consumer Group
description: Create a new Plugin associated with a Consumer Group
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
requestBody:
description: Description of new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins/{PluginId}:
delete:
operationId: delete-plugin-with-consumer_group
summary: Delete a a Plugin associated with a Consumer Group
description: Delete a a Plugin associated with a Consumer Group using ID.
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
tags:
- Plugins
get:
operationId: get-plugin-with-consumer_group
summary: Fetch a Plugin associated with a Consumer Group
description: Get a Plugin associated with a Consumer Group using ID.
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/PluginId'
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin-with-consumer_group
summary: Upsert a Plugin associated with a Consumer Group
description: Create or Update a Plugin associated with a Consumer Group using ID.
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/PluginId'
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/consumers:
get:
operationId: list-consumer
summary: List all Consumers
description: List all Consumers
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Consumers
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Consumer'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumers
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-consumer
summary: Create a new Consumer
description: Create a new Consumer
requestBody:
description: Description of the new Consumer for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
responses:
'201':
description: Successfully created Consumer
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumers
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}:
delete:
operationId: delete-consumer
summary: Delete a Consumer
description: Delete a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerId'
responses:
'204':
description: Successfully deleted Consumer or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumers
get:
operationId: get-consumer
summary: Fetch a Consumer
description: Get a Consumer using ID or username.
responses:
'200':
description: Successfully fetched Consumer
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Consumers
parameters:
- $ref: '#/components/parameters/ConsumerId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-consumer
summary: Upsert a Consumer
description: Create or Update Consumer using ID or username.
requestBody:
description: Description of the Consumer
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
responses:
'200':
description: Successfully upserted Consumer
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumers
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}/consumer_groups:
delete:
operationId: remove-consumer-from-all-consumer-groups
summary: Remove consumer from consumer group
description: >-
Removes a consumer from all consumer groups. This operation does not
delete the consumer group.
parameters:
- $ref: '#/components/parameters/ConsumerId'
responses:
'204':
description: Consumer removed from all groups
'404':
description: Consumer does not exist
tags:
- Consumer Groups
get:
operationId: list-consumer-groups-for-consumer
summary: List all Consumer Groups a Consumer belongs to
description: List all Consumer Groups a Consumer belongs to
parameters:
- $ref: '#/components/parameters/ConsumerId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing consumer groups
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ConsumerGroup'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: add-consumer-to-specific-consumer-group
summary: Add consumer to a specific consumer group
description: Add a consumer to a consumer group
parameters:
- $ref: '#/components/parameters/ConsumerId'
requestBody:
content:
application/json:
schema:
type: object
properties:
group:
type: string
example: fedee695-2ae2-4e45-877a-776d9b2fc793
x-speakeasy-name-override: group
responses:
'201':
description: Consumer added to a specific group
content:
application/json:
schema:
type: object
properties:
consumer:
$ref: '#/components/schemas/Consumer'
consumer_groups:
type: array
items:
$ref: '#/components/schemas/ConsumerGroup'
tags:
- Consumer Groups
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}/consumer_groups/{ConsumerGroupId}:
delete:
operationId: remove-consumer-from-consumer-group
summary: Remove consumer from consumer group
description: >-
Removes a consumer from a consumer group. This operation does not delete
the consumer group.
parameters:
- $ref: '#/components/parameters/ConsumerId'
- $ref: '#/components/parameters/ConsumerGroupId'
responses:
'204':
description: Consumer removed from group
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/acls:
get:
operationId: list-acl-with-consumer
summary: List all ACLs associated with a Consumer
description: List all ACLs associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing ACLs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ACL'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- ACLs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-acl-with-consumer
summary: Create a new ACL associated with a Consumer
description: Create a new ACL associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new ACL for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ACLWithoutParents'
responses:
'201':
description: Successfully created ACL
content:
application/json:
schema:
$ref: '#/components/schemas/ACL'
tags:
- ACLs
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/acls/{ACLId}:
delete:
operationId: delete-acl-with-consumer
summary: Delete a an ACL associated with a Consumer
description: Delete a an ACL associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/ACLId'
responses:
'204':
description: Successfully deleted ACL or the resource didn't exist
tags:
- ACLs
get:
operationId: get-acl-with-consumer
summary: Fetch an ACL associated with a Consumer
description: Get an ACL associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/ACLId'
responses:
'200':
description: Successfully fetched ACL
content:
application/json:
schema:
$ref: '#/components/schemas/ACL'
'404':
description: Resource does not exist
tags:
- ACLs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-acl-with-consumer
summary: Upsert an ACL associated with a Consumer
description: Create or Update an ACL associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/ACLId'
requestBody:
description: Description of the ACL
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ACLWithoutParents'
responses:
'200':
description: Successfully upserted ACL
content:
application/json:
schema:
$ref: '#/components/schemas/ACL'
tags:
- ACLs
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/basic-auth:
get:
operationId: list-basic-auth-with-consumer
summary: List all Basic-auth credentials associated with a Consumer
description: List all Basic-auth credentials associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Basic-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BasicAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Basic-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-basic-auth-with-consumer
summary: Create a new Basic-auth credential associated with a Consumer
description: Create a new Basic-auth credential associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new Basic-auth credential for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuthWithoutParents'
responses:
'201':
description: Successfully created Basic-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuth'
tags:
- Basic-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/basic-auth/{BasicAuthId}:
delete:
operationId: delete-basic-auth-with-consumer
summary: Delete a a Basic-auth credential associated with a Consumer
description: Delete a a Basic-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/BasicAuthId'
responses:
'204':
description: >-
Successfully deleted Basic-auth credential or the resource didn't
exist
tags:
- Basic-auth credentials
get:
operationId: get-basic-auth-with-consumer
summary: Fetch a Basic-auth credential associated with a Consumer
description: Get a Basic-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/BasicAuthId'
responses:
'200':
description: Successfully fetched Basic-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuth'
'404':
description: Resource does not exist
tags:
- Basic-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-basic-auth-with-consumer
summary: Upsert a Basic-auth credential associated with a Consumer
description: >-
Create or Update a Basic-auth credential associated with a Consumer
using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/BasicAuthId'
requestBody:
description: Description of the Basic-auth credential
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuthWithoutParents'
responses:
'200':
description: Successfully upserted Basic-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuth'
tags:
- Basic-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth:
get:
operationId: list-hmac-auth-with-consumer
summary: List all HMAC-auth credentials associated with a Consumer
description: List all HMAC-auth credentials associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing HMAC-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/HMACAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-hmac-auth-with-consumer
summary: Create a new HMAC-auth credential associated with a Consumer
description: Create a new HMAC-auth credential associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new HMAC-auth credential for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuthWithoutParents'
responses:
'201':
description: Successfully created HMAC-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuth'
tags:
- HMAC-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth/{HMACAuthId}:
delete:
operationId: delete-hmac-auth-with-consumer
summary: Delete a a HMAC-auth credential associated with a Consumer
description: Delete a a HMAC-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/HMACAuthId'
responses:
'204':
description: >-
Successfully deleted HMAC-auth credential or the resource didn't
exist
tags:
- HMAC-auth credentials
get:
operationId: get-hmac-auth-with-consumer
summary: Fetch a HMAC-auth credential associated with a Consumer
description: Get a HMAC-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/HMACAuthId'
responses:
'200':
description: Successfully fetched HMAC-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuth'
'404':
description: Resource does not exist
tags:
- HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-hmac-auth-with-consumer
summary: Upsert a HMAC-auth credential associated with a Consumer
description: >-
Create or Update a HMAC-auth credential associated with a Consumer using
ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/HMACAuthId'
requestBody:
description: Description of the HMAC-auth credential
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuthWithoutParents'
responses:
'200':
description: Successfully upserted HMAC-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuth'
tags:
- HMAC-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/jwt:
get:
operationId: list-jwt-with-consumer
summary: List all JWTs associated with a Consumer
description: List all JWTs associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing JWTs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/JWT'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- JWTs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-jwt-with-consumer
summary: Create a new JWT associated with a Consumer
description: Create a new JWT associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new JWT for creation
content:
application/json:
schema:
$ref: '#/components/schemas/JWTWithoutParents'
responses:
'201':
description: Successfully created JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWT'
tags:
- JWTs
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/jwt/{JWTId}:
delete:
operationId: delete-jwt-with-consumer
summary: Delete a a JWT associated with a Consumer
description: Delete a a JWT associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/JWTId'
responses:
'204':
description: Successfully deleted JWT or the resource didn't exist
tags:
- JWTs
get:
operationId: get-jwt-with-consumer
summary: Fetch a JWT associated with a Consumer
description: Get a JWT associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/JWTId'
responses:
'200':
description: Successfully fetched JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWT'
'404':
description: Resource does not exist
tags:
- JWTs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-jwt-with-consumer
summary: Upsert a JWT associated with a Consumer
description: Create or Update a JWT associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/JWTId'
requestBody:
description: Description of the JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWTWithoutParents'
responses:
'200':
description: Successfully upserted JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWT'
tags:
- JWTs
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth:
get:
operationId: list-key-auth-with-consumer
summary: List all API-keys associated with a Consumer
description: List all API-keys associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing API-keys
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/KeyAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- API-keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-key-auth-with-consumer
summary: Create a new API-key associated with a Consumer
description: Create a new API-key associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new API-key for creation
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuthWithoutParents'
responses:
'201':
description: Successfully created API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuth'
tags:
- API-keys
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth/{KeyAuthId}:
delete:
operationId: delete-key-auth-with-consumer
summary: Delete a an API-key associated with a Consumer
description: Delete a an API-key associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/KeyAuthId'
responses:
'204':
description: Successfully deleted API-key or the resource didn't exist
tags:
- API-keys
get:
operationId: get-key-auth-with-consumer
summary: Fetch an API-key associated with a Consumer
description: Get an API-key associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/KeyAuthId'
responses:
'200':
description: Successfully fetched API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuth'
'404':
description: Resource does not exist
tags:
- API-keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-key-auth-with-consumer
summary: Upsert an API-key associated with a Consumer
description: Create or Update an API-key associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/KeyAuthId'
requestBody:
description: Description of the API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuthWithoutParents'
responses:
'200':
description: Successfully upserted API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuth'
tags:
- API-keys
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth:
get:
operationId: list-mtls-auth-with-consumer
summary: List all MTLS-auth credentials associated with a Consumer
description: List all MTLS-auth credentials associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing MTLS-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MTLSAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-mtls-auth-with-consumer
summary: Create a new MTLS-auth credential associated with a Consumer
description: Create a new MTLS-auth credential associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new MTLS-auth credential for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuthWithoutParents'
responses:
'201':
description: Successfully created MTLS-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuth'
tags:
- MTLS-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth/{MTLSAuthId}:
delete:
operationId: delete-mtls-auth-with-consumer
summary: Delete a a MTLS-auth credential associated with a Consumer
description: Delete a a MTLS-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/MTLSAuthId'
responses:
'204':
description: >-
Successfully deleted MTLS-auth credential or the resource didn't
exist
tags:
- MTLS-auth credentials
get:
operationId: get-mtls-auth-with-consumer
summary: Fetch a MTLS-auth credential associated with a Consumer
description: Get a MTLS-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/MTLSAuthId'
responses:
'200':
description: Successfully fetched MTLS-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuth'
'404':
description: Resource does not exist
tags:
- MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-mtls-auth-with-consumer
summary: Upsert a MTLS-auth credential associated with a Consumer
description: >-
Create or Update a MTLS-auth credential associated with a Consumer using
ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/MTLSAuthId'
requestBody:
description: Description of the MTLS-auth credential
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuthWithoutParents'
responses:
'200':
description: Successfully upserted MTLS-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuth'
tags:
- MTLS-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins:
get:
operationId: list-plugin-with-consumer
summary: List all Plugins associated with a Consumer
description: List all Plugins associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Plugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Plugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin-with-consumer
summary: Create a new Plugin associated with a Consumer
description: Create a new Plugin associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins/{PluginId}:
delete:
operationId: delete-plugin-with-consumer
summary: Delete a a Plugin associated with a Consumer
description: Delete a a Plugin associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
tags:
- Plugins
get:
operationId: get-plugin-with-consumer
summary: Fetch a Plugin associated with a Consumer
description: Get a Plugin associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PluginId'
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin-with-consumer
summary: Upsert a Plugin associated with a Consumer
description: Create or Update a Plugin associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PluginId'
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/custom-plugins:
get:
operationId: list-custom-plugin
summary: List all CustomPlugins
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
List all CustomPlugins
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing CustomPlugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CustomPlugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CustomPlugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-custom-plugin
summary: Create a new CustomPlugin
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Create a new CustomPlugin
requestBody:
description: Description of the new CustomPlugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
responses:
'201':
description: Successfully created CustomPlugin
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CustomPlugins
/v2/control-planes/{controlPlaneId}/core-entities/custom-plugins/{CustomPluginId}:
delete:
operationId: delete-custom-plugin
summary: Delete a CustomPlugin
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Delete a CustomPlugin
parameters:
- $ref: '#/components/parameters/CustomPluginId'
responses:
'204':
description: Successfully deleted CustomPlugin or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CustomPlugins
get:
operationId: get-custom-plugin
summary: Fetch a CustomPlugin
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Get a CustomPlugin using ID or name.
responses:
'200':
description: Successfully fetched CustomPlugin
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- CustomPlugins
parameters:
- $ref: '#/components/parameters/CustomPluginId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-custom-plugin
summary: Upsert a CustomPlugin
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Create or Update CustomPlugin using ID or name.
requestBody:
description: Description of the CustomPlugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
responses:
'200':
description: Successfully upserted CustomPlugin
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CustomPlugins
/v2/control-planes/{controlPlaneId}/core-entities/degraphql_routes:
get:
operationId: list-degraphql_route
summary: List all Degraphql_routes
description: List all Degraphql_routes
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Degraphql_routes
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Degraphql_route'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Degraphql_routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/degraphql_routes/{Degraphql_routeId}:
get:
operationId: get-degraphql_route
summary: Fetch a Degraphql_route
description: Get a Degraphql_route using ID or name.
responses:
'200':
description: Successfully fetched Degraphql_route
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_route'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Degraphql_routes
parameters:
- $ref: '#/components/parameters/Degraphql_routeId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/hmac-auths:
get:
operationId: list-hmac-auth
summary: List all HMAC-auth credentials
description: List all HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing HMAC-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/HMACAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/hmac-auths/{HMACAuthId}:
get:
operationId: get-hmac-auth
summary: Fetch a HMAC-auth credential
description: Get a HMAC-auth credential using ID.
responses:
'200':
description: Successfully fetched HMAC-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuth'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/HMACAuthId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/jwts:
get:
operationId: list-jwt
summary: List all JWTs
description: List all JWTs
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing JWTs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/JWT'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- JWTs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/jwts/{JWTId}:
get:
operationId: get-jwt
summary: Fetch a JWT
description: Get a JWT using ID.
responses:
'200':
description: Successfully fetched JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWT'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- JWTs
parameters:
- $ref: '#/components/parameters/JWTId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/key-auths:
get:
operationId: list-key-auth
summary: List all API-keys
description: List all API-keys
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing API-keys
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/KeyAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- API-keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/key-auths/{KeyAuthId}:
get:
operationId: get-key-auth
summary: Fetch an API-key
description: Get an API-key using ID.
responses:
'200':
description: Successfully fetched API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuth'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- API-keys
parameters:
- $ref: '#/components/parameters/KeyAuthId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/key-sets:
get:
operationId: list-key-set
summary: List all KeySets
description: List all KeySets
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing KeySets
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/KeySet'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- KeySets
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-key-set
summary: Create a new KeySet
description: Create a new KeySet
requestBody:
description: Description of the new KeySet for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/KeySet'
responses:
'201':
description: Successfully created KeySet
content:
application/json:
schema:
$ref: '#/components/schemas/KeySet'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- KeySets
/v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}:
delete:
operationId: delete-key-set
summary: Delete a KeySet
description: Delete a KeySet
parameters:
- $ref: '#/components/parameters/KeySetId'
responses:
'204':
description: Successfully deleted KeySet or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- KeySets
get:
operationId: get-key-set
summary: Fetch a KeySet
description: Get a KeySet using ID or name.
responses:
'200':
description: Successfully fetched KeySet
content:
application/json:
schema:
$ref: '#/components/schemas/KeySet'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- KeySets
parameters:
- $ref: '#/components/parameters/KeySetId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-key-set
summary: Upsert a KeySet
description: Create or Update KeySet using ID or name.
requestBody:
description: Description of the KeySet
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/KeySet'
responses:
'200':
description: Successfully upserted KeySet
content:
application/json:
schema:
$ref: '#/components/schemas/KeySet'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- KeySets
/v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}/keys:
get:
operationId: list-key-with-key-set
summary: List all Keys associated with a KeySet
description: List all Keys associated with a KeySet
parameters:
- $ref: '#/components/parameters/KeySetId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Keys
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Key'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-key-with-key-set
summary: Create a new Key associated with a KeySet
description: Create a new Key associated with a KeySet
parameters:
- $ref: '#/components/parameters/KeySetId'
requestBody:
description: Description of new Key for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/KeyWithoutParents'
responses:
'201':
description: Successfully created Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
tags:
- Keys
/v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}/keys/{KeyId}:
delete:
operationId: delete-key-with-key-set
summary: Delete a a Key associated with a KeySet
description: Delete a a Key associated with a KeySet using ID or name.
parameters:
- $ref: '#/components/parameters/KeySetId'
- $ref: '#/components/parameters/KeyId'
responses:
'204':
description: Successfully deleted Key or the resource didn't exist
tags:
- Keys
get:
operationId: get-key-with-key-set
summary: Fetch a Key associated with a KeySet
description: Get a Key associated with a KeySet using ID or name.
parameters:
- $ref: '#/components/parameters/KeySetId'
- $ref: '#/components/parameters/KeyId'
responses:
'200':
description: Successfully fetched Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
'404':
description: Resource does not exist
tags:
- Keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-key-with-key-set
summary: Upsert a Key associated with a KeySet
description: Create or Update a Key associated with a KeySet using ID or name.
parameters:
- $ref: '#/components/parameters/KeySetId'
- $ref: '#/components/parameters/KeyId'
requestBody:
description: Description of the Key
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/KeyWithoutParents'
responses:
'200':
description: Successfully upserted Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
tags:
- Keys
/v2/control-planes/{controlPlaneId}/core-entities/keys:
get:
operationId: list-key
summary: List all Keys
description: List all Keys
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Keys
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Key'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-key
summary: Create a new Key
description: Create a new Key
requestBody:
description: Description of the new Key for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
responses:
'201':
description: Successfully created Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Keys
/v2/control-planes/{controlPlaneId}/core-entities/keys/{KeyId}:
delete:
operationId: delete-key
summary: Delete a Key
description: Delete a Key
parameters:
- $ref: '#/components/parameters/KeyId'
responses:
'204':
description: Successfully deleted Key or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Keys
get:
operationId: get-key
summary: Fetch a Key
description: Get a Key using ID or name.
responses:
'200':
description: Successfully fetched Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Keys
parameters:
- $ref: '#/components/parameters/KeyId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-key
summary: Upsert a Key
description: Create or Update Key using ID or name.
requestBody:
description: Description of the Key
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
responses:
'200':
description: Successfully upserted Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Keys
/v2/control-planes/{controlPlaneId}/core-entities/mtls-auths:
get:
operationId: list-mtls-auth
summary: List all MTLS-auth credentials
description: List all MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing MTLS-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MTLSAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/mtls-auths/{MTLSAuthId}:
get:
operationId: get-mtls-auth
summary: Fetch a MTLS-auth credential
description: Get a MTLS-auth credential using ID.
responses:
'200':
description: Successfully fetched MTLS-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuth'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/MTLSAuthId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/partials:
get:
operationId: list-partial
summary: List all Partials
description: List all Partials
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Partials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Partial'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Partials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-partial
summary: Create a new Partial
description: Create a new Partial
requestBody:
description: Description of the new Partial for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
responses:
'201':
description: Successfully created Partial
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Partials
/v2/control-planes/{controlPlaneId}/core-entities/partials/{PartialId}:
delete:
operationId: delete-partial
summary: Delete a Partial
description: Delete a Partial
parameters:
- $ref: '#/components/parameters/PartialId'
responses:
'204':
description: Successfully deleted Partial or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Partials
get:
operationId: get-partial
summary: Fetch a Partial
description: Get a Partial using ID.
responses:
'200':
description: Successfully fetched Partial
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Partials
parameters:
- $ref: '#/components/parameters/PartialId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-partial
summary: Upsert a Partial
description: Create or Update Partial using ID.
requestBody:
description: Description of the Partial
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
responses:
'200':
description: Successfully upserted Partial
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Partials
/v2/control-planes/{controlPlaneId}/core-entities/partials/{PartialId}/links:
get:
operationId: list-partial-link
summary: List partial links
description: List all plugins linked to the partial
parameters:
- $ref: '#/components/parameters/PartialId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: The plugins linked to the partial
content:
application/json:
schema:
type: object
properties:
count:
description: The total number of plugins linked to the partial
type: integer
example: 10
data:
type: array
items:
$ref: '#/components/schemas/PartialLink'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Partial Links
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
get:
summary: List custom plugin schemas associated with a control plane
responses:
'200':
$ref: '#/components/responses/list-plugin-schemas'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
operationId: list-plugin-schemas
description: >-
Returns an array of custom plugins schemas associated with a control
plane.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageAfter'
tags:
- Custom Plugin Schemas
post:
x-speakeasy-entity-operation: GatewayCustomPluginSchema#create
summary: Upload custom plugin schema
operationId: create-plugin-schemas
responses:
'201':
$ref: '#/components/responses/plugin-schemas'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
tags:
- Custom Plugin Schemas
description: Upload a custom plugin schema associated with a control plane.
requestBody:
$ref: '#/components/requestBodies/create-plugin-schemas'
/v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas/{name}:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
- schema:
type: string
example: myplugin
name: name
in: path
required: true
description: The custom plugin name
get:
x-speakeasy-entity-operation: GatewayCustomPluginSchema#read
summary: Fetch custom plugin schema
responses:
'200':
$ref: '#/components/responses/plugin-schemas'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: get-plugin-schema
description: Returns information about a custom plugin from a given name.
tags:
- Custom Plugin Schemas
delete:
x-speakeasy-entity-operation: GatewayCustomPluginSchema#delete
summary: Delete custom plugin schema
operationId: delete-plugin-schemas
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: Delete an individual custom plugin schema.
tags:
- Custom Plugin Schemas
put:
x-speakeasy-entity-operation: GatewayCustomPluginSchema#update
summary: Create or update a custom plugin schema
operationId: update-plugin-schemas
responses:
'200':
$ref: '#/components/responses/plugin-schemas'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: Create or update an individual custom plugin schema.
tags:
- Custom Plugin Schemas
requestBody:
$ref: '#/components/requestBodies/create-plugin-schemas'
/v2/control-planes/{controlPlaneId}/core-entities/plugins:
get:
operationId: list-plugin
summary: List all Plugins
description: List all Plugins
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Plugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Plugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin
summary: Create a new Plugin
description: Create a new Plugin
requestBody:
description: Description of the new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/plugins/{PluginId}:
delete:
operationId: delete-plugin
summary: Delete a Plugin
description: Delete a Plugin
parameters:
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Plugins
get:
operationId: get-plugin
summary: Fetch a Plugin
description: Get a Plugin using ID.
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/PluginId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin
summary: Upsert a Plugin
description: Create or Update Plugin using ID.
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/routes:
get:
operationId: list-route
summary: List all Routes
description: List all Routes
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Routes
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Route'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-route
summary: Create a new Route
description: Create a new Route
requestBody:
description: Description of the new Route for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
responses:
'201':
description: Successfully created Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Routes
/v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}:
delete:
operationId: delete-route
summary: Delete a Route
description: Delete a Route
parameters:
- $ref: '#/components/parameters/RouteId'
responses:
'204':
description: Successfully deleted Route or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Routes
get:
operationId: get-route
summary: Fetch a Route
description: Get a Route using ID or name.
responses:
'200':
description: Successfully fetched Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Routes
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-route
summary: Upsert a Route
description: Create or Update Route using ID or name.
requestBody:
description: Description of the Route
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
responses:
'200':
description: Successfully upserted Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Routes
/v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}/plugins:
get:
operationId: list-plugin-with-route
summary: List all Plugins associated with a Route
description: List all Plugins associated with a Route
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Plugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Plugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin-with-route
summary: Create a new Plugin associated with a Route
description: Create a new Plugin associated with a Route
parameters:
- $ref: '#/components/parameters/RouteId'
requestBody:
description: Description of new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}/plugins/{PluginId}:
delete:
operationId: delete-plugin-with-route
summary: Delete a a Plugin associated with a Route
description: Delete a a Plugin associated with a Route using ID.
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
tags:
- Plugins
get:
operationId: get-plugin-with-route
summary: Fetch a Plugin associated with a Route
description: Get a Plugin associated with a Route using ID.
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/PluginId'
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin-with-route
summary: Upsert a Plugin associated with a Route
description: Create or Update a Plugin associated with a Route using ID.
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/PluginId'
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/schemas/plugins/{pluginName}:
get:
operationId: fetch-plugin-schema
summary: Fetch plugin schema
description: Get the schema for a plugin
responses:
'200':
description: The schema for the plugin
content:
application/json:
schema:
type: object
properties:
fields:
type: array
items:
additionalProperties: true
type: object
tags:
- Plugins
parameters:
- name: pluginName
in: path
description: The name of the plugin
required: true
schema:
type: string
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/services:
get:
operationId: list-service
summary: List all Services
description: List all Services
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Services
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Service'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Services
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-service
summary: Create a new Service
description: Create a new Service
requestBody:
description: Description of the new Service for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
responses:
'201':
description: Successfully created Service
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Services
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}:
delete:
operationId: delete-service
summary: Delete a Service
description: Delete a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
responses:
'204':
description: Successfully deleted Service or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Services
get:
operationId: get-service
summary: Fetch a Service
description: Get a Service using ID or name.
responses:
'200':
description: Successfully fetched Service
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Services
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-service
summary: Upsert a Service
description: Create or Update Service using ID or name.
requestBody:
description: Description of the Service
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
responses:
'200':
description: Successfully upserted Service
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Services
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/degraphql/routes:
get:
operationId: list-degraphql_route-with-service
summary: List all Degraphql_routes associated with a Service
description: List all Degraphql_routes associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Degraphql_routes
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Degraphql_route'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Degraphql_routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-degraphql_route-with-service
summary: Create a new Degraphql_route associated with a Service
description: Create a new Degraphql_route associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
requestBody:
description: Description of new Degraphql_route for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_routeWithoutParents'
responses:
'201':
description: Successfully created Degraphql_route
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_route'
tags:
- Degraphql_routes
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/degraphql/routes/{Degraphql_routeId}:
delete:
operationId: delete-degraphql_route-with-service
summary: Delete a a Degraphql_route associated with a Service
description: Delete a a Degraphql_route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/Degraphql_routeId'
responses:
'204':
description: Successfully deleted Degraphql_route or the resource didn't exist
tags:
- Degraphql_routes
get:
operationId: get-degraphql_route-with-service
summary: Fetch a Degraphql_route associated with a Service
description: Get a Degraphql_route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/Degraphql_routeId'
responses:
'200':
description: Successfully fetched Degraphql_route
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_route'
'404':
description: Resource does not exist
tags:
- Degraphql_routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-degraphql_route-with-service
summary: Upsert a Degraphql_route associated with a Service
description: >-
Create or Update a Degraphql_route associated with a Service using ID or
name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/Degraphql_routeId'
requestBody:
description: Description of the Degraphql_route
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_routeWithoutParents'
responses:
'200':
description: Successfully upserted Degraphql_route
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_route'
tags:
- Degraphql_routes
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/plugins:
get:
operationId: list-plugin-with-service
summary: List all Plugins associated with a Service
description: List all Plugins associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Plugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Plugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin-with-service
summary: Create a new Plugin associated with a Service
description: Create a new Plugin associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
requestBody:
description: Description of new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/plugins/{PluginId}:
delete:
operationId: delete-plugin-with-service
summary: Delete a a Plugin associated with a Service
description: Delete a a Plugin associated with a Service using ID.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
tags:
- Plugins
get:
operationId: get-plugin-with-service
summary: Fetch a Plugin associated with a Service
description: Get a Plugin associated with a Service using ID.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PluginId'
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin-with-service
summary: Upsert a Plugin associated with a Service
description: Create or Update a Plugin associated with a Service using ID.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PluginId'
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/routes:
get:
operationId: list-route-with-service
summary: List all Routes associated with a Service
description: List all Routes associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Routes
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Route'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-route-with-service
summary: Create a new Route associated with a Service
description: Create a new Route associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
requestBody:
description: Description of new Route for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RouteWithoutParents'
responses:
'201':
description: Successfully created Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
tags:
- Routes
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/routes/{RouteId}:
delete:
operationId: delete-route-with-service
summary: Delete a a Route associated with a Service
description: Delete a a Route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/RouteId'
responses:
'204':
description: Successfully deleted Route or the resource didn't exist
tags:
- Routes
get:
operationId: get-route-with-service
summary: Fetch a Route associated with a Service
description: Get a Route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/RouteId'
responses:
'200':
description: Successfully fetched Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
'404':
description: Resource does not exist
tags:
- Routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-route-with-service
summary: Upsert a Route associated with a Service
description: Create or Update a Route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/RouteId'
requestBody:
description: Description of the Route
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RouteWithoutParents'
responses:
'200':
description: Successfully upserted Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
tags:
- Routes
/v2/control-planes/{controlPlaneId}/core-entities/snis:
get:
operationId: list-sni
summary: List all SNIs
description: List all SNIs
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing SNIs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/SNI'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- SNIs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-sni
summary: Create a new SNI
description: Create a new SNI
requestBody:
description: Description of the new SNI for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
responses:
'201':
description: Successfully created SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- SNIs
/v2/control-planes/{controlPlaneId}/core-entities/snis/{SNIId}:
delete:
operationId: delete-sni
summary: Delete an SNI
description: Delete an SNI
parameters:
- $ref: '#/components/parameters/SNIId'
responses:
'204':
description: Successfully deleted SNI or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- SNIs
get:
operationId: get-sni
summary: Fetch an SNI
description: Get an SNI using ID or name.
responses:
'200':
description: Successfully fetched SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- SNIs
parameters:
- $ref: '#/components/parameters/SNIId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-sni
summary: Upsert a SNI
description: Create or Update SNI using ID or name.
requestBody:
description: Description of the SNI
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
responses:
'200':
description: Successfully upserted SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- SNIs
/v2/control-planes/{controlPlaneId}/core-entities/upstreams:
get:
operationId: list-upstream
summary: List all Upstreams
description: List all Upstreams
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Upstreams
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Upstream'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Upstreams
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-upstream
summary: Create a new Upstream
description: Create a new Upstream
requestBody:
description: Description of the new Upstream for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
responses:
'201':
description: Successfully created Upstream
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Upstreams
/v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamId}:
delete:
operationId: delete-upstream
summary: Delete an Upstream
description: Delete an Upstream
parameters:
- $ref: '#/components/parameters/UpstreamId'
responses:
'204':
description: Successfully deleted Upstream or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Upstreams
get:
operationId: get-upstream
summary: Fetch an Upstream
description: Get an Upstream using ID or name.
responses:
'200':
description: Successfully fetched Upstream
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Upstreams
parameters:
- $ref: '#/components/parameters/UpstreamId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-upstream
summary: Upsert a Upstream
description: Create or Update Upstream using ID or name.
requestBody:
description: Description of the Upstream
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
responses:
'200':
description: Successfully upserted Upstream
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Upstreams
/v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamIdForTarget}/targets:
get:
operationId: list-target-with-upstream
summary: List all Targets associated with an Upstream
description: List all Targets associated with an Upstream
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Targets
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Target'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Targets
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-target-with-upstream
summary: Create a new Target associated with an Upstream
description: Create a new Target associated with an Upstream
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
requestBody:
description: Description of new Target for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TargetWithoutParents'
responses:
'201':
description: Successfully created Target
content:
application/json:
schema:
$ref: '#/components/schemas/Target'
tags:
- Targets
/v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamIdForTarget}/targets/{TargetId}:
delete:
operationId: delete-target-with-upstream
summary: Delete a a Target associated with an Upstream
description: Delete a a Target associated with an Upstream using ID or target.
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
- $ref: '#/components/parameters/TargetId'
responses:
'204':
description: Successfully deleted Target or the resource didn't exist
tags:
- Targets
get:
operationId: get-target-with-upstream
summary: Fetch a Target associated with an Upstream
description: Get a Target associated with an Upstream using ID or target.
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
- $ref: '#/components/parameters/TargetId'
responses:
'200':
description: Successfully fetched Target
content:
application/json:
schema:
$ref: '#/components/schemas/Target'
'404':
description: Resource does not exist
tags:
- Targets
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-target-with-upstream
summary: Upsert a Target associated with an Upstream
description: >-
Create or Update a Target associated with an Upstream using ID or
target.
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
- $ref: '#/components/parameters/TargetId'
requestBody:
description: Description of the Target
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TargetWithoutParents'
responses:
'200':
description: Successfully upserted Target
content:
application/json:
schema:
$ref: '#/components/schemas/Target'
tags:
- Targets
/v2/control-planes/{controlPlaneId}/core-entities/vaults:
get:
operationId: list-vault
summary: List all Vaults
description: List all Vaults
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Vaults
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Vault'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Vaults
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-vault
summary: Create a new Vault
description: Create a new Vault
requestBody:
description: Description of the new Vault for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
responses:
'201':
description: Successfully created Vault
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Vaults
/v2/control-planes/{controlPlaneId}/core-entities/vaults/{VaultId}:
delete:
operationId: delete-vault
summary: Delete a Vault
description: Delete a Vault
parameters:
- $ref: '#/components/parameters/VaultId'
responses:
'204':
description: Successfully deleted Vault or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Vaults
get:
operationId: get-vault
summary: Fetch a Vault
description: Get a Vault using ID or prefix.
responses:
'200':
description: Successfully fetched Vault
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Vaults
parameters:
- $ref: '#/components/parameters/VaultId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-vault
summary: Upsert a Vault
description: Create or Update Vault using ID or prefix.
requestBody:
description: Description of the Vault
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
responses:
'200':
description: Successfully upserted Vault
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Vaults
/v2/control-planes/{controlPlaneId}/dp-client-certificates:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
get:
summary: List DP Client Certificates
responses:
'200':
$ref: '#/components/responses/ListDataPlaneCertificatesResponse'
operationId: list-dp-client-certificates
tags:
- DP Certificates
description: >-
Returns a list of pinned dataplane client certificates that are
associated to this control plane. A pinned dataplane certificate allows
dataplanes configured with the certificate and corresponding private key
to establish connection with this control plane.
post:
x-speakeasy-entity-operation: GatewayDataPlaneClientCertificate#create
summary: Pin New DP Client Certificate
description: >-
Pin a new DP Client Certificate to this control plane. A pinned
dataplane certificate allows dataplanes configured with the certificate
and corresponding private key to establish connection with this control
plane.
operationId: create-dataplane-certificate
requestBody:
$ref: '#/components/requestBodies/DataPlaneClientCertificateRequest'
responses:
'201':
$ref: '#/components/responses/DataPlaneClientCertificateResponse'
tags:
- DP Certificates
/v2/control-planes/{controlPlaneId}/dp-client-certificates/{certificateId}:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
- $ref: '#/components/parameters/DataPlaneCertificateId'
get:
x-speakeasy-entity-operation: GatewayDataPlaneClientCertificate#read
summary: Fetch DP Client Certificate
tags:
- DP Certificates
responses:
'200':
$ref: '#/components/responses/DataPlaneClientCertificateResponse'
operationId: get-dataplane-certificate
description: >-
Retrieve a pinned dataplane client certificate associated to this
control plane. A pinned dataplane certificate allows dataplanes
configured with the certificate and corresponding private key to
establish connection with this control plane.
delete:
x-speakeasy-entity-operation: GatewayDataPlaneClientCertificate#delete
summary: Delete DP Client Certificate
operationId: delete-dataplane-certificate
responses:
'204':
description: No Content
tags:
- DP Certificates
description: >-
Remove a pinned dataplane client certificate associated to this control
plane. Removing a pinned dataplane certificate would invalidate any
dataplanes currently connected to this control plane using this
certificate.
/v2/control-planes/{controlPlaneId}/expected-config-hash:
get:
summary: Fetch Expected Config Hash
tags:
- DP Nodes
responses:
'200':
$ref: '#/components/responses/GetExpectedConfigHashResponse'
operationId: get-expected-config-hash
description: >-
Retrieve the expected config hash for this control plane. The expected
config hash can be used to verify if the config hash of a data plane
node is up to date with the control plane. The config hash will be the
same if they are in sync.
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/nodes:
get:
summary: List Data Plane Node Records
responses:
'200':
$ref: '#/components/responses/list-nodes'
operationId: list-dataplane-nodes
tags:
- DP Nodes
description: >-
Returns a list of data plane node records that are associated to this
control plane. A data plane node record contains metadata information
for the data plane running Kong Gateway.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageAfter'
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/nodes/{nodeId}:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
- $ref: '#/components/parameters/nodeId'
get:
summary: Fetch Data Plane Node Record
responses:
'200':
$ref: '#/components/responses/get-node'
operationId: get-nodes-node_id
tags:
- DP Nodes
description: >-
Retrieve a specific data plane node record associated to this control
plane. A data plane node record contains all the metadata information of
the Kong Gateway dataplane.
parameters:
- $ref: '#/components/parameters/pagination-size'
- $ref: '#/components/parameters/pagination-tags-filter'
delete:
summary: Delete Data Plane Node Record
operationId: delete-nodes-node_id
responses:
'204':
description: No Content
tags:
- DP Nodes
description: >-
Remove a specific data plane node record associated to this control
plane. Deleting this record does not prevent the data plane node from
re-connecting to the control plane.
/v2/control-planes/{controlPlaneId}/nodes/eol:
get:
summary: List End-of-Life Data Plane Node Records
responses:
'200':
$ref: '#/components/responses/list-nodes-eol'
operationId: get-nodes-eol
tags:
- DP Nodes
description: >-
Returns a list of records of data plane nodes, whose versions are
approaching End of Full Support/End of Life, that are associated with
this control plane. Each record contains a data plane node's id,
version, and corresponding resolution message to upgrade to the closest
Long Term Support version.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageAfter'
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{id}:
parameters:
- schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: id
in: path
required: true
description: The control plane ID
get:
x-speakeasy-entity-operation: GatewayControlPlane#read
summary: Fetch Control Plane
responses:
'200':
$ref: '#/components/responses/RetrieveControlPlaneResponse'
'400':
$ref: '#/components/responses/ControlPlanesBadRequest'
'401':
$ref: '#/components/responses/ControlPlaneUnauthenticated'
'403':
$ref: '#/components/responses/ControlPlanePermissionDenied'
'404':
$ref: '#/components/responses/ControlPlaneNotFound'
'500':
$ref: '#/components/responses/Internal'
'503':
$ref: '#/components/responses/ServiceUnavailable'
operationId: get-control-plane
description: Returns information about an individual control plane.
tags:
- Control Planes
patch:
x-speakeasy-entity-operation: GatewayControlPlane#update
summary: Update Control Plane
operationId: update-control-plane
responses:
'200':
$ref: '#/components/responses/UpdateControlPlaneResponse'
'400':
$ref: '#/components/responses/ControlPlanesBadRequest'
'401':
$ref: '#/components/responses/ControlPlaneUnauthenticated'
'403':
$ref: '#/components/responses/ControlPlanePermissionDenied'
'404':
$ref: '#/components/responses/ControlPlaneNotFound'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
description: Update an individual control plane.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateControlPlaneRequest'
tags:
- Control Planes
delete:
x-speakeasy-entity-operation: GatewayControlPlane#delete
summary: Delete Control Plane
operationId: delete-control-plane
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/ControlPlanesBadRequest'
'401':
$ref: '#/components/responses/ControlPlaneUnauthenticated'
'403':
$ref: '#/components/responses/ControlPlanePermissionDenied'
'404':
$ref: '#/components/responses/ControlPlaneNotFound'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
description: Delete an individual control plane.
tags:
- Control Planes
/v2/control-planes/{id}/group-member-status:
parameters:
- schema:
type: string
name: id
in: path
required: true
description: ID of a control plane
get:
summary: Control Plane Group Member Status
operationId: get-control-planes-id-group-member-status
tags:
- Control Plane Groups
description: Determines the group membership status of a control plane.
responses:
'200':
$ref: '#/components/responses/GetGroupMemberStatus'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/Internal'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/v2/control-planes/{id}/group-memberships:
parameters:
- schema:
type: string
name: id
in: path
required: true
description: ID of a control plane group
get:
summary: List Control Plane Group Memberships
tags:
- Control Plane Groups
responses:
'200':
$ref: '#/components/responses/ListGroupMemberships'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/Internal'
'503':
$ref: '#/components/responses/ServiceUnavailable'
operationId: get-control-planes-id-group-memberships
description: >-
Returns an array of control planes that are a member of this control
plane group.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageAfter'
put:
summary: Upsert Control Plane Group Members
operationId: put-control-planes-id-group-memberships
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/Internal'
'503':
$ref: '#/components/responses/ServiceUnavailable'
requestBody:
$ref: '#/components/requestBodies/GroupMembershipUpsert'
tags:
- Control Plane Groups
description: Adds one or more control planes as a member of a control plane group.
/v2/control-planes/{id}/group-memberships/add:
parameters:
- schema:
type: string
name: id
in: path
required: true
description: ID of a control plane group
post:
x-speakeasy-entity-operation: GatewayControlPlaneMembership#create
summary: Add Control Plane Group Members
operationId: post-control-planes-id-group-memberships-add
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/Internal'
'503':
$ref: '#/components/responses/ServiceUnavailable'
requestBody:
$ref: '#/components/requestBodies/GroupMembershipAdd'
tags:
- Control Plane Groups
description: Adds one or more control planes as a member of a control plane group.
/v2/control-planes/{id}/group-memberships/remove:
parameters:
- schema:
type: string
name: id
in: path
required: true
description: ID of a control plane group
post:
x-speakeasy-entity-operation: GatewayControlPlaneMembership#delete
summary: Remove Control Plane Group Members
operationId: post-control-planes-id-group-memberships-remove
requestBody:
$ref: '#/components/requestBodies/GroupMembershipRemove'
tags:
- Control Plane Groups
description: >-
Removes one or more control planes from the members of a control plane
group.
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/Internal'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/v2/control-planes/{id}/group-status:
parameters:
- schema:
type: string
name: id
in: path
required: true
description: ID of a control plane group
get:
summary: Get Control Plane Group Status
tags:
- Control Plane Groups
responses:
'200':
$ref: '#/components/responses/GetGroupStatus'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/Internal'
'503':
$ref: '#/components/responses/ServiceUnavailable'
operationId: get-control-planes-id-group-status
description: >-
Returns the status of a control plane group, including existing
conflicts.
/v2/dcr-providers:
post:
summary: Create DCR provider
operationId: create-dcr-provider
description: Creates a DCR provider.
requestBody:
$ref: '#/components/requestBodies/CreateDcrProvider'
responses:
'201':
$ref: '#/components/responses/CreateDcrProvider'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- DCR Providers
get:
summary: List DCR Providers
operationId: list-dcr-providers
description: Returns a paginated collection of DCR providers.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/SortDcrProviders'
- $ref: '#/components/parameters/FilterDcrProvidersById'
- $ref: '#/components/parameters/FilterDcrProvidersByIdShort'
- $ref: '#/components/parameters/FilterDcrProvidersByIdContains'
- $ref: '#/components/parameters/FilterDcrProvidersByIssuer'
- $ref: '#/components/parameters/FilterDcrProvidersByIssuerShort'
- $ref: '#/components/parameters/FilterDcrProvidersByIssuerContains'
- $ref: '#/components/parameters/FilterDcrProvidersByName'
- $ref: '#/components/parameters/FilterDcrProvidersByNameShort'
- $ref: '#/components/parameters/FilterDcrProvidersByNameContains'
- $ref: '#/components/parameters/FilterDcrProvidersByProviderType'
- $ref: '#/components/parameters/FilterDcrProvidersByProviderTypeShort'
- $ref: '#/components/parameters/FilterDcrProvidersByInitialClientId'
- $ref: '#/components/parameters/FilterDcrProvidersByInitialClientIdShort'
- $ref: '#/components/parameters/FilterDcrProvidersByInitialClientIdContains'
- $ref: '#/components/parameters/FilterDcrProvidersByInitialClientAudience'
- $ref: >-
#/components/parameters/FilterDcrProvidersByInitialClientAudienceShort
- $ref: >-
#/components/parameters/FilterDcrProvidersByInitialClientAudienceContains
responses:
'200':
$ref: '#/components/responses/ListDcrProviders'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- DCR Providers
/v2/dcr-providers/{dcrProviderId}:
parameters:
- $ref: '#/components/parameters/DcrProviderId'
get:
summary: Fetch DCR provider
description: Returns a DCR provider.
operationId: get-dcr-provider
responses:
'200':
$ref: '#/components/responses/GetDcrProvider'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- DCR Providers
patch:
summary: Update DCR provider
description: Updates a DCR provider.
operationId: update-dcr-provider
requestBody:
$ref: '#/components/requestBodies/UpdateDcrProvider'
responses:
'200':
$ref: '#/components/responses/GetDcrProvider'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- DCR Providers
delete:
summary: Delete DCR provider
description: Deletes a DCR provider.
operationId: delete-dcr-provider
responses:
'204':
description: No Content.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- DCR Providers
/v2/dcr-providers/{dcrProviderId}/verify:
parameters:
- $ref: '#/components/parameters/DcrProviderId'
post:
summary: Verify DCR provider configuration.
description: >-
Verifies if a DCR provider is configured properly. Returns 200 for
success, 4xx for failure.
operationId: verify-dcr-provider
responses:
'200':
$ref: '#/components/responses/VerifyDcrProvider'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- DCR Providers
/v3/authenticate/{organizationLoginPath}:
get:
summary: SSO Callback
description: Callback for authenticating via an organization's IdP
operationId: authenticate-sso
tags:
- Authentication
parameters:
- in: path
name: organizationLoginPath
description: The login path for the organization.
required: true
schema:
type: string
- in: query
name: return_to
description: Return destination for the callback.
schema:
type: string
responses:
'302':
description: Found
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
servers:
- url: https://global.api.konghq.com/
/v3/authentication-settings:
get:
summary: Get Auth Settings
description: >-
Returns authentication configuration, which determines how users can log
in and how they are assigned to teams.
operationId: get-authentication-settings
tags:
- Auth Settings
responses:
'200':
$ref: '#/components/responses/AuthenticationSettings'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
servers:
- url: https://global.api.konghq.com/
patch:
summary: Update Auth Settings
description: Updates authentication configuration.
operationId: update-authentication-settings
requestBody:
$ref: '#/components/requestBodies/UpdateAuthenticationSettings'
tags:
- Auth Settings
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/
/v3/identity-provider:
get:
summary: Fetch IdP Configuration
operationId: get-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'
tags:
- Auth Settings
description: Fetch the IdP configuration.
servers:
- url: https://global.api.konghq.com/
parameters: []
patch:
summary: Update IdP Configuration
operationId: update-idp-configuration
responses:
'200':
$ref: '#/components/responses/IdPConfiguration'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
description: Update the IdP configuration.
requestBody:
$ref: '#/components/requestBodies/UpdateIdPConfiguration'
tags:
- Auth Settings
servers:
- url: https://global.api.konghq.com/
/v3/identity-provider/team-group-mappings:
get:
summary: Fetch Team Group Mappings
operationId: get-team-group-mappings
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'
tags:
- Auth Settings
description: >-
Retrieves the mappings between Konnect Teams and Identity Provider
Groups.
Returns a 400 error if an Identity Provider has not yet been configured.
servers:
- url: https://global.api.konghq.com/
patch:
summary: Patch Mappings by Team ID
operationId: patch-team-group-mappings
responses:
'200':
$ref: '#/components/responses/TeamGroupMappingCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
tags:
- Auth Settings
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'
servers:
- url: https://global.api.konghq.com/
/v3/identity-provider/team-mappings:
put:
summary: Update Team Mappings
operationId: update-idp-team-mappings
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'
tags:
- Auth Settings
description: Updates the IdP group to Konnect team mapping.
requestBody:
$ref: '#/components/requestBodies/UpdateTeamMappings'
servers:
- url: https://global.api.konghq.com/
get:
summary: Fetch Team Mapping
operationId: get-idp-team-mappings
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'
tags:
- Auth Settings
description: Fetch the IdP group to Konnect team mapping.
servers:
- url: https://global.api.konghq.com/
/v3/identity-providers:
get:
summary: Retrieve 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.
operationId: get-identity-providers
parameters:
- schema:
type: object
properties:
type:
$ref: '#/components/schemas/StringFieldEqualsFilter'
in: query
name: filter
description: Filter identity providers returned in the response.
required: false
style: deepObject
responses:
'200':
$ref: '#/components/responses/IdentityProviders'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
tags:
- Auth Settings
servers:
- url: https://global.api.konghq.com/
post:
summary: Create Identity Provider
description: >
Creates a new identity provider. This operation allows the creation of a
new identity provider for
authentication purposes.
operationId: create-identity-provider
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'
tags:
- Auth Settings
servers:
- url: https://global.api.konghq.com/
/v3/identity-providers/{id}:
parameters:
- schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: id
in: path
required: true
description: ID of the identity provider.
get:
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.
operationId: get-identity-provider
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'
tags:
- Auth Settings
servers:
- url: https://global.api.konghq.com/
patch:
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.
operationId: update-identity-provider
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'
tags:
- Auth Settings
servers:
- url: https://global.api.konghq.com/
delete:
summary: Delete Identity Provider
description: >
Deletes an existing identity provider configuration. This operation
removes a specific identity provider
from the organization.
operationId: delete-identity-provider
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'
tags:
- Auth Settings
servers:
- url: https://global.api.konghq.com/
/v3/invites:
post:
summary: Invite User
description: >-
Sends an invitation email to invite a user to the Konnect organization.
The email contains a link with a one time token to accept the
invitation. Upon accepting the invitation, the user is directed to
https://cloud.konghq.com/login to complete registration.
operationId: invite-user
requestBody:
$ref: '#/components/requestBodies/InviteUser'
responses:
'201':
description: Created
'400':
$ref: '#/components/responses/IdentityBadRequest'
'409':
$ref: '#/components/responses/IdentityConflict'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Invites
servers:
- url: https://global.api.konghq.com/
/v3/organizations/impersonation:
get:
summary: Get Impersonation Settings
description: >-
Returns Impersonation Settings, which determines if user impersonation
is allowed for an organization.
operationId: get-impersonation-settings
tags:
- Impersonation Settings
responses:
'200':
$ref: '#/components/responses/GetImpersonationSettingsResponse'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'404':
$ref: '#/components/responses/IdentityNotFound'
servers:
- url: https://global.api.konghq.com/
patch:
summary: Update Impersonation Settings
description: Updates Impersonation Settings.
operationId: update-impersonation-settings
requestBody:
$ref: '#/components/requestBodies/UpdateImpersonationSettingsRequest'
tags:
- Impersonation Settings
responses:
'200':
$ref: '#/components/responses/UpdateImpersonationSettingsResponse'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
servers:
- url: https://global.api.konghq.com/
/v3/organizations/me:
get:
summary: Retrieve My Organization
tags:
- Me
responses:
'200':
$ref: '#/components/responses/MeOrganization'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
operationId: get-organizations-me
description: >-
Returns the organization of the user identified in the token of the
request.
servers:
- url: https://global.api.konghq.com/
/v3/roles:
get:
summary: Get Predefined Roles
description: Retrieves the predefined, or system managed, roles.
operationId: get-predefined-roles
responses:
'200':
$ref: '#/components/responses/Roles'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
tags:
- Roles
servers:
- url: https://global.api.konghq.com/
/v3/system-accounts:
get:
summary: List System Accounts
tags:
- System Accounts
responses:
'200':
$ref: '#/components/responses/SystemAccountCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
operationId: get-system-accounts
description: >-
Returns an array of system accounts (SA) in the organization. Returns
400 if any filter parameters are invalid.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
name:
$ref: '#/components/schemas/StringFieldFilter'
description:
$ref: '#/components/schemas/StringFieldFilter'
konnect_managed:
$ref: '#/components/schemas/BooleanFieldFilter'
in: query
name: filter
description: Filter system accounts returned in the response.
required: false
style: deepObject
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-entity-operation: SystemAccount#create
summary: Create System Account
operationId: post-system-accounts
tags:
- System Accounts
description: >-
Creates a system account. Returns a 409 if a system account with the
same name already exists.
requestBody:
$ref: '#/components/requestBodies/CreateSystemAccount'
responses:
'201':
$ref: '#/components/responses/SystemAccountSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'409':
$ref: '#/components/responses/IdentityConflict'
servers:
- url: https://global.api.konghq.com/
/v3/system-accounts/{accountId}:
get:
x-speakeasy-entity-operation: SystemAccount#read
summary: Fetch System Account
tags:
- System Accounts
responses:
'200':
$ref: '#/components/responses/SystemAccountSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: get-system-accounts-id
description: >-
Returns the system account (SA) for the SA ID specified as a path
parameter.
servers:
- url: https://global.api.konghq.com/
parameters:
- schema:
type: string
name: accountId
in: path
required: true
description: ID of the system account.
x-speakeasy-match: id
patch:
x-speakeasy-entity-operation: SystemAccount#update
summary: Update System Account
operationId: patch-system-accounts-id
responses:
'200':
$ref: '#/components/responses/SystemAccountSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/IdentityConflict'
description: >-
Updates the specified system account. Returns a 409 if the updated name
is the same as another system account in the organization.
tags:
- System Accounts
requestBody:
$ref: '#/components/requestBodies/UpdateSystemAccount'
servers:
- url: https://global.api.konghq.com/
delete:
x-speakeasy-entity-operation: SystemAccount#delete
summary: Delete System Account
operationId: delete-system-accounts-id
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
description: >-
Deletes the specified system account. Returns 404 if the requested
account was not found.
tags:
- System Accounts
servers:
- url: https://global.api.konghq.com/
/v3/system-accounts/{accountId}/access-tokens:
get:
summary: List System Account Access Tokens
tags:
- System Accounts - Access Tokens
responses:
'200':
$ref: '#/components/responses/SystemAccountAccessTokenCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: get-system-account-id-access-tokens
description: >-
Returns the access tokens for the specified system account. Returns 400
if any filter parameters are invalid.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
name:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter access tokens returned in the response.
required: false
style: deepObject
servers:
- url: https://global.api.konghq.com/
parameters:
- schema:
type: string
name: accountId
in: path
required: true
description: ID of the system account.
post:
x-speakeasy-entity-operation: SystemAccountAccessToken#create
summary: Create System Account Access Token
operationId: post-system-accounts-id-access-tokens
responses:
'201':
$ref: '#/components/responses/SystemAccountAccessTokenCreated'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/IdentityConflict'
description: >-
Creates an access token for the specified system account (SA). The
access token can be used for authenticating API and CLI requests. The
token will only be displayed once on creation. Returns a 409 if the
system account already has a token with the same name.
requestBody:
$ref: '#/components/requestBodies/CreateSystemAccountAccessToken'
tags:
- System Accounts - Access Tokens
servers:
- url: https://global.api.konghq.com/
/v3/system-accounts/{accountId}/access-tokens/{tokenId}:
get:
x-speakeasy-entity-operation: SystemAccountAccessToken#read
summary: Fetch System Account Access Token
responses:
'200':
$ref: '#/components/responses/SystemAccountAccessTokenSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: get-system-accounts-id-access-tokens-id
description: >-
Returns the system account (SA) access token for the SA Access Token ID
specified as a path parameter.
parameters: []
tags:
- System Accounts - Access Tokens
servers:
- url: https://global.api.konghq.com/
parameters:
- schema:
type: string
name: accountId
in: path
required: true
description: ID of the system account.
- schema:
type: string
name: tokenId
in: path
required: true
description: ID of the system account access token.
x-speakeasy-match: id
patch:
x-speakeasy-entity-operation: SystemAccountAccessToken#update
summary: Update System Account Access Token
operationId: patch-system-accounts-id-access-tokens-id
responses:
'200':
$ref: '#/components/responses/SystemAccountAccessTokenSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/IdentityConflict'
description: >-
Updates the specified access token. Returns a 409 if the updated name is
the same as another token belonging to the specified system user.
requestBody:
$ref: '#/components/requestBodies/UpdateSystemAccountAccessToken'
tags:
- System Accounts - Access Tokens
servers:
- url: https://global.api.konghq.com/
delete:
x-speakeasy-entity-operation: SystemAccountAccessToken#delete
summary: Delete System Account Access Token
operationId: delete-system-accounts-id-access-tokens-id
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
description: Deletes the specified token. Returns 404 if the token was not found.
tags:
- System Accounts - Access Tokens
servers:
- url: https://global.api.konghq.com/
/v3/system-accounts/{accountId}/assigned-roles:
parameters:
- schema:
type: string
name: accountId
in: path
required: true
description: ID of the system account.
get:
summary: Fetch Assigned Roles for System Account
responses:
'200':
$ref: '#/components/responses/AssignedRoleCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: get-system-accounts-accountId-assigned-roles
description: >-
Lists the roles belonging to a system account. Returns 400 if any filter
parameters are invalid.
parameters:
- schema:
type: object
properties:
role_name:
$ref: '#/components/schemas/StringFieldEqualsFilter'
entity_type_name:
$ref: '#/components/schemas/StringFieldEqualsFilter'
in: query
name: filter
description: Filter roles returned in the response.
required: false
style: deepObject
tags:
- System Accounts - Roles
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-entity-operation: SystemAccountRole#create
summary: Create Assigned Role for System Account
operationId: post-system-accounts-accountId-assigned-roles
responses:
'201':
$ref: '#/components/responses/AssignedRoleSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/IdentityConflict'
description: >-
Assigns a role to a system account. Returns 409 if role is already
assigned.
requestBody:
$ref: '#/components/requestBodies/AssignRole'
tags:
- System Accounts - Roles
servers:
- url: https://global.api.konghq.com/
/v3/system-accounts/{accountId}/assigned-roles/{roleId}:
parameters:
- schema:
type: string
name: accountId
in: path
required: true
description: ID of the system account.
- schema:
type: string
name: roleId
in: path
required: true
description: ID of the role.
x-speakeasy-match: id
delete:
x-speakeasy-entity-operation: SystemAccountRole#delete
summary: Delete Assigned Role from System Account
operationId: delete-system-accounts-accountId-assigned-roles-roleId
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
description: >-
Removes an assigned role from a system account. Returns 404 if the
system account or assigned role were not found.
tags:
- System Accounts - Roles
servers:
- url: https://global.api.konghq.com/
/v3/system-accounts/{accountId}/teams:
parameters:
- schema:
type: string
name: accountId
in: path
required: true
description: ID of the system account.
get:
summary: List Teams for a System Account
responses:
'200':
$ref: '#/components/responses/TeamCollection'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: get-system-accounts-accountId-teams
description: Returns a paginated list of a teams that the system account belongs to.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
name:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter teams returned in the response.
required: false
style: deepObject
tags:
- System Accounts - Team Membership
servers:
- url: https://global.api.konghq.com/
/v3/teams:
get:
summary: List Teams
responses:
'200':
$ref: '#/components/responses/TeamCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: list-teams
description: >-
Returns an array of team objects containing information about the
Konnect Teams.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
name:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter teams returned in the response.
required: false
style: deepObject
tags:
- Teams
servers:
- url: https://global.api.konghq.com/
parameters: []
post:
x-speakeasy-entity-operation: Team#create
summary: Create Team
operationId: create-team
responses:
'201':
$ref: '#/components/responses/TeamSingle'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
tags:
- Teams
requestBody:
$ref: '#/components/requestBodies/CreateTeam'
description: 'Creates a team in the Konnect Organization. '
servers:
- url: https://global.api.konghq.com/
/v3/teams/{teamId}:
parameters:
- schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: teamId
in: path
required: true
description: The team ID
x-speakeasy-match: id
get:
x-speakeasy-entity-operation: Team#read
summary: Fetch Team
responses:
'200':
$ref: '#/components/responses/TeamSingle'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: get-team
description: Returns information about a team from a given team ID.
tags:
- Teams
servers:
- url: https://global.api.konghq.com/
patch:
x-speakeasy-entity-operation: Team#update
summary: Update Team
operationId: update-team
responses:
'200':
$ref: '#/components/responses/TeamSingle'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
description: Updates an individual team.
requestBody:
$ref: '#/components/requestBodies/UpdateTeam'
tags:
- Teams
servers:
- url: https://global.api.konghq.com/
delete:
x-speakeasy-entity-operation: Team#delete
summary: Delete Team
operationId: delete-team
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
description: Deletes an individual team. Returns 404 if the team is not found.
tags:
- Teams
servers:
- url: https://global.api.konghq.com/
/v3/teams/{teamId}/assigned-roles:
parameters:
- schema:
type: string
format: uuid
example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe
name: teamId
in: path
required: true
description: The team ID
get:
summary: List Team Roles
tags:
- Roles
responses:
'200':
$ref: '#/components/responses/AssignedRoleCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: list-team-roles
description: >-
Lists the roles belonging to a team. Returns 400 if any filter
parameters are invalid.
parameters:
- schema:
type: object
properties:
role_name:
$ref: '#/components/schemas/StringFieldEqualsFilter'
entity_type_name:
$ref: '#/components/schemas/StringFieldEqualsFilter'
in: query
name: filter
description: Filter roles returned in the response.
required: false
style: deepObject
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-entity-operation: TeamRole#create
summary: Assign Team Role
operationId: teams-assign-role
responses:
'201':
$ref: '#/components/responses/AssignedRoleSingle'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/IdentityConflict'
description: Assigns a role to a team. Returns 409 if role is already assigned.
requestBody:
$ref: '#/components/requestBodies/AssignRole'
tags:
- Roles
servers:
- url: https://global.api.konghq.com/
/v3/teams/{teamId}/assigned-roles/{roleId}:
parameters:
- schema:
type: string
format: uuid
example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe
name: teamId
in: path
required: true
description: The team ID.
- schema:
type: string
example: 8350205f-a305-4e39-abe9-bc082a80091a
format: uuid
name: roleId
in: path
required: true
description: The role ID.
x-speakeasy-match: id
delete:
x-speakeasy-entity-operation: TeamRole#delete
summary: Remove Team Role
operationId: teams-remove-role
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'
tags:
- Roles
description: >-
Removes an assigned role from a team. Returns 404 if the requested team
or assigned role were not found.
servers:
- url: https://global.api.konghq.com/
/v3/teams/{teamId}/system-accounts:
parameters:
- schema:
type: string
name: teamId
in: path
required: true
description: ID of the team.
get:
summary: List System Accounts on a Team
responses:
'200':
$ref: '#/components/responses/SystemAccountCollection'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: get-teams-teamId-system-accounts
description: >-
Returns a paginated list of system accounts that belong to the team
specified in the path parameter.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
name:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter system accounts returned in the response.
required: false
style: deepObject
tags:
- System Accounts - Team Membership
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-entity-operation: SystemAccountTeam#create
summary: Add System Account to a Team
operationId: post-teams-teamId-system-accounts
responses:
'201':
description: Created
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/IdentityConflict'
description: >-
Adds a system account to a team. Returns a 409 if the system account is
already a member of the team.
requestBody:
$ref: '#/components/requestBodies/AddSystemAccountToTeam'
tags:
- System Accounts - Team Membership
servers:
- url: https://global.api.konghq.com/
/v3/teams/{teamId}/system-accounts/{accountId}:
parameters:
- schema:
type: string
name: teamId
in: path
required: true
description: ID of the team.
- schema:
type: string
name: accountId
in: path
required: true
description: ID of the system account.
delete:
x-speakeasy-entity-operation: SystemAccountTeam#delete
summary: Remove System Account From Team
operationId: delete-teams-teamId-system-accounts-accountId
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/IdentityNotFound'
description: >-
Removes a system account from a team. Returns 404 if the team or system
account were not found.
tags:
- System Accounts - Team Membership
servers:
- url: https://global.api.konghq.com/
/v3/teams/{teamId}/users:
parameters:
- schema:
type: string
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
format: uuid
name: teamId
in: path
required: true
description: ID of the team.
get:
summary: List Team Users
responses:
'200':
$ref: '#/components/responses/UserCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: list-team-users
description: >-
Returns a paginated list of users that belong to the team specified in
the path parameter.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
id:
$ref: '#/components/schemas/StringFieldEqualsFilter'
email:
$ref: '#/components/schemas/StringFieldFilter'
full_name:
$ref: '#/components/schemas/StringFieldFilter'
active:
$ref: '#/components/schemas/BooleanFieldFilter'
in: query
name: filter
description: Filter users returned in the response.
required: false
style: deepObject
tags:
- Team Membership
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-entity-operation: TeamUser#create
summary: Add User
operationId: add-user-to-team
responses:
'201':
description: Created
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/IdentityConflict'
description: Adds a user to a team.
requestBody:
$ref: '#/components/requestBodies/AddUserToTeam'
tags:
- Team Membership
servers:
- url: https://global.api.konghq.com/
/v3/teams/{teamId}/users/{userId}:
parameters:
- schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: userId
in: path
required: true
description: User ID
- schema:
type: string
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
format: uuid
name: teamId
in: path
required: true
description: Team ID.
delete:
x-speakeasy-entity-operation: TeamUser#delete
summary: Remove User
operationId: remove-user-from-team
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
description: >-
Removes a user from a team.
If the user was removed, returns a 204 empty response. Returns 404 if
the user or team were not found.
tags:
- Team Membership
servers:
- url: https://global.api.konghq.com/
/v3/users:
get:
summary: List Users
tags:
- Users
responses:
'200':
$ref: '#/components/responses/UserCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
operationId: list-users
description: Returns a paginated list of user objects.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
id:
$ref: '#/components/schemas/StringFieldEqualsFilter'
email:
$ref: '#/components/schemas/StringFieldFilter'
full_name:
$ref: '#/components/schemas/StringFieldFilter'
active:
$ref: '#/components/schemas/BooleanFieldFilter'
in: query
name: filter
description: Filter users returned in the response.
required: false
style: deepObject
servers:
- url: https://global.api.konghq.com/
/v3/users/{userId}:
parameters:
- schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: userId
in: path
required: true
description: The ID of the user being deleted.
get:
summary: Fetch User
tags:
- Users
responses:
'200':
$ref: '#/components/responses/UserSingle'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: get-user
description: Returns the user object for the user ID specified as a path parameter.
servers:
- url: https://global.api.konghq.com/
patch:
summary: Update User
operationId: update-user
responses:
'200':
$ref: '#/components/responses/UserSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
description: Update an individual user.
requestBody:
$ref: '#/components/requestBodies/UpdateUser'
tags:
- Users
servers:
- url: https://global.api.konghq.com/
delete:
summary: Delete User
operationId: delete-user
responses:
'204':
description: No Content
'404':
$ref: '#/components/responses/IdentityNotFound'
description: >-
Deletes an individual user. Returns 404 if the requested user was not
found.
tags:
- Users
servers:
- url: https://global.api.konghq.com/
/v3/users/{userId}/assigned-roles:
parameters:
- schema:
type: string
format: uuid
example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe
name: userId
in: path
required: true
description: The user ID
get:
summary: List User Roles
tags:
- Roles
responses:
'200':
$ref: '#/components/responses/AssignedRoleCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: list-user-roles
description: >-
Lists the roles assigned to a user. Returns 400 if any filter
parameters are invalid.
parameters:
- schema:
type: object
properties:
role_name:
$ref: '#/components/schemas/StringFieldEqualsFilter'
entity_type_name:
$ref: '#/components/schemas/StringFieldEqualsFilter'
in: query
name: filter
description: Filter roles returned in the response.
required: false
style: deepObject
servers:
- url: https://global.api.konghq.com/
post:
summary: Assign Role
operationId: users-assign-role
responses:
'201':
$ref: '#/components/responses/AssignedRoleSingle'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/IdentityConflict'
description: Assigns a role to a user. Returns 409 if role is already assigned.
requestBody:
$ref: '#/components/requestBodies/AssignRole'
tags:
- Roles
servers:
- url: https://global.api.konghq.com/
/v3/users/{userId}/assigned-roles/{roleId}:
parameters:
- schema:
type: string
format: uuid
example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe
name: userId
in: path
required: true
description: ID of the user.
- schema:
type: string
example: 8350205f-a305-4e39-abe9-bc082a80091a
format: uuid
name: roleId
in: path
required: true
description: ID of the role.
delete:
summary: Remove Role
operationId: users-remove-role
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'404':
$ref: '#/components/responses/IdentityNotFound'
tags:
- Roles
description: >-
Removes an assigned role from a user. Returns 404 if the requested user
or assigned role were not found.
servers:
- url: https://global.api.konghq.com/
/v3/users/{userId}/teams:
parameters:
- schema:
type: string
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
format: uuid
name: userId
in: path
required: true
description: The user ID.
get:
summary: List User Teams
responses:
'200':
$ref: '#/components/responses/TeamCollection'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: list-user-teams
description: Returns a paginated list of a teams that the user belongs to.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
name:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter teams returned in the response.
required: false
style: deepObject
tags:
- Team Membership
servers:
- url: https://global.api.konghq.com/
/v3/users/me:
get:
summary: Retrieve My User Account
tags:
- Me
responses:
'200':
$ref: '#/components/responses/UserSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
operationId: get-users-me
security:
- personalAccessToken: []
- konnectAccessToken: []
description: >-
Returns the user account for the user identified in the token of the
request.
servers:
- url: https://global.api.konghq.com/
components:
parameters:
ControlPlaneFilter:
name: filter
description: Filters a collection of control-planes.
required: false
in: query
schema:
$ref: '#/components/schemas/ControlPlaneFilterParameters'
style: deepObject
FilterByLabels:
name: labels
description: Filter control planes in the response by associated labels.
in: query
required: false
schema:
type: string
example: key:value,existCheck
ControlPlaneSort:
name: sort
description: |
Sorts a collection of control-planes. Supported sort attributes are:
- created_at
required: false
in: query
schema:
$ref: '#/components/schemas/SortQuery'
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
PageNumber:
name: page[number]
description: Determines which page of the entities to retrieve.
required: false
in: query
allowEmptyValue: true
schema:
type: integer
example: 1
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
NetworksFilter:
name: filter
description: Filters supported for networks.
required: false
in: query
schema:
$ref: '#/components/schemas/NetworksFilterParameters'
style: deepObject
ProviderAccountsFilter:
name: filter
description: Filters supported for provider accounts.
required: false
in: query
schema:
$ref: '#/components/schemas/ProviderAccountsFilterParameters'
style: deepObject
ConfigurationsFilter:
name: filter
description: Filters supported for configurations.
required: false
in: query
schema:
$ref: '#/components/schemas/ConfigurationsFilterParameters'
style: deepObject
TransitGatewaysFilter:
name: filter
description: Filters supported for transit gateways.
required: false
in: query
schema:
$ref: '#/components/schemas/TransitGatewaysFilterParameters'
style: deepObject
CustomDomainsFilter:
name: filter
description: Filters supported for custom domains on the global API.
required: false
in: query
schema:
$ref: '#/components/schemas/CustomDomainsFilterParameters'
style: deepObject
ConfigurationId:
name: configurationId
in: path
description: The ID of the configuration to operate on.
required: true
schema:
$ref: '#/components/schemas/ConfigurationId'
x-speakeasy-match: id
CustomDomainId:
name: customDomainId
description: ID of the custom domain to operate on.
required: true
in: path
schema:
$ref: '#/components/schemas/CustomDomainId'
x-speakeasy-match: id
NetworkId:
name: networkId
in: path
description: The network to operate on.
required: true
schema:
$ref: '#/components/schemas/NetworkId'
x-speakeasy-match: id
TransitGatewayId:
name: transitGatewayId
in: path
description: The ID of the transit gateway to operate on.
required: true
schema:
$ref: '#/components/schemas/TransitGatewayId'
x-speakeasy-match: id
ResourceQuotaId:
name: resourceQuotaId
in: path
description: The ID of the resource quota to operate on.
required: true
schema:
$ref: '#/components/schemas/ResourceQuotaId'
ResourceConfigurationId:
name: resourceConfigurationId
in: path
description: The ID of the resource configuration to operate on.
required: true
schema:
$ref: '#/components/schemas/ResourceConfigurationId'
ProviderAccountId:
name: providerAccountId
in: path
description: The ID of the provider account to operate on.
required: true
schema:
$ref: '#/components/schemas/ProviderAccountId'
notificationId:
name: notificationId
in: path
required: true
description: ID of the notification.
schema:
type: string
eventId:
name: eventId
in: path
required: true
description: Formatted string ID of the notification event.
schema:
type: string
example: invoice-ready
subscriptionId:
name: subscriptionId
in: path
required: true
description: Subscription ID of the user configuration.
schema:
type: string
NotificationFilter:
name: filter
description: Filters a collection of notifications.
required: false
in: query
schema:
$ref: '#/components/schemas/NotificationFilterParameters'
style: deepObject
ConfigurationFilter:
name: filter
description: Filters a collection of configurations.
required: false
in: query
schema:
$ref: '#/components/schemas/ConfigurationFilterParameters'
style: deepObject
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
DcrProviderId:
name: dcrProviderId
description: DCR provider identifier
in: path
required: true
schema:
$ref: '#/components/schemas/UUID'
AuthStrategyId:
name: authStrategyId
description: Application auth strategy identifier
in: path
required: true
schema:
$ref: '#/components/schemas/UUID'
x-speakeasy-match: id
SortDcrProviders:
name: sort
description: |
Sorts a collection of DCR Providers. Supported sort attributes are:
- created_at
- updated_at
- provider_type
- issuer
- name
in: query
required: false
schema:
type: string
SortAppAuthStrategies:
name: sort
description: >
Sorts a collection of application auth strategies. Supported sort
attributes are:
- created_at
- updated_at
- strategy_type
- name
- display_name
- dcr_provider_id
- dcr_provider_name
- dcr_provider_type
in: query
required: false
schema:
type: string
FilterDcrProvidersById:
name: filter[id][eq]
description: filters DCR Providers by their id
in: query
required: false
schema:
type: string
FilterDcrProvidersByIdShort:
name: filter[id]
description: filters DCR Providers by their id (alias for filter[id][eq])
in: query
required: false
schema:
type: string
FilterDcrProvidersByIdContains:
name: filter[id][contains]
description: filters DCR Providers by their id with a supplied substring
in: query
required: false
schema:
type: string
FilterDcrProvidersByIssuer:
name: filter[issuer][eq]
description: filters DCR Providers by their issuer
in: query
required: false
schema:
type: string
FilterDcrProvidersByIssuerShort:
name: filter[issuer]
description: filters DCR Providers by their issuer (alias for filter[issuer][eq])
in: query
required: false
schema:
type: string
FilterDcrProvidersByIssuerContains:
name: filter[issuer][contains]
description: filters DCR Providers by their issuer with a supplied substring
in: query
required: false
schema:
type: string
FilterDcrProvidersByName:
name: filter[name][eq]
description: filters DCR Providers by their name
in: query
required: false
schema:
type: string
FilterDcrProvidersByNameShort:
name: filter[name]
description: filters DCR Providers by their name (alias for filter[name][eq])
in: query
required: false
schema:
type: string
FilterDcrProvidersByNameContains:
name: filter[name][contains]
description: filters DCR Providers by their name with a supplied substring
in: query
required: false
schema:
type: string
FilterDcrProvidersByProviderType:
name: filter[provider_type][eq]
description: filters DCR Providers by their provider type
in: query
required: false
schema:
type: string
FilterDcrProvidersByProviderTypeShort:
name: filter[provider_type]
description: >-
filters DCR Providers by their provider type (alias for
filter[provider_type][eq])
in: query
required: false
schema:
type: string
FilterDcrProvidersByInitialClientId:
name: filter[initial_client_id][eq]
description: filters DCR Providers by their initial client id
in: query
required: false
schema:
type: string
FilterDcrProvidersByInitialClientIdShort:
name: filter[initial_client_id]
description: >-
filters DCR Providers by their initial client id (alias for
filter[initial_client_id][eq])
in: query
required: false
schema:
type: string
FilterDcrProvidersByInitialClientIdContains:
name: filter[initial_client_id][contains]
description: >-
filters DCR Providers by their initial client id with a supplied
substring
in: query
required: false
schema:
type: string
FilterDcrProvidersByInitialClientAudience:
name: filter[initial_client_audience][eq]
description: filters DCR Providers by their initial client audience
in: query
required: false
schema:
type: string
FilterDcrProvidersByInitialClientAudienceShort:
name: filter[initial_client_audience]
description: >-
filters DCR Providers by their initial client audience (alias for
filter[initial_client_audience][eq])
in: query
required: false
schema:
type: string
FilterDcrProvidersByInitialClientAudienceContains:
name: filter[initial_client_audience][contains]
description: >-
filters DCR Providers by their initial client audience with a supplied
substring
in: query
required: false
schema:
type: string
pagination-size:
description: Number of resources to be returned.
in: query
name: size
schema:
default: 100
maximum: 1000
minimum: 1
type: integer
pagination-tags-filter:
description: >-
A list of tags to filter the list of resources on. Multiple tags can be
concatenated using ',' to mean AND or using '/' to mean OR.
example: tag1,tag2
in: query
name: tags
schema:
type: string
controlPlaneId:
x-speakeasy-param-force-new: true
name: controlPlaneId
in: path
required: true
schema:
type: string
format: uuid
example: 9524ec7d-36d9-465d-a8c5-83a3c9390458
description: >-
The UUID of your control plane. This variable is available in the
Konnect manager.
DataPlaneCertificateId:
name: certificateId
in: path
schema:
type: string
required: true
x-speakeasy-match: id
configStoreId:
schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: configStoreId
in: path
required: true
description: Config Store identifier
x-speakeasy-match: id
nodeId:
schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: nodeId
in: path
required: true
description: Node identifier
ACLId:
description: ID of the ACL to lookup
example: f28acbfa-c866-4587-b688-0208ac24df21
in: path
name: ACLId
required: true
schema:
type: string
BasicAuthId:
description: ID of the Basic-auth credential to lookup
example: 80db1b58-ca7c-4d21-b92a-64eb07725872
in: path
name: BasicAuthId
required: true
schema:
type: string
CACertificateId:
description: ID of the CA Certificate to lookup
example: 3c31f18a-f27a-4f9b-8cd4-bf841554612f
in: path
name: CACertificateId
required: true
schema:
type: string
CertificateId:
description: ID of the Certificate to lookup
example: ddf3cdaa-3329-4961-822a-ce6dbd38eff7
in: path
name: CertificateId
required: true
schema:
type: string
ConsumerGroupId:
description: ID of the Consumer Group to lookup
example: ''
in: path
name: ConsumerGroupId
required: true
schema:
type: string
ConsumerGroupIdManageConsumers:
in: path
name: ConsumerGroupId
required: true
schema:
type: string
x-speakeasy-name-override: consumer_group_id
ConsumerId:
description: ID of the Consumer to lookup
example: c1059869-6fa7-4329-a5f5-5946d14ca2c5
in: path
name: ConsumerId
required: true
schema:
type: string
ConsumerIdForNestedEntities:
description: Consumer ID for nested entities
example: f28acbfa-c866-4587-b688-0208ac24df21
in: path
name: ConsumerIdForNestedEntities
required: true
schema:
type: string
CustomPluginId:
description: ID of the CustomPlugin to lookup
example: ''
in: path
name: CustomPluginId
required: true
schema:
type: string
Degraphql_routeId:
description: ID of the Degraphql_route to lookup
example: ''
in: path
name: Degraphql_routeId
required: true
schema:
type: string
HMACAuthId:
description: ID of the HMAC-auth credential to lookup
example: 70e7b00b-72f2-471b-a5ce-9c4171775360
in: path
name: HMACAuthId
required: true
schema:
type: string
JWTId:
description: ID of the JWT to lookup
example: 4a7f5faa-8c96-46d6-8214-c87573ef2ac4
in: path
name: JWTId
required: true
schema:
type: string
KeyAuthId:
description: ID of the API-key to lookup
example: ''
in: path
name: KeyAuthId
required: true
schema:
type: string
KeyId:
description: ID of the Key to lookup
example: bba22c06-a632-42be-a018-1b9ff357b5b9
in: path
name: KeyId
required: true
schema:
type: string
KeySetId:
description: ID of the KeySet to lookup
example: 6cc34248-50b4-4a81-9201-3bdf7a83f712
in: path
name: KeySetId
required: true
schema:
type: string
MTLSAuthId:
description: ID of the MTLS-auth credential to lookup
example: ''
in: path
name: MTLSAuthId
required: true
schema:
type: string
PaginationOffset:
allowEmptyValue: true
description: >-
Offset from which to return the next set of resources. Use the value of
the 'offset' field from the response of a list operation as input here
to paginate through all the resources
in: query
name: offset
schema:
type: string
PaginationSize:
description: Number of resources to be returned.
in: query
name: size
schema:
type: integer
default: 100
maximum: 1000
minimum: 1
PaginationTagsFilter:
allowEmptyValue: true
description: >-
A list of tags to filter the list of resources on. Multiple tags can be
concatenated using ',' to mean AND or using '/' to mean OR.
example: tag1,tag2
in: query
name: tags
schema:
type: string
PartialId:
description: ID of the Partial to lookup
example: ''
in: path
name: PartialId
required: true
schema:
type: string
PluginId:
description: ID of the Plugin to lookup
example: 3473c251-5b6c-4f45-b1ff-7ede735a366d
in: path
name: PluginId
required: true
schema:
type: string
RouteId:
description: ID of the Route to lookup
example: a4326a41-aa12-44e3-93e4-6b6e58bfb9d7
in: path
name: RouteId
required: true
schema:
type: string
SNIId:
description: ID of the SNI to lookup
example: 64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f
in: path
name: SNIId
required: true
schema:
type: string
ServiceId:
description: ID of the Service to lookup
example: 7fca84d6-7d37-4a74-a7b0-93e576089a41
in: path
name: ServiceId
required: true
schema:
type: string
TargetId:
description: ID of the Target to lookup
example: 5a078780-5d4c-4aae-984a-bdc6f52113d8
in: path
name: TargetId
required: true
schema:
type: string
UpstreamId:
description: ID of the Upstream to lookup
example: 426d620c-7058-4ae6-aacc-f85a3204a2c5
in: path
name: UpstreamId
required: true
schema:
type: string
UpstreamIdForTarget:
description: ID or target of the Target to lookup
example: 5a078780-5d4c-4aae-984a-bdc6f52113d8
in: path
name: UpstreamIdForTarget
required: true
schema:
type: string
VaultId:
description: ID of the Vault to lookup
example: 9d4d6d19-77c6-428e-a965-9bc9647633e9
in: path
name: VaultId
required: true
schema:
type: string
responses:
RetrieveControlPlaneResponse:
description: A response to retrieving a single control plane.
content:
application/json:
schema:
$ref: '#/components/schemas/ControlPlane'
CreateControlPlaneResponse:
description: A response to creating a control plane.
content:
application/json:
schema:
$ref: '#/components/schemas/ControlPlane'
UpdateControlPlaneResponse:
description: A response to updating a control plane.
content:
application/json:
schema:
$ref: '#/components/schemas/ControlPlane'
ListControlPlanesResponse:
description: A paginated list response for a collection of control planes.
content:
application/json:
schema:
title: ListControlPlanesResponse
type: object
additionalProperties: false
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ControlPlane'
required:
- meta
- data
ControlPlanesBadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
ControlPlanePermissionDenied:
description: Permission denied
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
ControlPlaneUnauthenticated:
description: Unauthenticated
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
ControlPlaneNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
ControlPlaneConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
InternalServerError:
description: Internal Server Error
content:
application/problem+json:
schema:
title: InternalServerError
type: object
description: The error response object.
properties:
status:
type: integer
format: int32
x-go-type: int32
description: The HTTP status code.
example: 500
enum:
- 500
title:
type: string
description: The error response code.
example: Internal Server Error
instance:
type: string
example: konnect:trace:2287285207635123011
description: The Konnect traceback code
detail:
type: string
example: >-
Could not propagate control plane changes to control plane
cluster service.
description: Details about the error.
required:
- status
- title
- instance
ServiceUnavailable:
description: Service Unavailable
content:
application/problem+json:
schema:
title: ServiceUnavailableError
type: object
description: Error response for temporary service unavailability.
properties:
status:
type: integer
format: int32
x-go-type: int32
description: The HTTP status code.
example: 503
enum:
- 503
title:
type: string
description: The error response code.
example: Service Unavailable
instance:
type: string
example: konnect:trace:2287285207635123011
description: The Konnect traceback code
detail:
type: string
example: >-
Could not retrieve permissions to check resource
accessibility.
description: Details about the error.
required:
- status
- title
- instance
ListGroupMemberships:
description: >-
A paginated list response for a collection of control plane group
memberships.
content:
application/json:
schema:
type: object
required:
- meta
- data
properties:
meta:
$ref: '#/components/schemas/CursorPaginatedMetaWithSizeAndTotal'
data:
type: array
description: >-
Array of control planes summary who are a child to this
control plane group.
items:
$ref: '#/components/schemas/ControlPlane'
GetGroupStatus:
description: Status of a control plane group, including existing conflicts.
content:
application/json:
schema:
type: object
properties:
item:
$ref: '#/components/schemas/GroupStatus'
GetGroupMemberStatus:
description: Determines the group membership status of a control plane.
content:
application/json:
schema:
$ref: '#/components/schemas/GroupMemberStatus'
Internal:
description: Internal
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BaseError'
BadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
Unauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
type: object
title: Unauthorized Response
description: The error response object.
properties:
status:
type: integer
example: 403
description: The HTTP status code.
title:
type: string
description: The Error Response.
example: Unauthorized
instance:
type: string
description: The Konnect traceback code.
example: konnect:trace:952172606039454040
detail:
type: string
description: Details about the error response.
example: You do not have permission to perform this action
Forbidden:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
NotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
GetImpersonationSettingsResponse:
description: Response for Get Impersonation Settings endpoint
content:
application/json:
schema:
type: object
title: Get Impersonation Settings Response
properties:
enabled:
type: boolean
example: true
description: The organization has user impersonation enabled.
UpdateImpersonationSettingsResponse:
description: Response for Update Impersonation Settings endpoint
content:
application/json:
schema:
type: object
title: Update Impersonation Settings Response
properties:
enabled:
type: boolean
example: true
description: The organization has user impersonation enabled.
UserSingle:
description: A get action response of a single user.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
UserCollection:
description: A paginated list response for a collection of users.
content:
application/json:
schema:
type: object
title: User Collection Response
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/User'
TeamSingle:
description: A response including a single team.
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
TeamCollection:
description: A paginated list response for a collection of users.
content:
application/json:
schema:
type: object
title: Team Collection Response
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/Team'
TeamMappingCollection:
description: A paginated list response for a collection of team mappings.
content:
application/json:
schema:
type: object
title: Team Mapping Collection Response
properties:
data:
type: array
items:
$ref: '#/components/schemas/TeamMapping'
TeamGroupMappingCollection:
description: A paginated collection of mappings grouped by team_id.
content:
application/json:
schema:
type: object
title: Team Group Mapping Collection Response
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/TeamGroupMapping'
AssignedRoleSingle:
description: A get action response of a single assigned role.
content:
application/json:
schema:
$ref: '#/components/schemas/AssignedRole'
AssignedRoleCollection:
description: A paginated list response for a collection of assigned roles.
content:
application/json:
schema:
type: object
title: Assigned Role Collection Response
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
description: An Array
items:
$ref: '#/components/schemas/AssignedRole'
AuthenticationSettings:
description: Response for authentication settings endpoint
content:
application/json:
schema:
type: object
title: Authentication Settings Response
properties:
basic_auth_enabled:
type: boolean
example: true
description: The organization has basic auth enabled.
oidc_auth_enabled:
type: boolean
example: false
description: The organization has OIDC disabled.
saml_auth_enabled:
type: boolean
example: false
description: The organization has SAML disabled.
idp_mapping_enabled:
type: boolean
example: true
description: IdP groups determine the Konnect teams a user has.
konnect_mapping_enabled:
type: boolean
example: false
description: A Konnect Identity Admin assigns teams to a user.
IdentityBadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
IdentityConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
CreateIdentityProviderPermissionDenied:
description: Permission denied
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
IdentityPermissionDenied:
description: Permission denied
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
PreconditionFailed:
description: Precondition Failed
content:
application/problem+json:
schema:
type: object
title: Precondition Failed Response
description: The error response object.
properties:
status:
type: integer
description: The HTTP status code.
example: 412
title:
type: string
description: The error response code.
example: Precondition Failed
instance:
type: string
description: The Konnect traceback code.
example: konnect:trace:1896611024257578096
detail:
type: string
description: Details about the error response.
example: IdP configuration not found
RateLimited:
description: Rate Limited
content:
application/problem+json:
schema:
type: object
title: Rate Limited Response
description: The error object
properties:
status:
type: integer
description: The HTTP response code
example: 429
title:
type: string
example: Rate Limited
description: The Error response
instance:
type: string
description: The Konnect traceback ID.
example: konnect:trace:3674017986744198214
detail:
type: string
description: Detailed explanation of the error response.
example: Too many requests
IdentityUnauthenticated:
description: Unauthenticated
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
IdentityNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
TeamMappingResponse:
description: A paginated list response for a collection of team mappings.
content:
application/json:
schema:
type: object
title: Team Mapping Response
properties:
meta:
type: object
description: Contains pagination data.
properties:
page:
type: object
description: The page object.
properties:
number:
type: integer
description: Page number.
example: 1
size:
type: integer
description: Page size.
example: 9
total:
type: integer
description: Total number of results.
example: 5
data:
type: array
items:
type: object
properties:
group:
type: string
description: Group names.
example: 111(@&*$)(@*#_@(gfds re gdsf dfg
team_ids:
type: array
description: Team ID's that belong to the specified group.
items:
type: string
example: 3df49db8-39ff-490d-9fe1-251a3361fb13
Roles:
description: The predefined, or system managed, roles.
content:
application/json:
schema:
type: object
title: Roles Response
properties:
control_planes:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- Control Planes
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to all entities
within a control plane.
enum:
- >-
This role grants full write access to all
entities within a control plane.
certificate_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Certificate Admin
description:
type: string
example: >-
This role grants full write access to administer
certificates.
enum:
- >-
This role grants full write access to administer
certificates.
consumer_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Consumer Admin
description:
type: string
example: >-
This role grants full write access to administer
consumers.
enum:
- >-
This role grants full write access to administer
consumers.
creator:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Creator
description:
type: string
example: >-
Creates a new Control Plane in an organization.
The creator becomes the owner of the Control Plane
they create.
enum:
- >-
Creates a new Control Plane in an organization.
The creator becomes the owner of the Control
Plane they create.
deployer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Deployer
description:
type: string
example: >-
This role grants full write access to administer
services, routes and plugins necessary to deploy
services in Service Hub.
enum:
- >-
This role grants full write access to administer
services, routes and plugins necessary to deploy
services in Service Hub.
gateway_service_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Gateway Service Admin
description:
type: string
example: >-
This role grants full write access to administer
gateway services.
enum:
- >-
This role grants full write access to administer
gateway services.
plugin_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Plugin Admin
description:
type: string
example: >-
This role grants full write access to administer
plugins.
enum:
- >-
This role grants full write access to administer
plugins.
route_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Route Admin
description:
type: string
example: >-
This role grants full write access to administer
routes.
enum:
- >-
This role grants full write access to administer
routes.
sni_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- SNI Admin
description:
type: string
example: >-
This role grants full write access to administer
SNIs.
enum:
- >-
This role grants full write access to administer
SNIs.
upstream_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Upstream Admin
description:
type: string
example: >-
This role grants full write access to administer
upstreams.
enum:
- >-
This role grants full write access to administer
upstreams.
viewer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Viewer
description:
type: string
example: >-
This role grants read only access to all entities
within a control plane.
enum:
- >-
This role grants read only access to all
entities within a control plane.
api_products:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- API Products
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to an API
product and its versions.
enum:
- >-
This role grants full write access to an API
product and its versions.
application_registration:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Application Registration
description:
type: string
example: >-
This role grants permission to enable and disable
application registration on an API product.
enum:
- >-
This role grants permission to enable and
disable application registration on an API
product.
creator:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Creator
description:
type: string
example: >-
This access is required to create API products.
This access is not for creating sub-entities such
as versions, API specs, etc.
enum:
- >-
This access is required to create API products.
This access is not for creating sub-entities
such as versions, API specs, etc.
deployer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Deployer
description:
type: string
example: >-
This role grants permission to deploy and remove
an API product from a control plane.
enum:
- >-
This role grants permission to deploy and remove
an API product from a control plane.
maintainer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Maintainer
description:
type: string
example: >-
This role grants all write permission to manage an
API product and to administer plugins.
enum:
- >-
This role grants all write permission to manage
an API product and to administer plugins.
plugins_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Plugins Admin
description:
type: string
example: >-
This role grants full write permission to
administer plugins.
enum:
- >-
This role grants full write permission to
administer plugins.
publisher:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Publisher
description:
type: string
example: >-
This role grants permission to publish an API
product to one or more portals.
enum:
- >-
This role grants permission to publish an API
product to one or more portals.
viewer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Viewer
description:
type: string
example: >-
Viewer has read-only access to an API product and
its sub-entities.
enum:
- >-
Viewer has read-only access to an API product
and its sub-entities.
audit_logs:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- Audit Logs
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to the Audit
log configuration.
enum:
- >-
This role grants full write access to the Audit
log configuration.
identity:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- Identity
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to the Identity
configuration.
enum:
- >-
This role grants full write access to the
Identity configuration.
mesh_control_planes:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- Mesh Control Plane
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to the related
to Mesh control planes.
enum:
- >-
This role grants full write access to the
related to Mesh control planes.
connector:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Connector
description:
type: string
example: >-
This role grants a mesh zone to connect to the
mesh control plane in Konnect.
enum:
- >-
This role grants a mesh zone to connect to the
mesh control plane in Konnect.
creator:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Creator
description:
type: string
example: >-
This role grants access to create new Mesh control
planes.
enum:
- >-
This role grants access to create new Mesh
control planes.
viewer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Viewer
description:
type: string
example: >-
This role grants access to read-only permissions
to Mesh control planes.
enum:
- >-
This role grants access to read-only permissions
to Mesh control planes.
SystemAccountCollection:
description: A paginated list response for a collection of system accounts.
content:
application/json:
schema:
type: object
title: System Account Collection Response
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/SystemAccount'
SystemAccountSingle:
description: A response including a single system account.
content:
application/json:
schema:
$ref: '#/components/schemas/SystemAccount'
SystemAccountAccessTokenSingle:
description: A response including a single system account access token.
content:
application/json:
schema:
$ref: '#/components/schemas/SystemAccountAccessToken'
SystemAccountAccessTokenCollection:
description: >-
A paginated list response for a collection of system accounts access
tokens.
content:
application/json:
schema:
type: object
title: System Account Access Token Collection Reponse
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/SystemAccountAccessToken'
SystemAccountAccessTokenCreated:
description: >-
A response including a single system account access token with the
token.
content:
application/json:
schema:
x-speakeasy-entity: SystemAccountAccessToken
type: object
title: System Account Access Token Created Response
example:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Sample Access Token
created_at: '2022-08-01T14:16:09Z'
updated_at: '2022-08-02T08:35:49Z'
expires_at: '2022-12-31T12:52:23Z'
last_used_at: '2022-10-24T13:05:42Z'
properties:
id:
type: string
description: ID of the system account access token.
format: uuid
readOnly: true
name:
type: string
description: Name of the system account access token.
created_at:
type: string
description: Timestamp of when the system account access token was created.
format: date-time
readOnly: true
updated_at:
type: string
description: >-
Timestamp of when the system account access token was last
updated.
format: date-time
readOnly: true
expires_at:
type: string
description: Timestamp of when the system account access token will expire.
format: date-time
readOnly: true
last_used_at:
type: string
description: >-
Timestamp of when the system account access token was last
used.
format: date-time
readOnly: true
token:
type: string
description: The token of the system account access token.
readOnly: true
MeOrganization:
description: Me Organization
content:
application/json:
schema:
type: object
title: Me Organization Response
example:
id: d99c041a-c7cf-46a2-bf3a-44bb5f75400e
name: string
owner_id: 1c9c3848-5897-4f2c-beed-df6f3e3adb37
created_at: '2023-01-23T17:22:52.150Z'
updated_at: '2023-01-23T17:22:52.150Z'
state: active
retention_period_days: 90
properties:
id:
type: string
description: UUID of the organization.
format: uuid
readOnly: true
name:
type: string
description: Name of the organization.
owner_id:
type: string
description: Owner ID of the organization.
login_path:
type: string
description: >-
Path to organization-specific login when single sign on (SSO)
is enabled. Blank otherwise.
created_at:
type: string
description: Date the organization was created.
format: date-time
readOnly: true
updated_at:
type: string
description: Date the organization was last updated.
format: date-time
readOnly: true
state:
type: string
description: State of the organization
enum:
- active
- inactive
- deleting
- deleted
retention_period_days:
type: integer
description: >-
The number of days an organization spends inactive before
being deleted.
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'
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
title: Identity Provider Collection Response
items:
$ref: '#/components/schemas/IdentityProvider'
IdPConfiguration:
description: A get action response of the IdP configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/IdP'
RetrieveCloudGatewaysAvailabilityDocumentResponse:
description: >-
Response format for retrieving the cloud gateways availability JSON
document.
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityDocument'
ListNetworkConfigurationReferencesResponse:
description: >-
A paginated list for a collection of configurations that reference a
network.
content:
application/json:
schema:
title: ListNetworkConfigurationReferencesResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/NetworkConfigurationReference'
required:
- meta
- data
ListConfigurationsResponse:
description: A paginated list for a collection of configurations.
content:
application/json:
schema:
title: ListConfigurationsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ConfigurationManifest'
required:
- meta
- data
RetrieveConfigurationResponse:
description: Response format for retrieving a configuration by ID.
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationManifest'
CreateConfigurationResponse:
description: Response format for creating a configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationManifest'
ListNetworksResponse:
description: A paginated list for a collection of networks.
content:
application/json:
schema:
title: ListNetworksResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/Network'
required:
- meta
- data
RetrieveNetworkResponse:
description: Response format for retrieving a network.
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
CreateNetworkResponse:
description: Response format for creating a network.
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
PatchNetworkResponse:
description: Response format for patching a network.
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
CreateTransitGatewayResponse:
description: Response format for creating a transit gateway.
content:
application/json:
schema:
$ref: '#/components/schemas/TransitGatewayResponse'
ListTransitGatewaysResponse:
description: A paginated list for a collection of transit gateways for a network.
content:
application/json:
schema:
title: ListTransitGatewaysResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/TransitGatewayResponse'
required:
- meta
- data
RetrieveTransitGatewayResponse:
description: Response format for retrieving a transit gateway.
content:
application/json:
schema:
$ref: '#/components/schemas/TransitGatewayResponse'
ListProviderAccountsResponse:
description: A paginated list for a collection of provider accounts.
content:
application/json:
schema:
x-speakeasy-entity: CloudGatewayProviderAccountList
title: ListCloudGatewayProviderAccountsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ProviderAccount'
required:
- meta
- data
RetrieveProviderAccountResponse:
description: Response format for retrieving a provider account.
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderAccount'
CreateCustomDomainResponse:
description: >-
Response format for creating a custom domain for a control-plane in the
global API.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomain'
RetrieveCustomDomainResponse:
description: Response format for retrieving a custom domain for a control-plane.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomain'
ListCustomDomainsResponse:
description: A paginated list for a collection of custom domains.
content:
application/json:
schema:
title: ListGlobalCustomDomainsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/CustomDomain'
required:
- meta
- data
RetrieveCustomDomainOnlineStatusResponse:
description: >-
Response format for retrieving the CNAME and SSL status of a custom
domain.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomainOnlineStatus'
RetrieveResourceQuotaResponse:
description: Response format for retrieving a resource quota for an organization.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceQuota'
ListResourceQuotasResponse:
description: A paginated list for a collection of resource quotas.
content:
application/json:
schema:
title: ListResourceQuotasResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ResourceQuota'
required:
- meta
- data
ListDefaultResourceQuotasResponse:
description: A paginated list for a collection of default resource quotas.
content:
application/json:
schema:
title: ListDefaultResourceQuotasResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/DefaultResourceQuota'
required:
- meta
- data
CloudGatewaysBadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
CloudGatewaysForbidden:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
CloudGatewaysConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
ListDefaultResourceConfigurationsResponse:
description: A paginated list for a collection of default resource configurations.
content:
application/json:
schema:
title: ListDefaultResourceConfigurationsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/DefaultResourceConfiguration'
required:
- meta
- data
ListResourceConfigurationsResponse:
description: A paginated list for a collection of resource configurations.
content:
application/json:
schema:
title: ListResourceConfigurationsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ResourceConfiguration'
required:
- meta
- data
RetrieveResourceConfigurationResponse:
description: >-
Response format for retrieving a resource configuration for an
organization.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceConfiguration'
Conflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
NotificationResponse:
description: View a single notification.
content:
application/json:
schema:
$ref: '#/components/schemas/Notification'
NotificationListResponse:
description: A paginated list response for a collection of notifications
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- data
- meta
properties:
data:
type: array
items:
$ref: '#/components/schemas/Notification'
meta:
$ref: '#/components/schemas/CursorMetaPage'
UserConfigurationListResponse:
description: >-
A paginated list response for all notification events and user
subscriptions.
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/UserConfiguration'
EventSubscriptionListResponse:
description: >-
A paginated list response for all subscriptions associated with an
event.
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- data
- meta
properties:
data:
type: array
items:
$ref: '#/components/schemas/EventSubscriptionResponse'
meta:
$ref: '#/components/schemas/CursorMetaPage'
EventSubscriptionResponse:
description: >-
Response containing specific subscription details associated with an
event.
content:
application/json:
schema:
$ref: '#/components/schemas/EventSubscriptionResponse'
CreateDcrProvider:
description: A response containing the newly created DCR provider object.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDcrProviderResponse'
GetDcrProvider:
description: >-
A response containing a single DCR provider object. Sensitive fields
will be removed from the response.
content:
application/json:
schema:
$ref: '#/components/schemas/DcrProviderResponse'
ListDcrProviders:
description: A paginated list response for a collection of DCR providers
content:
application/json:
schema:
$ref: '#/components/schemas/ListDcrProvidersResponse'
VerifyDcrProvider:
description: >-
A response containing the result of attempting to verify a DCR provider
configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyDcrProviderResponse'
CreateAppAuthStrategy:
description: >-
A response containing the newly created application auth strategy
object.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAppAuthStrategyResponse'
GetAppAuthStrategy:
description: A response containing a single application auth strategy object.
content:
application/json:
schema:
$ref: '#/components/schemas/GetAppAuthStrategyResponse'
UpdateAppAuthStrategy:
description: A response containing a single updated application auth strategy object.
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAppAuthStrategyResponse'
ListAppAuthStrategies:
description: >-
A paginated list response for a collection of application auth
strategies.
content:
application/json:
schema:
$ref: '#/components/schemas/ListAppAuthStrategiesResponse'
DataPlaneClientCertificateResponse:
description: Response body for retrieving a dp-client-certificate.
content:
application/json:
schema:
type: object
properties:
item:
$ref: '#/components/schemas/DataPlaneClientCertificate'
GetExpectedConfigHashResponse:
description: >-
Response body for retrieving the expected config hash of the control
plane.
content:
application/json:
schema:
type: object
required:
- expected_hash
- created_at
- updated_at
properties:
expected_hash:
type: string
description: The expected configuration hash.
created_at:
type: integer
description: Date the control plane configuration was created.
updated_at:
type: integer
description: Date the control plane configuration was last updated.
ListDataPlaneCertificatesResponse:
description: Example response
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/DataPlaneClientCertificate'
page:
type: object
properties:
total:
type: integer
list-nodes:
description: Example response
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
id:
type: string
version:
type: string
hostname:
type: string
last_ping:
type: integer
type:
type: string
created_at:
type: integer
updated_at:
type: integer
config_hash:
type: string
compatibility_status:
type: object
properties:
state:
type: string
page:
type: object
properties:
total:
type: integer
next:
type: string
list-nodes-eol:
description: Example response
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
node_id:
type: string
node_version:
type: string
message:
type: string
page:
type: object
properties:
total:
type: integer
get-node:
description: Example response
content:
application/json:
schema:
type: object
properties:
item:
type: object
properties:
id:
type: string
version:
type: string
hostname:
type: string
last_ping:
type: integer
type:
type: string
created_at:
type: integer
updated_at:
type: integer
config_hash:
type: string
compatibility_status:
type: object
properties:
state:
type: string
list-plugin-schemas:
description: A paginated list response for a collection of custom plugin schemas.
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
lua_schema:
type: string
description: The custom plugin schema; `jq -Rs '.' schema.lua`.
example: >-
return { name = \"myplugin\", fields = { { config = {
type = \"record\", fields = { } } } } }
name:
type: string
description: >-
The custom plugin name determined by the custom plugin
schema.
example: myplugin
created_at:
type: integer
description: >-
An ISO-8604 timestamp representation of custom plugin
schema creation date.
example: 1422386534
updated_at:
type: integer
description: >-
An ISO-8604 timestamp representation of custom plugin
schema update date.
example: 1422412345
page:
type: object
properties:
total:
type: integer
plugin-schemas:
description: A response for a single custom plugin schema.
content:
application/json:
schema:
type: object
properties:
item:
x-speakeasy-entity: GatewayCustomPluginSchema
type: object
properties:
lua_schema:
type: string
description: The custom plugin schema; `jq -Rs '.' schema.lua`.
example: >-
return { name = \"myplugin\", fields = { { config = { type
= \"record\", fields = { } } } } }
name:
type: string
description: >-
The custom plugin name determined by the custom plugin
schema.
example: myplugin
created_at:
type: integer
description: >-
An ISO-8604 timestamp representation of custom plugin
schema creation date.
example: 1422386534
updated_at:
type: integer
description: >-
An ISO-8604 timestamp representation of custom plugin
schema update date.
example: 1422412345
ListConfigStoresResponse:
description: List of Config Stores
content:
application/json:
schema:
title: ListConfigStoresResponse
type: object
required:
- data
- meta
properties:
meta:
$ref: '#/components/schemas/CursorMeta'
data:
type: array
items:
$ref: '#/components/schemas/ConfigStore'
ListConfigStoreSecretsResponse:
description: List of Config Store Secrets
content:
application/json:
schema:
title: ListConfigStoreSecretsResponse
type: object
required:
- data
- meta
properties:
meta:
$ref: '#/components/schemas/CursorMeta'
data:
type: array
items:
$ref: '#/components/schemas/ConfigStoreSecret'
ConfigStoreResponse:
description: Config Store
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigStore'
ConfigStoreSecretResponse:
description: Config Store Secret
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigStoreSecret'
ConfigStoreUnauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
ConfigStoreSecretUnauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
ConfigStoreNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
ConfigStoreSecretNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
HTTP401Error:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/GatewayUnauthorizedError'
UnsupportedMediaType:
description: Unsupported Media Type
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnsupportedMediaTypeError'
schemas:
GroupMembership:
x-speakeasy-entity: GatewayControlPlaneMembership
type: object
required:
- members
properties:
members:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
CreateControlPlaneRequest:
x-speakeasy-entity: GatewayControlPlane
title: CreateControlPlaneRequest
description: The request schema for the create control plane request.
type: object
additionalProperties: false
properties:
name:
type: string
example: Test Control Plane
description: The name of the control plane.
description:
type: string
example: A test control plane for exploration.
description: The description of the control plane in Konnect.
cluster_type:
type: string
description: >-
The ClusterType value of the cluster associated with the Control
Plane.
example: CLUSTER_TYPE_CONTROL_PLANE
enum:
- CLUSTER_TYPE_CONTROL_PLANE
- CLUSTER_TYPE_K8S_INGRESS_CONTROLLER
- CLUSTER_TYPE_CONTROL_PLANE_GROUP
- CLUSTER_TYPE_SERVERLESS
- CLUSTER_TYPE_KAFKA_NATIVE_EVENT_PROXY
auth_type:
type: string
description: >-
The auth type value of the cluster associated with the Runtime
Group.
example: pinned_client_certs
enum:
- pinned_client_certs
- pki_client_certs
cloud_gateway:
type: boolean
description: Whether this control-plane can be used for cloud-gateways.
example: false
proxy_urls:
$ref: '#/components/schemas/ProxyURLs'
labels:
$ref: '#/components/schemas/Labels'
required:
- name
UpdateControlPlaneRequest:
title: UpdateControlPlaneRequest
description: The request schema for the update control plane request.
type: object
additionalProperties: false
properties:
name:
type: string
example: Test Control Plane
description: The name of the control plane.
description:
type: string
example: A test control plane for exploration.
description: The description of the control plane in Konnect.
auth_type:
type: string
description: >-
The auth type value of the cluster associated with the Runtime
Group.
example: pinned_client_certs
enum:
- pinned_client_certs
- pki_client_certs
proxy_urls:
$ref: '#/components/schemas/ProxyURLs'
labels:
$ref: '#/components/schemas/Labels'
ControlPlane:
x-speakeasy-entity: GatewayControlPlane
type: object
description: >-
The control plane object contains information about a Kong control
plane.
additionalProperties: false
properties:
id:
x-speakeasy-param-suppress-computed-diff: true
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The control plane ID.
readOnly: true
name:
type: string
example: Test Control Plane
description: The name of the control plane.
description:
type: string
example: A test control plane for exploration.
description: The description of the control plane in Konnect.
labels:
$ref: '#/components/schemas/Labels'
config:
type: object
description: CP configuration object for related access endpoints.
additionalProperties: false
properties:
control_plane_endpoint:
type: string
format: url
example: https://acfe5f253f.cp0.konghq.com
description: Control Plane Endpoint.
readOnly: true
telemetry_endpoint:
type: string
format: url
example: https://acfe5f253f.tp0.konghq.com
description: Telemetry Endpoint.
readOnly: true
cluster_type:
type: string
description: >-
The ClusterType value of the cluster associated with the Control
Plane.
example: CLUSTER_TYPE_CONTROL_PLANE
enum:
- CLUSTER_TYPE_CONTROL_PLANE
- CLUSTER_TYPE_K8S_INGRESS_CONTROLLER
- CLUSTER_TYPE_CONTROL_PLANE_GROUP
- CLUSTER_TYPE_SERVERLESS
- CLUSTER_TYPE_KAFKA_NATIVE_EVENT_PROXY
readOnly: true
auth_type:
type: string
description: >-
The auth type value of the cluster associated with the Runtime
Group.
example: pinned_client_certs
enum:
- pinned_client_certs
- pki_client_certs
readOnly: true
cloud_gateway:
type: boolean
description: Whether the Control Plane can be used for cloud-gateways.
readOnly: true
proxy_urls:
$ref: '#/components/schemas/ProxyURLs'
required:
- control_plane_endpoint
- telemetry_endpoint
- cluster_type
- auth_type
- cloud_gateway
created_at:
x-speakeasy-terraform-ignore: true
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An ISO-8604 timestamp representation of control plane creation date.
readOnly: true
updated_at:
x-speakeasy-terraform-ignore: true
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An ISO-8604 timestamp representation of control plane update date.
readOnly: true
required:
- id
- name
- config
- created_at
- updated_at
GroupStatus:
title: GroupStatus
type: object
description: >-
The Group Status object contains information about the status of a
control plane group.
required:
- id
- created_at
- updated_at
- state
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The control plane group ID.
readOnly: true
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An ISO-8604 timestamp representation of control plane group status
creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An ISO-8604 timestamp representation of control plane group status
update date.
readOnly: true
conflicts:
type: array
maxItems: 256
items:
$ref: '#/components/schemas/GroupConflict'
state:
type: string
description: The state of the control plane group.
example: CONFLICT
readOnly: true
enum:
- OK
- CONFLICT
- UNKNOWN
GroupConflict:
title: GroupConflict
type: object
description: >-
The Group Conflict object contains information about a conflict in a
control plane group.
required:
- cluster_id
- description
- resource
properties:
cluster_id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The ID of a control plane member of a control plane group.
readOnly: true
description:
type: string
example: >-
conflicting entity found: ID=38d790ad-8b08-4ff5-a074-2e1e9e64d8bd,
Name=foo
description: The description of the conflict.
readOnly: true
resource:
$ref: '#/components/schemas/GroupConflictResource'
GroupConflictResource:
title: GroupConflictResource
type: object
description: A resource causing a conflict in a control plane group.
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The ID of the resource.
readOnly: true
type:
type: string
example: service
description: The type of the resource.
readOnly: true
required:
- id
- type
GroupMemberStatus:
title: GroupMemberStatus
type: object
description: >-
Object with information determining the group membership status of a
control plane.
properties:
is_member:
type: boolean
example: true
description: >-
Boolean indicating if a control plane is a member of a control plane
group.
readOnly: true
required:
- is_member
Labels:
title: Labels
type: object
example:
env: test
description: >
Labels store metadata of an entity that can be used for filtering an
entity list or for searching across entity types.
Keys must be of length 1-63 characters, and cannot start with "kong",
"konnect", "mesh", "kic", or "_".
additionalProperties:
type: string
pattern: ^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$
minLength: 1
maxLength: 63
maxProperties: 50
ProxyURL:
title: ProxyURL
description: >-
Proxy URL associated with reaching the data-planes connected to a
control-plane.
type: object
additionalProperties: false
properties:
host:
type: string
description: Hostname of the proxy URL.
port:
type: integer
description: Port of the proxy URL.
protocol:
type: string
description: Protocol of the proxy URL.
required:
- host
- port
- protocol
example:
host: example.com
port: 443
protocol: https
ProxyURLs:
title: ProxyURLs
description: >-
Array of proxy URLs associated with reaching the data-planes connected
to a control-plane.
type: array
format: set
items:
$ref: '#/components/schemas/ProxyURL'
example:
- host: example.com
port: 443
protocol: https
ControlPlaneFilterParameters:
title: ControlPlaneFilterParameters
type: object
additionalProperties: false
properties:
id:
description: >-
Returns entities that exact match any of the comma-delimited phrases
in the filter string.
type: object
properties:
eq:
type: string
oeq:
type: string
additionalProperties: false
name:
description: Filters on the given string field value by exact match inequality.
type: object
properties:
eq:
type: string
contains:
type: string
neq:
type: string
additionalProperties: false
cluster_type:
description: Filters on the given string field value by exact match inequality.
type: object
properties:
eq:
type: string
neq:
type: string
additionalProperties: false
cloud_gateway:
$ref: '#/components/schemas/BooleanFieldFilter'
StringFieldEqualsFilter:
title: StringFieldEqualsFilter
description: Filters on the given string field value by exact match.
type: string
properties:
eq:
type: string
StringFieldOEQFilter:
title: StringFieldOEQFilter
description: >-
Returns entities that exact match any of the comma-delimited phrases in
the filter string.
type: object
additionalProperties: false
properties:
oeq:
type: string
required:
- oeq
StringFieldContainsFilter:
title: StringFieldContainsFilter
description: Filters on the given string field value by fuzzy match.
type: object
additionalProperties: false
properties:
contains:
type: string
required:
- contains
StringFieldNEQFilter:
title: StringFieldNEQFilter
description: Filters on the given string field value by exact match inequality.
type: object
additionalProperties: false
properties:
neq:
type: string
required:
- neq
BooleanFieldFilter:
title: BooleanFieldFilter
description: Filter by a boolean value (true/false).
type: boolean
example: true
SortQuery:
title: SortQuery
type: string
example: created_at desc
description: >
The `asc` suffix is optional as the default sort order is ascending.
The `desc` suffix is used to specify a descending order.
Multiple sort attributes may be provided via a comma separated list.
JSONPath notation may be used to specify a sub-attribute (eg: 'foo.bar
desc').
PageMeta:
type: object
description: >-
Contains pagination query parameters and the total number of objects
returned.
required:
- number
- size
- total
properties:
number:
type: number
example: 1
size:
type: number
example: 10
total:
type: number
example: 100
PaginatedMeta:
type: object
title: PaginatedMeta
description: returns the pagination information
properties:
page:
$ref: '#/components/schemas/PageMeta'
required:
- page
BaseError:
type: object
title: Error
description: standard error
required:
- status
- title
- instance
- detail
properties:
status:
type: integer
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.
readOnly: true
title:
type: string
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.
readOnly: true
type:
type: string
description: The error type.
readOnly: true
instance:
type: string
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.
readOnly: true
detail:
type: string
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.
readOnly: true
InvalidRules:
description: invalid parameters rules
type: string
readOnly: true
nullable: true
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
InvalidParameterStandard:
type: object
additionalProperties: false
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
required:
- field
- reason
InvalidParameterMinimumLength:
type: object
additionalProperties: false
properties:
field:
type: string
example: name
readOnly: true
rule:
description: invalid parameters rules
type: string
readOnly: true
nullable: false
enum:
- min_length
- min_digits
- min_lowercase
- min_uppercase
- min_symbols
- min_items
- min
minimum:
type: integer
example: 8
source:
type: string
example: body
reason:
type: string
example: must have at least 8 characters
readOnly: true
required:
- field
- reason
- rule
- minimum
InvalidParameterMaximumLength:
type: object
additionalProperties: false
properties:
field:
type: string
example: name
readOnly: true
rule:
description: invalid parameters rules
type: string
readOnly: true
nullable: false
enum:
- max_length
- max_items
- max
maximum:
type: integer
example: 8
source:
type: string
example: body
reason:
type: string
example: must not have more than 8 characters
readOnly: true
required:
- field
- reason
- rule
- maximum
InvalidParameterChoiceItem:
type: object
additionalProperties: false
properties:
field:
type: string
example: name
readOnly: true
rule:
description: invalid parameters rules
type: string
readOnly: true
nullable: false
enum:
- enum
reason:
type: string
example: is a required field
readOnly: true
choices:
type: array
uniqueItems: true
readOnly: true
nullable: false
minItems: 1
items: {}
source:
type: string
example: body
required:
- field
- reason
- rule
- choices
InvalidParameterDependentItem:
type: object
additionalProperties: false
properties:
field:
type: string
example: name
readOnly: true
rule:
description: invalid parameters rules
type: string
readOnly: true
nullable: true
enum:
- dependent_fields
reason:
type: string
example: is a required field
readOnly: true
dependents:
type: array
uniqueItems: true
nullable: true
items: {}
readOnly: true
source:
type: string
example: body
required:
- field
- rule
- reason
- dependents
InvalidParameters:
type: array
nullable: false
uniqueItems: true
minItems: 1
description: invalid parameters
items:
oneOf:
- $ref: '#/components/schemas/InvalidParameterStandard'
- $ref: '#/components/schemas/InvalidParameterMinimumLength'
- $ref: '#/components/schemas/InvalidParameterMaximumLength'
- $ref: '#/components/schemas/InvalidParameterChoiceItem'
- $ref: '#/components/schemas/InvalidParameterDependentItem'
BadRequestError:
allOf:
- $ref: '#/components/schemas/BaseError'
- type: object
required:
- invalid_parameters
properties:
invalid_parameters:
$ref: '#/components/schemas/InvalidParameters'
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
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
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
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
CursorMetaWithSizeAndTotal:
type: object
required:
- size
- next
- total
properties:
next:
description: URI to the next page
type: string
format: path
nullable: true
size:
description: Requested page size
type: number
example: 10
total:
description: >-
Total number of objects in the collection; will only be present on
the first page
type: number
example: 974
nullable: true
CursorPaginatedMetaWithSizeAndTotal:
type: object
title: CursorPaginatedMetaWithSizeAndTotal
description: returns the pagination information
properties:
page:
$ref: '#/components/schemas/CursorMetaWithSizeAndTotal'
required:
- page
CreatedAt:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An ISO-8601 timestamp representation of entity creation date.
readOnly: true
UpdatedAt:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An ISO-8601 timestamp representation of entity update date.
readOnly: true
IdentityProviderEnabled:
title: Identity Provider Enabled Property
type: boolean
description: >
Indicates whether the identity provider is enabled.
Only one identity provider can be active at a time, such as SAML or
OIDC.
default: false
example: true
IdentityProviderType:
type: string
enum:
- oidc
- saml
description: Specifies the type of identity provider.
example: oidc
IdentityProviderLoginPath:
title: Identity Provider Login Path Property
type: string
example: myapp
description: The path used for initiating login requests with the identity provider.
OIDCIdentityProviderIssuer:
title: OIDC Identity Provider Issuer Property
type: string
format: uri
description: >-
The issuer URI of the identity provider. This is the URL where the
provider's metadata can be obtained.
example: https://konghq.okta.com/oauth2/default
OIDCIdentityProviderClientId:
title: OIDC Identity Provider Login Client Id Property
type: string
example: YOUR_CLIENT_ID
description: The client ID assigned to your application by the identity provider.
OIDCIdentityProviderClientSecret:
title: OIDC Identity Provider Login Client Secret Property
type: string
example: YOUR_CLIENT_SECRET
description: The Client Secret assigned to your application by the identity provider.
OIDCIdentityProviderScopes:
title: OIDC Identity Provider Scopes Property
type: array
description: >-
The scopes requested by your application when authenticating with the
identity provider.
default:
- email
- openid
- profile
items:
type: string
OIDCIdentityProviderClaimMappings:
title: OIDC Claim Mappings
type: object
description: >
Defines the mappings between OpenID Connect (OIDC) claims and local
claims used by your application for
authentication.
properties:
name:
type: string
example: name
description: The claim mapping for the user's name.
email:
type: string
example: email
description: The claim mapping for the user's email address.
groups:
type: string
example: groups
description: The claim mapping for the user's group membership information.
SAMLIdentityProviderMetadataURL:
title: SAML Identity Provider Metadata URL
type: string
format: uri
description: >-
The identity provider's metadata URL where the identity provider's
metadata can be obtained.
example: https://mocksaml.com/api/saml/metadata
SAMLIdentityProviderMetadata:
title: SAML Identity Provider Metadata
type: string
description: >
The identity provider's SAML metadata. If the identity provider supports
a metadata URL, you can use the `idp_metadata_url` field instead.
example: |
CreateIdentityProvider:
title: Identity Provider
type: object
description: >-
The identity provider that contains configuration data for creating an
authentication integration.
properties:
type:
$ref: '#/components/schemas/IdentityProviderType'
login_path:
$ref: '#/components/schemas/IdentityProviderLoginPath'
config:
type: object
oneOf:
- $ref: '#/components/schemas/ConfigureOIDCIdentityProviderConfig'
- $ref: '#/components/schemas/SAMLIdentityProviderConfig'
UpdateIdentityProvider:
title: Identity Provider
type: object
description: >-
The identity provider that contains configuration data for updating an
authentication integration.
properties:
enabled:
$ref: '#/components/schemas/IdentityProviderEnabled'
login_path:
$ref: '#/components/schemas/IdentityProviderLoginPath'
config:
type: object
oneOf:
- $ref: '#/components/schemas/ConfigureOIDCIdentityProviderConfig'
- $ref: '#/components/schemas/SAMLIdentityProviderConfig'
IdentityProvider:
title: Identity Provider
type: object
description: >-
The identity provider that contains configuration data for
authentication integration.
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'
OIDCIdentityProviderConfig:
title: OIDC Identity Provider Config
type: object
description: >-
The identity provider that contains configuration data for the OIDC
authentication integration.
properties:
issuer_url:
$ref: '#/components/schemas/OIDCIdentityProviderIssuer'
client_id:
$ref: '#/components/schemas/OIDCIdentityProviderClientId'
scopes:
$ref: '#/components/schemas/OIDCIdentityProviderScopes'
claim_mappings:
$ref: '#/components/schemas/OIDCIdentityProviderClaimMappings'
additionalProperties: false
required:
- issuer_url
- client_id
ConfigureOIDCIdentityProviderConfig:
title: OIDC Identity Provider Config
type: object
description: >-
The identity provider that contains configuration data for the OIDC
authentication integration.
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
SAMLIdentityProviderConfig:
title: SAML Identity Provider Config
type: object
description: >-
The identity provider that contains configuration data for the SAML
authentication integration.
properties:
idp_metadata_url:
$ref: '#/components/schemas/SAMLIdentityProviderMetadataURL'
idp_metadata_xml:
$ref: '#/components/schemas/SAMLIdentityProviderMetadata'
sp_metadata_url:
type: string
format: uri
example: >-
https://cloud.konghq.com/v2/authenticate/the-saml-konnect-org/saml/metadata
readOnly: true
sp_entity_id:
type: string
description: The entity ID of the service provider (SP).
example: https://cloud.konghq.com/sp/00000000-0000-0000-0000-000000000000
readOnly: true
login_url:
type: string
description: >-
The URL to redirect users to for initiating login with the identity
provider.
example: https://cloud.konghq.com/login/the-saml-konnect-org
readOnly: true
callback_url:
type: string
description: >-
The URL where the SAML identity provider sends authentication
responses after successful login attempts.
format: uri
example: >-
https://cloud.konghq.com/v2/authenticate/the-saml-konnect-org/saml/acs
readOnly: true
additionalProperties: false
IdP:
title: IdP Configuration
type: object
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.
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
claim_mappings:
type: object
minProperties: 3
properties:
name:
type: string
example: name
email:
type: string
example: email
groups:
type: string
example: custom-groups-claim
User:
title: User
type: object
description: >-
The user object contains information about an individual user who can
use the Konnect application and API.
example:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
email: user@email.com
full_name: Test User
preferred_name: test
active: true
inferred_region: us
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-10-08T17:00:00.52Z'
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The User ID.
readOnly: true
email:
type: string
format: email
example: user@email.com
maxLength: 250
description: The email registered to the user.
full_name:
type: string
pattern: ^[\w \W]+$
maxLength: 250
description: The User's full name.
example: Jane Doe
preferred_name:
type: string
example: Jane
maxLength: 250
description: The User's preferred name.
active:
type: boolean
description: Returns True if a user has verified their email address.
readOnly: true
inferred_region:
type: string
description: >-
The Konnect region closest to the user's IP address. This property
might only be set for users on signup through Konnect’s build-in
native authentication.
example: us
readOnly: true
created_at:
type: string
format: date-time
example: '2022-02-07T17:46:57.52Z'
description: The time stamp for the date the account was registered.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-10-08T17:00:00.52Z'
description: >-
A Unix timestamp representation of the most recent change to the
User account.
readOnly: true
Team:
x-speakeasy-entity: Team
title: Team
type: object
description: The team object contains information about a group of users.
example:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: IDM - Developers
description: The developers for the IDM API.
system_team: false
labels:
env: test
created_at: '1992-02-07T17:46:57.52Z'
updated_at: '2022-08-31T17:00:00.52Z'
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The team ID.
readOnly: true
name:
type: string
pattern: ^[\w \W]+$
example: IDM - Developers
maxLength: 250
description: The name of the team.
description:
type: string
example: The developers for the IDM API.
maxLength: 250
description: The team description in Konnect.
system_team:
type: boolean
description: >-
Returns True if a user belongs to a `system_team`. System teams are
teams that can manage Konnect objects, like "Organization Admin", or
"Service"
readOnly: true
labels:
$ref: '#/components/schemas/Labels'
created_at:
type: string
format: date-time
example: '1992-02-07T17:46:57.52Z'
description: A Unix timestamp representation of team creation.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-02-07T17:00:00.52Z'
description: >
A Unix timestamp representation of the most recent change to the
team object in Konnect.
readOnly: true
TeamMapping:
title: TeamMapping
type: object
description: A team assignment is a mapping of an IdP group to a Konnect Team.
example:
group: Service Developers
team_ids:
- 6801e673-cc10-498a-94cd-4271de07a0d3
properties:
group:
type: string
example: Service Developers
description: The IdP group.
team_ids:
type: array
uniqueItems: true
description: An array of ID's that are mapped to the specified group.
items:
type: string
format: uuid
example: 6801e673-cc10-498a-94cd-4271de07a0d3
TeamGroupMapping:
title: TeamGroupMapping
type: object
description: A map of Konnect Team to IdP groups.
example:
team_id: 6801e673-cc10-498a-94cd-4271de07a0d3
groups:
- Tech Leads
- API Engineers
properties:
team_id:
type: string
format: uuid
example: 6801e673-cc10-498a-94cd-4271de07a0d3
description: The Konnect team ID.
groups:
type: array
uniqueItems: true
description: The IdP groups that are mapped to the specified team.
items:
type: string
example: API Engineers
AssignedRole:
title: AssignedRole
type: object
description: An assigned role is a role that has been assigned to a user or team.
example:
id: 54cc6168-ebb1-4300-8168-d62a0dd08fc8
role_name: Viewer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Control Planes
entity_region: us
properties:
id:
type: string
format: uuid
example: eaf7adf1-32c8-4bbf-b960-d1f8456afe67
description: The ID of the role assignment.
role_name:
type: string
example: Viewer
description: Name of the role being assigned.
entity_id:
type: string
format: uuid
example: 817d0422-45c9-4d88-8d64-45aef05c1ae7
description: A RBAC entity ID.
entity_type_name:
type: string
example: Control Planes
description: Name of the entity type the role is being assigned to.
entity_region:
type: string
enum:
- us
- eu
- au
- me
- in
- '*'
example: eu
description: Region of the entity.
SystemAccount:
x-speakeasy-entity: SystemAccount
title: System Account
type: object
example:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Example System Account
description: This is a sample system account description.
created_at: '2022-08-24T14:15:22Z'
updated_at: '2022-10-05T10:33:49Z'
konnect_managed: false
description: Schema of the system account.
properties:
id:
type: string
format: uuid
description: ID of the system account.
readOnly: true
name:
type: string
description: Name of the system account.
description:
type: string
description: Description of the system account.
created_at:
type: string
format: date-time
description: Timestamp of when the system account was created.
readOnly: true
updated_at:
type: string
format: date-time
description: Timestamp of when the system account was last updated.
readOnly: true
konnect_managed:
type: boolean
description: The system account is managed by Konnect (true/false).
SystemAccountAccessToken:
x-speakeasy-entity: SystemAccountAccessToken
title: System Account Access Token
example:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Sample Access Token
created_at: '2022-08-01T14:16:09Z'
updated_at: '2022-08-02T08:35:49Z'
expires_at: '2022-12-31T12:52:23Z'
last_used_at: '2022-10-24T13:05:42Z'
description: Schema of the system account access token.
type: object
properties:
id:
type: string
format: uuid
description: ID of the system account access token.
readOnly: true
name:
type: string
description: Name of the system account access token.
created_at:
type: string
format: date-time
description: Timestamp of when the system account access token was created.
readOnly: true
updated_at:
type: string
format: date-time
description: Timestamp of when the system account access token was last updated.
readOnly: true
expires_at:
type: string
format: date-time
description: Timestamp of when the system account access token will expire.
last_used_at:
type: string
format: date-time
description: Timestamp of when the system account access token was last used.
readOnly: true
UUID:
type: string
format: uuid
example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: Contains a unique identifier used by the API for this resource.
readOnly: true
StringFieldFilter:
description: Filters on the given string field value by exact match inequality.
type: object
properties:
eq:
type: string
contains:
type: string
ocontains:
type: string
oeq:
type: string
neq:
type: string
additionalProperties: false
LabelsUpdate:
type: object
nullable: true
description: >
Labels store metadata of an entity that can be used for filtering an
entity list or for searching across entity types.
Labels are intended to store **INTERNAL** metadata.
Keys must be of length 1-63 characters, and cannot start with "kong",
"konnect", "mesh", "kic", or "_".
example:
env: test
maxProperties: 50
additionalProperties:
type: string
pattern: ^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$
minLength: 1
maxLength: 63
nullable: true
writeOnly: true
ControlPlaneId:
type: string
format: uuid
example: 0949471e-b759-45ba-87ab-ee63fb781388
ConfigurationId:
type: string
format: uuid
example: edaf40f9-9fb0-4ffe-bb74-4e763a6bd471
readOnly: true
DataPlaneGroupId:
type: string
format: uuid
description: >-
ID of the data-plane group that represents a deployment target for a set
of data-planes.
example: cbb8872a-1f83-4806-bf69-fdf0b4783c7e
readOnly: true
CustomDomainId:
type: string
format: uuid
example: 39ed3790-085d-4605-9627-f96d86aaf425
readOnly: true
NetworkId:
x-speakeasy-param-suppress-computed-diff: true
type: string
format: uuid
example: 36ae63d3-efd1-4bec-b246-62aa5d3f5695
TransitGatewayId:
type: string
format: uuid
example: 0850820b-d153-4a2a-b9be-7d2204779139
readOnly: true
ProviderAccountId:
type: string
format: uuid
example: 929b2449-c69f-44c4-b6ad-9ecec6f811ae
ResourceQuotaId:
type: string
format: uuid
example: 9678f205-49a1-47bb-82d9-d01cafa42a0d
readOnly: true
DefaultResourceQuotaId:
type: string
format: uuid
example: cc504063-f3bb-4e09-8e32-bbcdbc5cd618
readOnly: true
ResourceConfigurationId:
type: string
format: uuid
example: 9678f205-49a1-47bb-82d9-d01cafa42a0d
readOnly: true
DefaultResourceConfigurationId:
type: string
format: uuid
example: cc504063-f3bb-4e09-8e32-bbcdbc5cd618
readOnly: true
ControlPlaneGeo:
title: Control-Plane Geo
description: >-
Set of control-plane geos supported for deploying cloud-gateways
configurations.
type: string
enum:
- us
- eu
- au
- me
- in
GatewayVersion:
title: Gateway Version
description: Supported gateway version.
type: string
example: '3.2'
VersionList:
title: Version List
description: List of supported gateway versions for cloud gateways.
readOnly: true
type: array
items:
$ref: '#/components/schemas/GatewayVersion'
InstanceTypeName:
type: string
enum:
- small
- medium
- large
description: Instance type name to indicate capacity.
ApiAccess:
type: string
enum:
- private
- public
- private+public
description: Type of API access data-plane groups will support for a configuration.
default: private+public
InstanceType:
title: Instance Type
description: Resource parameters and pricing of a given supported instance type.
readOnly: true
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/InstanceTypeName'
hourly_cost:
description: >-
Hourly cost to run a single cloud gateway instance of this instance
type.
type: string
format: ^(\d)+(\.(\d)+)?$
example: '1.00'
v_cpu:
description: >-
Number of virtual CPUs available to a cloud gateway instance of this
instance type.
type: string
format: ^(\d)+
example: '2'
gb_memory:
description: >-
Number of gigabytes of memory available to a cloud gateway instance
of this instance type.
type: string
format: ^(\d)+
example: '2'
required:
- name
- hourly_cost
- v_cpu
- gb_memory
InstanceTypes:
title: Instance Types
description: >-
List of supported instance types, along with their associated resource
parameters and pricing.
type: array
items:
$ref: '#/components/schemas/InstanceType'
ProviderRegionName:
title: Provider Region Name
description: >
Human-readable name for cloud provider region. The list of available
provider regions can be retrieved via the
availability endpoint `/v2/cloud-gateways/availability.json`.
type: string
example: N. Virginia
ProviderRegionId:
title: Provider Region ID
description: Region ID for cloud provider region.
type: string
example: us-east-2
ProviderRegion:
title: Provider Region
description: Region ID and human-readable name for a cloud provider region.
type: object
additionalProperties: false
properties:
region:
$ref: '#/components/schemas/ProviderRegionId'
name:
$ref: '#/components/schemas/ProviderRegionName'
availability_zones:
description: >
List of supported availability zones for cloud provider region, for
network AZ configuration.
type: array
items:
type: string
example:
- use2-az1
- use2-az2
- use2-az3
cidr_blocks:
description: >
List of supported CIDR blocks for cloud provider region, for network
CIDR block configuration.
type: array
items:
type: string
example:
- 10.0.0.0/8
- 100.64.0.0/10
- 172.16.0.0/12
- 192.168.0.0/16
- 198.18.0.0/15
reserved_cidr_blocks:
description: >
List of reserved CIDR blocks for cloud provider region, to restrict
allowed network CIDR block
configuration.
type: array
items:
type: string
example:
- 10.100.0.0/16
- 172.17.0.0/16
required:
- region
- name
- availability_zones
- cidr_blocks
- reserved_cidr_blocks
ProviderRegions:
title: Provider Regions
description: >-
List of available regions to run cloud gateway instances on for a given
cloud provider.
type: array
items:
$ref: '#/components/schemas/ProviderRegion'
ProviderName:
title: Provider Name
description: Name of cloud provider.
type: string
enum:
- aws
- azure
example: aws
Provider:
title: Provider
description: Description of cloud provider that runs cloud gateway instances.
type: object
additionalProperties: false
properties:
provider:
$ref: '#/components/schemas/ProviderName'
regions:
$ref: '#/components/schemas/ProviderRegions'
required:
- provider
- regions
Providers:
title: Providers
description: List of supported cloud providers that run cloud gateway instances.
type: array
items:
$ref: '#/components/schemas/Provider'
AvailabilityDocument:
title: Availability Document
description: Document containing availability information for configurations.
type: object
additionalProperties: false
properties:
versions:
$ref: '#/components/schemas/VersionList'
instance_types:
$ref: '#/components/schemas/InstanceTypes'
providers:
$ref: '#/components/schemas/Providers'
required:
- versions
- instance_types
- providers
ConfigurationDataPlaneGroupAutoscale:
oneOf:
- $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscaleStatic'
- $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscaleAutopilot'
ConfigurationDataPlaneGroupAutoscaleStatic:
title: Configuration Autoscale Static
description: Object that describes the static autoscaling strategy.
type: object
properties:
kind:
type: string
enum:
- static
instance_type:
$ref: '#/components/schemas/InstanceTypeName'
requested_instances:
type: integer
example: 3
description: Number of data-planes the deployment target will contain.
required:
- kind
- instance_type
- requested_instances
additionalProperties: false
ConfigurationDataPlaneGroupAutoscaleAutopilot:
title: Configuration Autoscale Autopilot
description: Object that describes the autopilot autoscaling strategy.
type: object
properties:
kind:
type: string
enum:
- autopilot
base_rps:
type: integer
example: 1
description: >-
Base number of requests per second that the deployment target should
support.
max_rps:
type: integer
deprecated: true
example: 1000
description: >-
Max number of requests per second that the deployment target should
support. If not set, this defaults to 10x base_rps. This field is
deprecated and shouldn't be used in new configurations as it will be
removed in a future version. max_rps is now calculated as 10x
base_rps.
required:
- kind
- base_rps
additionalProperties: false
ConfigurationDataPlaneGroupEnvironment:
title: Configuration Data-Plane Group Environment
description: Array of environment variables to set for a data-plane group.
type: array
items:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironmentField'
ConfigurationDataPlaneGroupEnvironmentField:
title: Configuration Data-Plane Group Environment Field
description: Environment variable name and value to set for a data-plane group.
type: object
properties:
name:
type: string
format: ^KONG_[a-zA-Z_]+[a-zA-Z0-9_]*
minLength: 6
maxLength: 120
example: KONG_LOG_LEVEL
description: >
Name of the environment variable field to set for the data-plane
group. Must be prefixed by KONG_.
value:
type: string
minLength: 1
maxLength: 120
example: INFO
description: >-
Value assigned to the environment variable field for the data-plane
group.
required:
- name
- value
ConfigurationDataPlaneGroupConfig:
title: Configuration Data-Plane Group Config Item
description: >-
Object that describes where a data-plane group will be deployed to,
along with how many instances.
type: object
properties:
provider:
$ref: '#/components/schemas/ProviderName'
region:
$ref: '#/components/schemas/ProviderRegionId'
cloud_gateway_network_id:
$ref: '#/components/schemas/NetworkId'
autoscale:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale'
environment:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment'
required:
- autoscale
- provider
- region
- cloud_gateway_network_id
additionalProperties: false
ConfigurationDataPlaneGroupConfigs:
title: Configuration Data-Plane Group Configs
description: >-
Object that describes where data-planes will be deployed to, along with
how many instances.
type: array
items:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupConfig'
ConfigurationDataPlaneGroup:
title: Cloud Gateway Configuration Data-Plane Group
description: >-
Object that describes the set of data-plane groups currently pointed to
this configuration.
type: object
properties:
id:
$ref: '#/components/schemas/DataPlaneGroupId'
provider:
$ref: '#/components/schemas/ProviderName'
region:
$ref: '#/components/schemas/ProviderRegionId'
autoscale:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale'
environment:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment'
cloud_gateway_network_id:
$ref: '#/components/schemas/NetworkId'
state:
type: string
enum:
- created
- initializing
- ready
- terminating
- terminated
description: State of the data-plane group.
state_metadata:
type: object
description: >
Metadata describing the backing state of the dataplane group and why
it may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: >-
Reported status of the dataplane group from backing
infrastructure.
example: ERROR
reason:
type: string
description: >
Reason why the dataplane group may be in an erroneous state,
reported from backing infrastructure.
example: >
Dataplane group could not be deployed due to insufficient cloud
provider compute instances.
private_ip_addresses:
type: array
items:
type: string
description: >
List of private IP addresses of the internal load balancer that
proxies traffic to this data-plane group.
example:
- 192.168.248.132
- 192.168.66.81
- 192.168.137.135
egress_ip_addresses:
type: array
items:
type: string
description: >
List of egress IP addresses for the network that this data-plane
group runs on.
example:
- 71.78.149.75
- 91.149.112.244
- 51.235.15.121
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of data-plane group creation
date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of data-plane group update
date.
readOnly: true
required:
- id
- provider
- region
- autoscale
- cloud_gateway_network_id
- state
- created_at
- updated_at
NetworkConfigurationReference:
$ref: '#/components/schemas/ConfigurationManifest'
ConfigurationManifest:
x-speakeasy-entity: CloudGatewayConfiguration
title: Configuration
description: >-
Object containing information about a control-plane's cloud-gateways
configuration.
type: object
properties:
id:
$ref: '#/components/schemas/ConfigurationId'
version:
$ref: '#/components/schemas/GatewayVersion'
api_access:
$ref: '#/components/schemas/ApiAccess'
dataplane_group_config:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupConfigs'
dataplane_groups:
type: array
format: set
description: >
List of data-plane groups that describe where data-planes will be
deployed to, along with how many
instances.
items:
$ref: '#/components/schemas/ConfigurationDataPlaneGroup'
entity_version:
type: number
example: 1
description: >
Positive, monotonically increasing version integer, to serialize
configuration changes.
readOnly: true
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of configuration creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of configuration update date.
readOnly: true
control_plane_id:
$ref: '#/components/schemas/ControlPlaneId'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeo'
required:
- id
- control_plane_id
- control_plane_geo
- version
- dataplane_group_config
- dataplane_groups
- entity_version
- created_at
- updated_at
CreateConfigurationDataPlaneGroup:
title: CreateConfigurationDataPlaneGroup
description: >-
Object that describes where to deploy a data-plane group, along with how
many instances.
type: object
additionalProperties: false
properties:
provider:
$ref: '#/components/schemas/ProviderName'
region:
$ref: '#/components/schemas/ProviderRegionId'
cloud_gateway_network_id:
$ref: '#/components/schemas/NetworkId'
autoscale:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale'
environment:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment'
required:
- autoscale
- provider
- region
- cloud_gateway_network_id
ProviderAccount:
title: Cloud Gateway Provider Account
description: >-
Object containing mapping for organization and cloud provider to account
ID.
type: object
properties:
id:
$ref: '#/components/schemas/ProviderAccountId'
provider:
$ref: '#/components/schemas/ProviderName'
provider_account_id:
type: string
description: ID of the cloud provider account.
readOnly: true
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of provider account creation
date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of provider account update
date.
readOnly: true
required:
- id
- provider
- provider_account_id
- created_at
- updated_at
NetworkCreateState:
title: Network Create State
description: Initial state for creating a network.
type: string
default: initializing
enum:
- initializing
- offline
NetworkState:
x-speakeasy-terraform-ignore: true
title: Network State
description: State of the network.
enum:
- created
- initializing
- offline
- ready
- terminating
- terminated
readOnly: true
NetworkStateMetadata:
x-speakeasy-terraform-ignore: true
title: Network State Metadata
description: >
Metadata describing the backing state of the network and why it may be
in an erroneous state.
type: object
additionalProperties: false
properties:
reported_status:
type: string
description: Reported status of the network from backing infrastructure.
example: INVALID
reason:
type: string
description: >
Reason why the network may be in an erroneous state, reported from
backing infrastructure.
example: >
Network could not be deployed due to insufficient cloud provider
compute instances.
readOnly: true
NetworkProviderMetadata:
x-speakeasy-param-suppress-computed-diff: true
title: Network Provider Metadata
description: >-
Metadata describing attributes returned by cloud-provider for the
network.
type: object
additionalProperties: false
properties:
vpc_id:
title: VPC ID
type: string
subnet_ids:
title: Subnet IDs
type: array
items:
type: string
readOnly: true
NetworkName:
title: Network Name
type: string
description: Human-readable name of the network.
example: us-east-2 network
NetworkCIDRBlock:
title: Network CIDR Block
description: CIDR block configuration for the network.
type: string
example: 10.0.0.0/8
NetworkAvailabilityZones:
type: array
items:
type: string
description: List of availability zones that the network is attached to.
example:
- use2-az1
- use2-az2
- use2-az3
Network:
x-speakeasy-entity: CloudGatewayNetwork
title: Network
description: >-
Object containing information about a network to be used in
configurations.
type: object
properties:
id:
$ref: '#/components/schemas/NetworkId'
name:
$ref: '#/components/schemas/NetworkName'
default:
x-speakeasy-param-suppress-computed-diff: true
type: boolean
description: >
Whether the network is a default network or not. Default networks
are Networks that are created
automatically by Konnect when an organization is linked to a
provider account.
example: false
cloud_gateway_provider_account_id:
$ref: '#/components/schemas/ProviderAccountId'
region:
$ref: '#/components/schemas/ProviderRegionId'
availability_zones:
$ref: '#/components/schemas/NetworkAvailabilityZones'
cidr_block:
$ref: '#/components/schemas/NetworkCIDRBlock'
state:
$ref: '#/components/schemas/NetworkState'
state_metadata:
$ref: '#/components/schemas/NetworkStateMetadata'
provider_metadata:
$ref: '#/components/schemas/NetworkProviderMetadata'
transit_gateway_count:
x-speakeasy-param-suppress-computed-diff: true
type: integer
description: The number of transit gateways attached to this network.
readOnly: true
example: 0
configuration_reference_count:
x-speakeasy-param-suppress-computed-diff: true
type: integer
description: The number of configurations that reference this network.
readOnly: true
example: 0
entity_version:
x-speakeasy-param-suppress-computed-diff: true
type: integer
description: >
Monotonically-increasing version count of the network, to indicate
the order of updates to the network.
readOnly: true
example: 1
created_at:
x-speakeasy-param-suppress-computed-diff: true
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of network creation date.
readOnly: true
updated_at:
x-speakeasy-param-suppress-computed-diff: true
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of network update date.
readOnly: true
required:
- id
- name
- default
- cloud_gateway_provider_account_id
- region
- availability_zones
- cidr_block
- provider_metadata
- state
- transit_gateway_count
- configuration_reference_count
- entity_version
- created_at
- updated_at
CreateNetworkRequest:
x-speakeasy-entity: CloudGatewayNetwork
title: CreateNetworkRequest
description: Request schema for creating a network.
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/NetworkName'
cloud_gateway_provider_account_id:
$ref: '#/components/schemas/ProviderAccountId'
region:
$ref: '#/components/schemas/ProviderRegionId'
availability_zones:
$ref: '#/components/schemas/NetworkAvailabilityZones'
cidr_block:
$ref: '#/components/schemas/NetworkCIDRBlock'
state:
$ref: '#/components/schemas/NetworkCreateState'
required:
- name
- cloud_gateway_provider_account_id
- region
- availability_zones
- cidr_block
PatchNetworkRequest:
x-speakeasy-entity: CloudGatewayNetwork
title: PatchNetworkRequest
description: Request schema for updating a network.
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/NetworkName'
TransitGatewayState:
title: Transit Gateway State
type: string
description: >
The current state of the Transit Gateway. Possible values:
- `created` - The attachment has been created but is not attached to
transit gateway.
- `initializing` - The attachment is in the process of being initialized
and is setting up necessary resources.
- `pending-acceptance` The attachment request is awaiting acceptance in
customer VPC.
- `ready` - The transit gateway attachment is fully operational and can
route traffic as configured.
- `terminating` - The attachment is in the process of being deleted and
is no longer accepting new traffic.
- `terminated` - The attachment has been fully deleted and is no longer
available.
enum:
- created
- initializing
- pending-acceptance
- ready
- terminating
- terminated
readOnly: true
AwsTransitGatewayAttachmentConfig:
title: AWS Transit Gateway Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: AWS Transit Gateway Attachment Type
enum:
- aws-transit-gateway-attachment
transit_gateway_id:
title: Transit Gateway ID
description: AWS Transit Gateway ID to create attachment to.
type: string
ram_share_arn:
title: RAM Share ARN
description: >-
Resource Share ARN to verify request to create transit gateway
attachment.
type: string
required:
- kind
- transit_gateway_id
- ram_share_arn
AwsVpcPeeringGatewayAttachmentConfig:
title: AWS VPC Peering Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: AWS VPC Peering Attachment Config
enum:
- aws-vpc-peering-attachment
peer_account_id:
type: string
peer_vpc_id:
type: string
peer_vpc_region:
type: string
required:
- kind
- peer_account_id
- peer_vpc_id
- peer_vpc_region
AzureVNETPeeringAttachmentConfig:
title: Azure VNET Peering Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: Azure VNET Peering Attachment Type
enum:
- azure-vnet-peering-attachment
tenant_id:
title: Tenant ID
description: Tenant ID for the Azure VNET Peering attachment.
type: string
subscription_id:
title: Subscription ID
description: Subscription ID for the Azure VNET Peering attachment.
type: string
resource_group_name:
title: Resource Group Name
description: Resource Group Name for the Azure VNET Peering attachment.
type: string
vnet_name:
title: VNET Name
description: VNET Name for the Azure VNET Peering attachment.
type: string
required:
- kind
- tenant_id
- subscription_id
- resource_group_name
- vnet_name
TransitGatewayDnsConfig:
title: Transit Gateway DNS Config
description: >
List of mappings from remote DNS server IP address sets to proxied
internal domains, for a transit gateway
attachment.
type: array
items:
type: object
additionalProperties: false
properties:
remote_dns_server_ip_addresses:
title: Remote DNS Server IP Addresses
description: >-
Remote DNS Server IP Addresses to connect to for resolving
internal DNS via a transit gateway.
type: array
items:
type: string
example:
- 10.0.0.2
domain_proxy_list:
title: Domain Proxy List
type: array
description: >
Internal domain names to proxy for DNS resolution from the listed
remote DNS server IP addresses,
for a transit gateway.
items:
type: string
example:
- foobar.com
required:
- remote_dns_server_ip_addresses
- domain_proxy_list
TransitGatewayName:
title: Transit Gateway Name
type: string
description: Human-readable name of the transit gateway.
example: us-east-2 transit gateway
TransitGatewayCIDRBlocks:
title: Transit Gateway CIDR Blocks
type: array
items:
type: string
description: >
CIDR blocks for constructing a route table for the transit gateway, when
attaching to the owning
network.
example:
- 10.0.0.0/8
- 100.64.0.0/10
- 172.16.0.0/12
AwsTransitGatewayResponse:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
cidr_blocks:
$ref: '#/components/schemas/TransitGatewayCIDRBlocks'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AwsTransitGatewayAttachmentConfig'
id:
$ref: '#/components/schemas/TransitGatewayId'
state:
$ref: '#/components/schemas/TransitGatewayState'
state_metadata:
title: TransitGatewayStateMetadata
type: object
description: >
Metadata describing the backing state of the transit gateway and why
it may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: >-
Reported status of the transit gateway from backing
infrastructure.
example: ERROR
reason:
type: string
description: >
Reason why the transit gateway may be in an erroneous state,
reported from backing infrastructure.
example: >
Transit Gateway Attachment configuration could not find a
resource with the provided ram share arn.
readOnly: true
entity_version:
type: integer
description: >
Monotonically-increasing version count of the transit gateway, to
indicate the order of updates to the
transit gateway.
readOnly: true
example: 1
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of transit gateway creation
date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of transit gateway update date.
readOnly: true
required:
- name
- cidr_blocks
- transit_gateway_attachment_config
- dns_config
- id
- state
- entity_version
- created_at
- updated_at
title: AWS Transit Gateway
AwsVpcPeeringGatewayResponse:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
cidr_blocks:
$ref: '#/components/schemas/TransitGatewayCIDRBlocks'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AwsVpcPeeringGatewayAttachmentConfig'
id:
$ref: '#/components/schemas/TransitGatewayId'
state:
$ref: '#/components/schemas/TransitGatewayState'
state_metadata:
title: TransitGatewayStateMetadata
type: object
description: >
Metadata describing the backing state of the transit gateway and why
it may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: >-
Reported status of the transit gateway from backing
infrastructure.
example: ERROR
reason:
type: string
description: >
Reason why the transit gateway may be in an erroneous state,
reported from backing infrastructure.
example: >
Transit Gateway Attachment configuration could not find a
resource with the provided ram share arn.
readOnly: true
entity_version:
type: integer
description: >
Monotonically-increasing version count of the transit gateway, to
indicate the order of updates to the
transit gateway.
readOnly: true
example: 1
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of transit gateway creation
date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of transit gateway update date.
readOnly: true
required:
- name
- cidr_blocks
- transit_gateway_attachment_config
- dns_config
- id
- state
- entity_version
- created_at
- updated_at
title: AWS VPC Peering Gateway
AzureTransitGatewayResponse:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AzureVNETPeeringAttachmentConfig'
id:
$ref: '#/components/schemas/TransitGatewayId'
state:
$ref: '#/components/schemas/TransitGatewayState'
state_metadata:
title: TransitGatewayStateMetadata
type: object
description: >
Metadata describing the backing state of the transit gateway and why
it may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: >-
Reported status of the transit gateway from backing
infrastructure.
example: ERROR
reason:
type: string
description: >
Reason why the transit gateway may be in an erroneous state,
reported from backing infrastructure.
example: >
Transit Gateway Attachment configuration could not find a
resource with the provided ram share arn.
readOnly: true
entity_version:
type: integer
description: >
Monotonically-increasing version count of the transit gateway, to
indicate the order of updates to the
transit gateway.
readOnly: true
example: 1
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of transit gateway creation
date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of transit gateway update date.
readOnly: true
required:
- name
- transit_gateway_attachment_config
- id
- dns_config
- state
- entity_version
- created_at
- updated_at
title: Azure Transit Gateway
TransitGatewayResponse:
oneOf:
- $ref: '#/components/schemas/AwsTransitGatewayResponse'
- $ref: '#/components/schemas/AwsVpcPeeringGatewayResponse'
- $ref: '#/components/schemas/AzureTransitGatewayResponse'
CreateAwsTransitGateway:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
cidr_blocks:
$ref: '#/components/schemas/TransitGatewayCIDRBlocks'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AwsTransitGatewayAttachmentConfig'
required:
- name
- cidr_blocks
- transit_gateway_attachment_config
title: AWS Transit Gateway
x-speakeasy-name-override: AWSTransitGateway
CreateAwsVpcPeeringGateway:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
cidr_blocks:
$ref: '#/components/schemas/TransitGatewayCIDRBlocks'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AwsVpcPeeringGatewayAttachmentConfig'
required:
- name
- cidr_blocks
- transit_gateway_attachment_config
title: AWS VPC Peering Gateway
x-speakeasy-name-override: AWSVpcPeeringGateway
CreateAzureTransitGateway:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AzureVNETPeeringAttachmentConfig'
required:
- name
- transit_gateway_attachment_config
title: Azure Transit Gateway
x-speakeasy-name-override: AzureTransitGateway
CreateTransitGatewayRequest:
title: CreateTransitGatewayRequest
description: Request schema for creating a transit gateway.
type: object
oneOf:
- $ref: '#/components/schemas/CreateAwsTransitGateway'
- $ref: '#/components/schemas/CreateAwsVpcPeeringGateway'
- $ref: '#/components/schemas/CreateAzureTransitGateway'
CustomDomainState:
title: Custom Domain State
type: string
description: State of the custom domain.
enum:
- created
- initializing
- ready
- terminating
- terminated
- error
readOnly: true
CustomDomainName:
title: Custom Domain Name
type: string
description: Domain name of the custom domain.
example: example.com
CustomDomain:
x-speakeasy-entity: CloudGatewayCustomDomain
title: Custom Domain
description: Object containing information about a custom domain for a control-plane.
type: object
properties:
id:
$ref: '#/components/schemas/CustomDomainId'
control_plane_id:
$ref: '#/components/schemas/ControlPlaneId'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeo'
domain:
$ref: '#/components/schemas/CustomDomainName'
certificate_id:
type: string
format: uuid
nullable: true
description: >
Certificate ID for the certificate representing this domain and
stored on data-planes for this
control-plane. Can be retrieved via the control-planes API for this
custom domain's control-plane.
readOnly: true
example: 3b7cbeee-fbec-440e-a5ef-89e7dec3b9d0
sni_id:
type: string
format: uuid
nullable: true
description: >
Server Name Indication ID for this domain and stored on data-planes
for this control-plane. Can be retrieved
via the control-planes API for this custom domain's control-plane.
readOnly: true
example: a8f11ea8-af09-4422-9735-5d4f8910aba1
state:
$ref: '#/components/schemas/CustomDomainState'
state_metadata:
title: CustomDomainStateMetadata
type: object
description: >
Metadata describing the backing state of the custom domain and why
it may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: >-
Reported status of the custom domain from backing
infrastructure.
example: INVALID
reason:
type: string
description: >
Reason why the custom domain may be in an erroneous state,
reported from backing infrastructure.
example: >
CNAME points to '_acme-challenge..gateways.konghq.tech.'
instead of '_acme-challenge..acme.gateways.konghq.tech.'
readOnly: true
entity_version:
type: integer
description: >
Monotonically-increasing version count of the custom domain, to
indicate the order of updates to the custom
domain.
readOnly: true
example: 1
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of custom domain creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of custom domain update date.
readOnly: true
required:
- id
- control_plane_id
- control_plane_geo
- domain
- state
- state_metadata
- entity_version
- created_at
- updated_at
CustomDomainOnlinePropertyStatus:
title: Custom Domain Online Property Status
description: Set of available statuses for the online properties of a custom domain.
type: string
readOnly: true
enum:
- verified
- unverified
CustomDomainOnlineStatus:
title: Custom Domain Online Status
type: object
properties:
cname:
$ref: '#/components/schemas/CustomDomainOnlinePropertyStatus'
ssl:
$ref: '#/components/schemas/CustomDomainOnlinePropertyStatus'
additionalProperties: false
required:
- cname
- ssl
CreateConfigurationRequest:
title: CreateConfigurationRequest
description: |
Request schema for creating a configuration.
type: object
additionalProperties: false
properties:
control_plane_id:
$ref: '#/components/schemas/ControlPlaneId'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeo'
version:
$ref: '#/components/schemas/GatewayVersion'
dataplane_groups:
type: array
format: set
description: >-
List of data-plane groups that describe where to deploy instances,
along with how many instances.
items:
$ref: '#/components/schemas/CreateConfigurationDataPlaneGroup'
api_access:
$ref: '#/components/schemas/ApiAccess'
required:
- control_plane_id
- control_plane_geo
- version
- dataplane_groups
CreateCustomDomainRequest:
title: CreateCustomDomainRequest
description: Request schema for creating a custom domain in the global API.
type: object
additionalProperties: false
properties:
control_plane_id:
$ref: '#/components/schemas/ControlPlaneId'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeo'
domain:
$ref: '#/components/schemas/CustomDomainName'
required:
- control_plane_id
- control_plane_geo
- domain
ResourceQuotaQualifier:
description: Enumeration of resources available for quota enforcement.
type: string
enum:
- count/provider-accounts.per-provider
- count/networks.not-offline
- count/data-planes-estimate
- count/serverless-data-planes-estimate
ResourceQuotaName:
type: string
description: The human-readable name of this resource quota.
readOnly: true
example: Active Networks
ResourceQuotaDescription:
type: string
description: A more verbose description of what this resource quota enforces.
readOnly: true
example: >-
Across the organization, the aggregate number of active networks cannot
exceed this value.
ResourceQuotaValue:
type: integer
minimum: 0
description: >
The aggregate non-negative integer count of this resource that's allowed
for the organization.
example: 2
ResourceQuota:
title: Resource Quota
description: >-
Object containing information about a resource quota for an
organization.
type: object
properties:
id:
$ref: '#/components/schemas/ResourceQuotaId'
resource:
$ref: '#/components/schemas/ResourceQuotaQualifier'
name:
$ref: '#/components/schemas/ResourceQuotaName'
description:
$ref: '#/components/schemas/ResourceQuotaDescription'
value:
$ref: '#/components/schemas/ResourceQuotaValue'
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of resource quota creation
date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of resource quota update date.
readOnly: true
required:
- id
- resource
- name
- description
- value
- created_at
- updated_at
DefaultResourceQuota:
title: Default Resource Quota
description: >-
Object containing information about a default resource quota, and any
organizational overrides.
type: object
properties:
id:
$ref: '#/components/schemas/DefaultResourceQuotaId'
resource:
$ref: '#/components/schemas/ResourceQuotaQualifier'
name:
$ref: '#/components/schemas/ResourceQuotaName'
description:
$ref: '#/components/schemas/ResourceQuotaDescription'
value:
$ref: '#/components/schemas/ResourceQuotaValue'
overrides:
type: array
description: Organizational overrides for this default resource quota.
items:
$ref: '#/components/schemas/ResourceQuota'
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of default resource quota
creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of default resource quota
update date.
readOnly: true
required:
- id
- resource
- name
- description
- value
- overrides
- created_at
- updated_at
ResourceConfigurationQualifier:
description: >-
Enumeration of configuration qualifiers available for organization-wide
configuration.
type: string
enum:
- data-plane-group-idle-timeout-minutes
ResourceConfigurationValue:
type: integer
description: The value of this resource configuration.
example: 45
ResourceConfigurationName:
type: string
description: The human-readable name of this resource configuration.
readOnly: true
example: Data Plane Group Idle Timeout Minutes
ResourceConfigurationDescription:
type: string
description: A more verbose description of what this resource configuration enforces.
readOnly: true
example: >-
The number of minutes that a data plane group can be idle before it is
automatically scaled down to zero instances.
ConfigurationsFilterParameters:
title: ConfigurationsFilterParameters
type: object
additionalProperties: false
properties:
control_plane_id:
$ref: '#/components/schemas/IDFieldFilter'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeoFieldFilter'
CustomDomainsFilterParameters:
title: CustomDomainsFilterParameters
type: object
additionalProperties: false
properties:
control_plane_id:
$ref: '#/components/schemas/IDFieldFilter'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeoFieldFilter'
domain:
$ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride'
state:
$ref: '#/components/schemas/CustomDomainStateFieldFilter'
TransitGatewaysFilterParameters:
title: TransitGatewaysFilterParameters
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride'
state:
$ref: '#/components/schemas/TransitGatewayStateFieldFilter'
NetworksFilterParameters:
title: NetworksFilterParameters
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride'
state:
$ref: '#/components/schemas/NetworkStateFieldFilter'
ProviderAccountsFilterParameters:
title: ProviderAccountsFilterParameters
type: object
additionalProperties: false
properties:
provider:
$ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride'
CloudGatewaysStringFieldFilterOverride:
title: CloudGatewaysStringFieldFilterOverride
oneOf:
- $ref: '#/components/schemas/CloudGatewaysStringFieldEqualsFilterOverride'
- $ref: '#/components/schemas/StringFieldContainsFilter'
- $ref: '#/components/schemas/StringFieldNEQFilter'
- $ref: '#/components/schemas/StringFieldOEQFilter'
- $ref: '#/components/schemas/StringFieldOContainsFilter'
CloudGatewaysStringFieldEqualsFilterOverride:
title: StringFieldEqualsFilter
description: Filters on the given string field value by exact match.
oneOf:
- type: string
- type: object
title: StringFieldEqualsComparison
additionalProperties: false
properties:
eq:
type: string
required:
- eq
NetworkStateFieldFilter:
title: NetworkStateFieldFilter
oneOf:
- $ref: '#/components/schemas/NetworkStateFieldEqualsFilter'
- $ref: '#/components/schemas/NetworkStateFieldNotEqualsFilter'
- $ref: '#/components/schemas/NetworkStateFieldOrEqualityFilter'
NetworkStateFieldEqualsFilter:
title: NetworkStateFieldEqualsFilter
description: Filter a network state by exact match.
oneOf:
- $ref: '#/components/schemas/NetworkState'
- type: object
title: NetworkStateFieldEqualsComparison
properties:
eq:
$ref: '#/components/schemas/NetworkState'
required:
- eq
NetworkStateFieldNotEqualsFilter:
title: NetworkStateFieldNotEqualsFilter
description: Filter a network state by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/NetworkState'
required:
- neq
NetworkStateFieldOrEqualityFilter:
title: NetworkStateFieldOrEqualityFilter
description: >
Filter a network 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
required:
- oeq
CustomDomainStateFieldFilter:
title: CustomDomainStateFieldFilter
oneOf:
- $ref: '#/components/schemas/CustomDomainStateFieldEqualsFilter'
- $ref: '#/components/schemas/CustomDomainStateFieldNotEqualsFilter'
- $ref: '#/components/schemas/CustomDomainStateFieldOrEqualityFilter'
CustomDomainStateFieldEqualsFilter:
title: CustomDomainStateFieldEqualsFilter
description: Filter custom domain state by exact match.
oneOf:
- $ref: '#/components/schemas/CustomDomainState'
- type: object
title: CustomDomainStateFieldEqualsComparison
properties:
eq:
$ref: '#/components/schemas/CustomDomainState'
required:
- eq
CustomDomainStateFieldNotEqualsFilter:
title: CustomDomainStateFieldNotEqualsFilter
description: Filter custom domain state by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/CustomDomainState'
required:
- neq
CustomDomainStateFieldOrEqualityFilter:
title: CustomDomainStateFieldOrEqualityFilter
description: >
Filter custom domain 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
required:
- oeq
TransitGatewayStateFieldFilter:
title: TransitGatewayStateFieldFilter
oneOf:
- $ref: '#/components/schemas/TransitGatewayStateFieldEqualsFilter'
- $ref: '#/components/schemas/TransitGatewayStateFieldNotEqualsFilter'
- $ref: '#/components/schemas/TransitGatewayStateFieldOrEqualityFilter'
TransitGatewayStateFieldEqualsFilter:
title: TransitGatewayStateFieldEqualsFilter
description: Filter transit-gateway state by exact match.
oneOf:
- $ref: '#/components/schemas/TransitGatewayState'
- type: object
title: TransitGatewayStateFieldEqualsComparison
properties:
eq:
$ref: '#/components/schemas/TransitGatewayState'
required:
- eq
TransitGatewayStateFieldNotEqualsFilter:
title: TransitGatewayStateFieldNotEqualsFilter
description: Filter transit-gateway state by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/TransitGatewayState'
required:
- neq
TransitGatewayStateFieldOrEqualityFilter:
title: TransitGatewayStateFieldOrEqualityFilter
description: >
Filter transit-gateway 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
required:
- oeq
IDFieldFilter:
description: >-
Returns entities that exact match any of the comma-delimited phrases in
the filter string.
type: object
properties:
eq:
type: string
neq:
type: string
oeq:
type: string
additionalProperties: false
ControlPlaneGeoFieldFilter:
title: ControlPlaneGeoFieldFilter
oneOf:
- $ref: '#/components/schemas/ControlPlaneGeoFieldEqualsFilter'
- $ref: '#/components/schemas/ControlPlaneGeoFieldNotEqualsFilter'
- $ref: '#/components/schemas/ControlPlaneGeoFieldOrEqualityFilter'
ControlPlaneGeoFieldEqualsFilter:
title: 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
ControlPlaneGeoFieldNotEqualsFilter:
title: ControlPlaneGeoFieldNotEqualsFilter
description: Filter a control-plane geo by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/ControlPlaneGeo'
required:
- neq
ControlPlaneGeoFieldOrEqualityFilter:
title: 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
ResourceConfiguration:
title: Resource Configuration
description: Object containing information about a resource configuration.
type: object
properties:
id:
$ref: '#/components/schemas/ResourceConfigurationId'
qualifier:
$ref: '#/components/schemas/ResourceConfigurationQualifier'
value:
$ref: '#/components/schemas/ResourceConfigurationValue'
required:
- id
- qualifier
- value
DefaultResourceConfiguration:
title: Default Resource Configuration
description: >-
Object containing information about a default resource configurations,
and any organizational overrides.
type: object
properties:
id:
$ref: '#/components/schemas/DefaultResourceConfigurationId'
qualifier:
$ref: '#/components/schemas/ResourceConfigurationQualifier'
name:
$ref: '#/components/schemas/ResourceConfigurationName'
description:
$ref: '#/components/schemas/ResourceConfigurationDescription'
value:
$ref: '#/components/schemas/ResourceConfigurationValue'
overrides:
type: array
description: Organizational overrides for this default resource configuration.
items:
$ref: '#/components/schemas/ResourceConfiguration'
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of default resource
configuration creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of default resource
configuration update date.
readOnly: true
required:
- id
- qualifier
- name
- description
- value
- overrides
- created_at
- updated_at
StringFieldOContainsFilter:
title: StringFieldOContainsFilter
description: >-
Returns entities that fuzzy-match any of the comma-delimited phrases in
the filter string.
type: object
additionalProperties: false
properties:
ocontains:
type: string
required:
- ocontains
NotificationFilterParameters:
title: NotificationFilterParameters
type: object
additionalProperties: false
properties:
title:
$ref: '#/components/schemas/StringFieldFilter'
description:
$ref: '#/components/schemas/StringFieldFilter'
namespace:
$ref: '#/components/schemas/StringFieldFilter'
region:
$ref: '#/components/schemas/StringFieldFilter'
status:
$ref: '#/components/schemas/StringFieldFilter'
ConfigurationFilterParameters:
title: ConfigurationFilterParameters
type: object
additionalProperties: false
properties:
event_title:
$ref: '#/components/schemas/StringFieldFilter'
event_description:
$ref: '#/components/schemas/StringFieldFilter'
event_namespace:
$ref: '#/components/schemas/StringFieldFilter'
region:
$ref: '#/components/schemas/StringFieldFilter'
Notification:
type: object
description: Properties of a notification.
additionalProperties: false
required:
- id
- title
- description
- status
- region
- namespace
- entity_id
- details
- created_at
- updated_at
properties:
id:
$ref: '#/components/schemas/UUID'
title:
type: string
description:
type: string
status:
$ref: '#/components/schemas/NotificationStatus'
region:
$ref: '#/components/schemas/NotificationRegion'
namespace:
$ref: '#/components/schemas/NotificationNamespace'
entity_id:
type: string
description: ID of the entity. Use '*' to represent all entities of this type.
details:
type: object
description: Metadata associated with the notification to build actionable links.
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
NotificationUpdatePayload:
description: Status of the notification.
type: object
required:
- status
properties:
status:
$ref: '#/components/schemas/NotificationStatus'
NotificationStatus:
type: string
description: Status of the notification.
enum:
- READ
- UNREAD
- ARCHIVED
NotificationRegion:
type: string
description: Region associated to a notification.
enum:
- US
- EU
- AU
- ME
- IN
- '*'
NotificationChannel:
type: object
description: Channel subscription details for an event.
required:
- type
- enabled
properties:
type:
$ref: '#/components/schemas/NotificationChannelType'
enabled:
type: boolean
NotificationChannelType:
type: string
enum:
- EMAIL
- IN_APP
NotificationNamespace:
type: string
enum:
- plan-and-usage
- organization
- dev-portal
- cloud-gateways
- gateway-manager
EntityTypes:
type: string
enum:
- billing-invoice
- access-token
- webhook
- dev-portal
- dataplane-group
- dataplane
UserConfiguration:
description: Properties of an event.
type: object
required:
- event_id
- event_title
- event_description
- event_namespace
- event_subscription_count
- default_subscription
properties:
event_id:
type: string
event_title:
type: string
event_description:
type: string
event_namespace:
$ref: '#/components/schemas/NotificationNamespace'
event_subscription_count:
type: integer
default_subscription:
type: array
items:
$ref: '#/components/schemas/DefaultSubscription'
DefaultSubscription:
type: object
required:
- channel
- enabled
properties:
channel:
$ref: '#/components/schemas/NotificationChannelType'
enabled:
type: boolean
EventSubscriptionResponse:
properties:
id:
$ref: '#/components/schemas/UUID'
entity_type:
$ref: '#/components/schemas/EntityTypes'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
regions:
type: array
items:
$ref: '#/components/schemas/NotificationRegion'
entities:
type: array
items:
type: string
description: ID of the entity. Use '*' to represent all entities of this type.
channels:
type: array
items:
$ref: '#/components/schemas/NotificationChannel'
enabled:
type: boolean
description: Enable/Disable complete subscription within an event.
name:
type: string
description: User provided name of the subscription.
description: Properties associated with an event subscription.
required:
- id
- entity_type
- created_at
- updated_at
- regions
- entities
- channels
- enabled
- name
type: object
EventSubscription:
description: Properties associated with an event subscription.
type: object
required:
- regions
- entities
- channels
- enabled
- name
properties:
regions:
type: array
items:
$ref: '#/components/schemas/NotificationRegion'
entities:
type: array
items:
type: string
description: ID of the entity. Use '*' to represent all entities of this type.
channels:
type: array
items:
$ref: '#/components/schemas/NotificationChannel'
enabled:
type: boolean
description: Enable/Disable complete subscription within an event.
name:
type: string
description: User provided name of the subscription.
BulkPayload:
description: Request body schema for bulk status update.
type: object
required:
- ids
- status
properties:
ids:
type: array
items:
type: string
minItems: 1
maxItems: 100
uniqueItems: true
status:
$ref: '#/components/schemas/NotificationStatus'
CursorMetaPage:
type: object
required:
- size
- next
- previous
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
DcrConfigPropertyInitialClientId:
title: DcrConfigPropertyInitialClientId
type: string
maxLength: 256
description: >
This ID should be copied from your identity provider's settings after
you create a client
and assign it as the management client for DCR for this developer portal
DcrConfigPropertyInitialClientSecret:
title: DcrConfigPropertyInitialClientSecret
type: string
maxLength: 256
description: >
This secret should be copied from your identity provider's settings
after you create a client
and assign it as the management client for DCR for this developer portal
DcrConfigPropertyDcrToken:
title: DcrConfigPropertyInitialDcrToken
type: string
maxLength: 256
description: >
This secret should be copied from your identity provider's settings
after you create a client
and assign it as the management client for DCR for this developer portal
DcrConfigPropertyInitialClientAudience:
title: DcrConfigPropertyInitialClientAudience
type: string
maxLength: 256
nullable: true
description: >
This is the audience value used for the initial client.
If using a custom domain on Auth0, this must be set as to the Auth0
Management API audience value.
If left blank, the issuer will be used instead.
DcrConfigPropertyApiKey:
title: DcrConfigPropertyApiKey
type: string
pattern: ^[a-zA-Z0-9_]+$
minLength: 12
maxLength: 256
description: >
This is the API Key that will be sent with each HTTP request to the
custom DCR server. It can be
verified on the server to ensure that incoming requests are coming from
Konnect.
DcrConfigPropertyDisableEventHooks:
title: DcrConfigPropertyDisableEventHooks
type: boolean
description: >-
This flag disables all the event-hooks on the application flow for the
DCR provider.
DcrConfigPropertyDisableRefreshSecret:
title: DcrConfigPropertyDisableRefreshSecret
type: boolean
description: >-
This flag disable the refresh-secret endpoint on the application flow
for the DCR provider.
DcrConfigAuth0InResponse:
title: DcrConfigAuth0InResponse
type: object
description: A DCR provider configuration for Auth0
additionalProperties: false
required:
- initial_client_id
- initial_client_audience
- use_developer_managed_scopes
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_audience:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientAudience'
use_developer_managed_scopes:
type: boolean
CreateDcrConfigAuth0InRequest:
title: DcrConfigAuth0InRequest
type: object
description: Payload to create an Auth0 DCR provider.
additionalProperties: false
required:
- initial_client_id
- initial_client_secret
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
initial_client_audience:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientAudience'
use_developer_managed_scopes:
type: boolean
UpdateDcrConfigAuth0InRequest:
title: DcrConfigAuth0InRequest
type: object
description: Payload to update an Auth0 DCR provider.
additionalProperties: false
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
initial_client_audience:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientAudience'
use_developer_managed_scopes:
type: boolean
DcrConfigAzureAdInResponse:
title: DcrConfigAzureAdInResponse
type: object
description: A DCR provider configuration for Azure AD
additionalProperties: false
required:
- initial_client_id
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
CreateDcrConfigAzureAdInRequest:
title: DcrConfigAzureAdInRequest
type: object
description: Payload to create an Azure AD DCR provider.
additionalProperties: false
required:
- initial_client_id
- initial_client_secret
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
UpdateDcrConfigAzureAdInRequest:
title: DcrConfigAzureAdInRequest
type: object
description: Payload to update an Azure AD DCR provider.
additionalProperties: false
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
DcrConfigCurityInResponse:
title: DcrConfigCurityInResponse
type: object
description: A DCR provider configuration for Curity
additionalProperties: false
required:
- initial_client_id
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
CreateDcrConfigCurityInRequest:
title: DcrConfigCurityInRequest
type: object
description: Payload to create a Curity DCR provider.
additionalProperties: false
required:
- initial_client_id
- initial_client_secret
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
UpdateDcrConfigCurityInRequest:
title: DcrConfigCurityInRequest
type: object
description: Payload to update a Curity DCR provider.
additionalProperties: false
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
DcrConfigOktaInResponse:
title: DcrConfigOktaInResponse
type: object
description: A DCR provider configuration for Okta
additionalProperties: false
CreateDcrConfigOktaInRequest:
title: DcrConfigOktaInRequest
type: object
description: Payload to create an Okta DCR provider.
additionalProperties: false
required:
- dcr_token
properties:
dcr_token:
$ref: '#/components/schemas/DcrConfigPropertyDcrToken'
UpdateDcrConfigOktaInRequest:
title: DcrConfigOktaInRequest
type: object
description: Payload to update an Okta DCR provider.
additionalProperties: false
properties:
dcr_token:
$ref: '#/components/schemas/DcrConfigPropertyDcrToken'
DcrConfigHttpInResponse:
title: DcrConfigHttpInResponse
type: object
description: A DCR provider configuration for HTTP
additionalProperties: false
required:
- dcr_base_url
properties:
dcr_base_url:
type: string
format: url
disable_event_hooks:
$ref: '#/components/schemas/DcrConfigPropertyDisableEventHooks'
disable_refresh_secret:
$ref: '#/components/schemas/DcrConfigPropertyDisableRefreshSecret'
CreateDcrConfigHttpInRequest:
title: CreateDcrConfigHttpInRequest
type: object
description: Payload to create an HTTP DCR provider.
additionalProperties: false
required:
- dcr_base_url
- api_key
properties:
dcr_base_url:
$ref: '#/components/schemas/DcrBaseUrl'
api_key:
$ref: '#/components/schemas/DcrConfigPropertyApiKey'
disable_event_hooks:
$ref: '#/components/schemas/DcrConfigPropertyDisableEventHooks'
disable_refresh_secret:
$ref: '#/components/schemas/DcrConfigPropertyDisableRefreshSecret'
UpdateDcrConfigHttpInRequest:
title: CreateDcrConfigHttpInRequest
type: object
description: Payload to update an HTTP DCR provider.
additionalProperties: false
properties:
dcr_base_url:
$ref: '#/components/schemas/DcrBaseUrl'
api_key:
$ref: '#/components/schemas/DcrConfigPropertyApiKey'
disable_event_hooks:
$ref: '#/components/schemas/DcrConfigPropertyDisableEventHooks'
disable_refresh_secret:
$ref: '#/components/schemas/DcrConfigPropertyDisableRefreshSecret'
DcrProviderType:
title: DcrProviderType
type: string
description: >-
The type of DCR provider. Can be one of the following - auth0, azureAd,
curity, okta, http
enum:
- auth0
- azureAd
- curity
- okta
- http
DcrProviderBase:
type: object
description: Properties common to all DCR Providers.
additionalProperties: false
required:
- id
- name
- provider_type
- issuer
- active
- dcr_config
- created_at
- updated_at
properties:
id:
$ref: '#/components/schemas/UUID'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
provider_type:
type: string
description: >-
The type of DCR provider. Can be one of the following - auth0,
azureAd, curity, okta, http
issuer:
type: string
description: The issuer of the DCR provider.
format: url
maxLength: 256
active:
readOnly: true
type: boolean
description: At least one active auth strategy is using this DCR provider.
dcr_config:
type: object
description: The DCR configuration for this DCR provider.
labels:
$ref: '#/components/schemas/Labels'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
DcrProviderAuth0:
title: DCR provider - Auth0
type: object
description: >-
A DCR provider for Auth0 -- only properties not included in
DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- auth0
dcr_config:
$ref: '#/components/schemas/DcrConfigAuth0InResponse'
DcrProviderAzureAd:
title: DCR provider - Azure AD
type: object
description: >-
A DCR provider for Azure AD -- only properties not included in
DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- azureAd
dcr_config:
$ref: '#/components/schemas/DcrConfigAzureAdInResponse'
DcrProviderCurity:
title: DCR provider - Curity
type: object
description: >-
A DCR provider for Curity -- only properties not included in
DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- curity
dcr_config:
$ref: '#/components/schemas/DcrConfigCurityInResponse'
DcrProviderOkta:
title: DCR provider - OKTA
type: object
description: >-
A DCR provider for Okta -- only properties not included in
DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- okta
dcr_config:
$ref: '#/components/schemas/DcrConfigOktaInResponse'
DcrProviderHttp:
title: DCR provider - HTTP
type: object
description: >-
A DCR provider for HTTP -- only properties not included in
DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- http
dcr_config:
$ref: '#/components/schemas/DcrConfigHttpInResponse'
CreateDcrProviderResponse:
type: object
description: A response containing the newly created DCR provider object.
allOf:
- $ref: '#/components/schemas/DcrProviderBase'
- discriminator:
propertyName: provider_type
type: object
oneOf:
- $ref: '#/components/schemas/DcrProviderAuth0'
- $ref: '#/components/schemas/DcrProviderAzureAd'
- $ref: '#/components/schemas/DcrProviderCurity'
- $ref: '#/components/schemas/DcrProviderOkta'
- $ref: '#/components/schemas/DcrProviderHttp'
DcrProviderResponse:
type: object
description: >-
A response containing a single DCR provider object. Sensitive fields
will be removed from the response.
allOf:
- $ref: '#/components/schemas/DcrProviderBase'
- discriminator:
propertyName: provider_type
type: object
oneOf:
- $ref: '#/components/schemas/DcrProviderAuth0'
- $ref: '#/components/schemas/DcrProviderAzureAd'
- $ref: '#/components/schemas/DcrProviderCurity'
- $ref: '#/components/schemas/DcrProviderOkta'
- $ref: '#/components/schemas/DcrProviderHttp'
CreateDcrProviderRequestAuth0:
title: CreateDcrProviderRequestAuth0
type: object
description: Request body for creating an Auth0 DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- auth0
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigAuth0InRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequestAzureAd:
title: CreateDcrProviderRequestAzureAd
type: object
description: Request body for creating an Azure AD DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- azureAd
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigAzureAdInRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequestCurity:
title: CreateDcrProviderRequestCurity
type: object
description: Request body for creating a Curity DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- curity
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigCurityInRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequestOkta:
title: CreateDcrProviderRequestOkta
type: object
description: Request body for creating an Okta DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- okta
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigOktaInRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequestHttp:
title: CreateDcrProviderRequestHttp
type: object
description: Request body for creating an HTTP DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- http
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigHttpInRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequest:
title: CreateDcrProviderRequest
description: >-
Request body for creating a DCR provider. The provider_type cannot be
updated after creation.
type: object
discriminator:
propertyName: provider_type
mapping:
auth0: '#/components/schemas/CreateDcrProviderRequestAuth0'
azureAd: '#/components/schemas/CreateDcrProviderRequestAzureAd'
curity: '#/components/schemas/CreateDcrProviderRequestCurity'
okta: '#/components/schemas/CreateDcrProviderRequestOkta'
http: '#/components/schemas/CreateDcrProviderRequestHttp'
oneOf:
- $ref: '#/components/schemas/CreateDcrProviderRequestAuth0'
- $ref: '#/components/schemas/CreateDcrProviderRequestAzureAd'
- $ref: '#/components/schemas/CreateDcrProviderRequestCurity'
- $ref: '#/components/schemas/CreateDcrProviderRequestOkta'
- $ref: '#/components/schemas/CreateDcrProviderRequestHttp'
UpdateDcrProviderRequest:
type: object
title: UpdateDcrProviderRequest
description: >-
A set of updates to a DCR provider. The provider_type cannot be updated
after creation.
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/LabelsUpdate'
dcr_config:
anyOf:
- $ref: '#/components/schemas/UpdateDcrConfigAuth0InRequest'
- $ref: '#/components/schemas/UpdateDcrConfigAzureAdInRequest'
- $ref: '#/components/schemas/UpdateDcrConfigCurityInRequest'
- $ref: '#/components/schemas/UpdateDcrConfigOktaInRequest'
- $ref: '#/components/schemas/UpdateDcrConfigHttpInRequest'
ListDcrProvidersResponse:
title: ListDcrProvidersResponse
type: object
description: A paginated list response for a collection of DCR providers
additionalProperties: false
required:
- data
- meta
properties:
data:
type: array
items:
$ref: '#/components/schemas/DcrProviderResponse'
meta:
$ref: '#/components/schemas/PaginatedMeta'
VerifyDcrProviderResponse:
title: VerifyDcrProviderResponse
type: object
description: >-
A response containing the result of attempting to verify a DCR provider
configuration.
additionalProperties: false
required:
- status
- errors
properties:
status:
type: string
enum:
- success
- failed
errors:
type: array
items:
type: string
AppAuthStrategyConfigKeyAuth:
title: AppAuthStrategyConfigKeyAuth
description: >
The most basic mode to configure an Application Auth Strategy for an API
Product Version.
Using this mode will allow developers to generate API keys that will
authenticate their application requests.
Once authenticated, an application will be granted access to any Product
Version it is registered for that is configured for Key Auth.
type: object
additionalProperties: false
properties:
key_names:
type: array
maxItems: 10
minItems: 1
items:
type: string
maxLength: 256
description: >-
The names of the headers containing the API key. You can specify
multiple header names.
PartialAppAuthStrategyConfigOpenIDConnect:
title: PartialAppAuthStrategyConfigOpenIDConnect
description: >
A more advanced mode to configure an API Product Version’s Application
Auth Strategy.
Using this mode will allow developers to use API credentials issued from
an external IdP that will authenticate their application requests.
Once authenticated, an application will be granted access to any Product
Version it is registered for that is configured for the same Auth
Strategy.
An OIDC strategy may be used in conjunction with a DCR provider to
automatically create the IdP application.
type: object
additionalProperties: true
properties:
issuer:
type: string
format: url
maxLength: 256
credential_claim:
type: array
maxItems: 10
items:
type: string
maxLength: 128
scopes:
type: array
maxItems: 50
items:
type: string
maxLength: 128
auth_methods:
type: array
maxItems: 10
items:
type: string
maxLength: 64
AppAuthStrategyConfigOpenIDConnect:
title: AppAuthStrategyConfigOpenIDConnect
description: >
A more advanced mode to configure an API Product Version’s Application
Auth Strategy.
Using this mode will allow developers to use API credentials issued from
an external IdP that will authenticate their application requests.
Once authenticated, an application will be granted access to any Product
Version it is registered for that is configured for the same Auth
Strategy.
An OIDC strategy may be used in conjunction with a DCR provider to
automatically create the IdP application.
type: object
additionalProperties: true
required:
- issuer
- credential_claim
- scopes
- auth_methods
properties:
issuer:
type: string
format: url
maxLength: 256
credential_claim:
type: array
maxItems: 10
items:
type: string
maxLength: 128
scopes:
type: array
maxItems: 50
items:
type: string
maxLength: 128
auth_methods:
type: array
maxItems: 10
items:
type: string
maxLength: 64
labels:
$ref: '#/components/schemas/Labels'
AppAuthStrategyKeyAuthRequest:
title: AppAuthStrategyKeyAuthRequest
description: Request for creating a Key Auth Application Auth Strategy
type: object
additionalProperties: false
required:
- name
- display_name
- strategy_type
- configs
properties:
name:
$ref: '#/components/schemas/AuthStrategyName'
display_name:
$ref: '#/components/schemas/AuthStrategyDisplayName'
strategy_type:
type: string
enum:
- key_auth
configs:
type: object
description: JSON-B object containing the configuration for the Key Auth strategy
additionalProperties: false
required:
- key-auth
properties:
key-auth:
$ref: '#/components/schemas/AppAuthStrategyConfigKeyAuth'
labels:
$ref: '#/components/schemas/Labels'
AppAuthStrategyKeyAuthResponse:
title: AppAuthStrategyKeyAuthResponse
description: >-
Response payload from creating or updating a Key Auth Application Auth
Strategy
type: object
additionalProperties: false
required:
- id
- name
- display_name
- strategy_type
- configs
- active
- dcr_provider
- labels
- created_at
- updated_at
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:
type: object
description: JSON-B object containing the configuration for the Key Auth strategy
additionalProperties: false
required:
- key-auth
properties:
key-auth:
$ref: '#/components/schemas/AppAuthStrategyConfigKeyAuth'
active:
type: boolean
description: At least one published product version is using this auth strategy.
dcr_provider:
nullable: true
type: object
additionalProperties: false
required:
- id
- name
- provider_type
properties:
id:
$ref: '#/components/schemas/UUID'
name:
type: string
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
provider_type:
$ref: '#/components/schemas/DcrProviderType'
labels:
$ref: '#/components/schemas/Labels'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
AppAuthStrategyOpenIDConnectRequest:
title: AppAuthStrategyOpenIDConnectRequest
description: Payload for creating an OIDC Application Auth Strategy
type: object
additionalProperties: false
required:
- name
- display_name
- strategy_type
- configs
properties:
name:
$ref: '#/components/schemas/AuthStrategyName'
display_name:
$ref: '#/components/schemas/AuthStrategyDisplayName'
strategy_type:
type: string
enum:
- openid_connect
configs:
type: object
description: JSON-B object containing the configuration for the OIDC strategy
additionalProperties: false
required:
- openid-connect
properties:
openid-connect:
$ref: '#/components/schemas/AppAuthStrategyConfigOpenIDConnect'
dcr_provider_id:
nullable: true
type: string
format: uuid
labels:
$ref: '#/components/schemas/Labels'
AppAuthStrategyOpenIDConnectResponse:
title: AppAuthStrategyOpenIDConnectResponse
description: Response payload from creating an OIDC Application Auth Strategy
type: object
additionalProperties: false
required:
- id
- name
- display_name
- strategy_type
- configs
- active
- dcr_provider
- labels
- created_at
- updated_at
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:
type: object
description: JSON-B object containing the configuration for the OIDC strategy
additionalProperties: false
required:
- openid-connect
properties:
openid-connect:
$ref: '#/components/schemas/AppAuthStrategyConfigOpenIDConnect'
active:
type: boolean
description: At least one published product version is using this auth strategy.
dcr_provider:
nullable: true
type: object
additionalProperties: false
required:
- id
- name
- provider_type
properties:
id:
$ref: '#/components/schemas/UUID'
name:
type: string
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
provider_type:
$ref: '#/components/schemas/DcrProviderType'
labels:
$ref: '#/components/schemas/Labels'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
CreateAppAuthStrategyRequest:
x-speakeasy-entity: ApplicationAuthStrategy
title: CreateAppAuthStrategyRequest
description: Request body for creating an Application Auth Strategy
type: object
discriminator:
propertyName: strategy_type
required:
- strategy_type
oneOf:
- $ref: '#/components/schemas/AppAuthStrategyKeyAuthRequest'
- $ref: '#/components/schemas/AppAuthStrategyOpenIDConnectRequest'
AppAuthStrategy:
x-speakeasy-entity: ApplicationAuthStrategy
title: AppAuthStrategy
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
required:
- strategy_type
oneOf:
- $ref: '#/components/schemas/AppAuthStrategyKeyAuthResponse'
- $ref: '#/components/schemas/AppAuthStrategyOpenIDConnectResponse'
UpdateAppAuthStrategyRequest:
x-speakeasy-entity: ApplicationAuthStrategy
title: UpdateAppAuthStrategyRequest
description: Request body for updating an Application Auth Strategy
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/AuthStrategyName'
display_name:
$ref: '#/components/schemas/AuthStrategyDisplayName'
labels:
$ref: '#/components/schemas/LabelsUpdate'
dcr_provider_id:
nullable: true
type: string
format: uuid
configs:
type: object
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'
oneOf:
- type: object
additionalProperties: false
required:
- openid-connect
properties:
openid-connect:
$ref: >-
#/components/schemas/PartialAppAuthStrategyConfigOpenIDConnect
- type: object
additionalProperties: false
required:
- key-auth
properties:
key-auth:
$ref: '#/components/schemas/AppAuthStrategyConfigKeyAuth'
CreateAppAuthStrategyResponse:
$ref: '#/components/schemas/AppAuthStrategy'
UpdateAppAuthStrategyResponse:
$ref: '#/components/schemas/AppAuthStrategy'
GetAppAuthStrategyResponse:
$ref: '#/components/schemas/AppAuthStrategy'
ListAppAuthStrategiesResponse:
title: ListAppAuthStrategiesResponse
description: >-
A paginated list response for a collection of Application Auth
Strategies
type: object
additionalProperties: false
required:
- data
- meta
properties:
data:
type: array
items:
$ref: '#/components/schemas/AppAuthStrategy'
meta:
$ref: '#/components/schemas/PaginatedMeta'
DcrBaseUrl:
type: string
description: >
The base URL of the DCR server. This is the URL that will be used to
make the HTTP requests from Konnect to the DCR provider.
This URL must be accessible from the Konnect service.
format: url
maxLength: 256
DcrProviderDisplayName:
type: string
description: >
The display name of the DCR provider. This is used to identify the DCR
provider in the Portal UI.
minLength: 1
maxLength: 256
DcrProviderName:
type: string
description: >
The name of the DCR provider. This is used to identify the DCR provider
in the Konnect UI.
minLength: 1
maxLength: 256
AuthStrategyName:
type: string
description: >
The name of the auth strategy. This is used to identify the auth
strategy in the Konnect UI.
minLength: 1
maxLength: 256
AuthStrategyDisplayName:
type: string
description: >
The display name of the Auth strategy. This is used to identify the Auth
strategy in the Portal UI.
maxLength: 256
UuidFieldFilter:
description: Filters on the given string field value by exact match inequality.
type: object
properties:
eq:
type: string
oeq:
type: string
neq:
type: string
additionalProperties: false
DataPlaneClientCertificate:
x-speakeasy-entity: GatewayDataPlaneClientCertificate
type: object
properties:
id:
type: string
description: Unique ID of the certificate entity.
created_at:
type: integer
description: Date certificate was created.
updated_at:
type: integer
description: Date certificate was last updated.
cert:
type: string
description: JSON escaped string of the certificate.
ConfigStore:
type: object
properties:
id:
type: string
format: uuid
example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8
description: The Config Store ID.
readOnly: true
name:
type: string
description: The name of the Config Store
example: My Name
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
CreateConfigStore:
title: Create Config Store Request
description: The request schema to create a Config Store.
type: object
additionalProperties: false
properties:
name:
type: string
minLength: 1
maxLength: 100
example: Config Store
UpdateConfigStore:
title: Update Config Store Request
description: The request schema to update a Config Store.
type: object
additionalProperties: false
properties:
name:
type: string
minLength: 1
maxLength: 100
example: Config Store
ConfigStoreSecret:
type: object
properties:
key:
type: string
value:
type: string
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
CreateConfigStoreSecret:
type: object
required:
- key
- value
properties:
key:
type: string
minLength: 1
maxLength: 512
value:
type: string
minLength: 1
maxLength: 5120
UpdateConfigStoreSecret:
type: object
required:
- value
properties:
value:
type: string
minLength: 1
maxLength: 5120
ACL:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
group:
type: string
id:
type: string
nullable: true
tags:
type: array
items:
type: string
example:
consumer:
id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f
group: foo
id: b1f34145-0343-41a4-9602-4c69dec2f269
additionalProperties: false
required:
- group
ACLWithoutParents:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
group:
type: string
id:
type: string
nullable: true
tags:
type: array
items:
type: string
example:
group: foo
id: b1f34145-0343-41a4-9602-4c69dec2f269
additionalProperties: false
required:
- group
BasicAuth:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
password:
type: string
tags:
type: array
items:
type: string
username:
type: string
example:
consumer:
id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f
id: b2f34145-0343-41a4-9602-4c69dec2f269
password: hashedsoopersecretvalue
username: darius
additionalProperties: false
required:
- username
- password
BasicAuthWithoutParents:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
password:
type: string
tags:
type: array
items:
type: string
username:
type: string
example:
id: b2f34145-0343-41a4-9602-4c69dec2f269
password: hashedsoopersecretvalue
username: darius
additionalProperties: false
required:
- username
- password
CACertificate:
description: >-
A CA certificate object represents a trusted CA. These objects are used
by Kong to verify the validity of a client or server certificate.
type: object
properties:
cert:
description: PEM-encoded public certificate of the CA.
type: string
cert_digest:
description: >-
SHA256 hex digest of the public certificate. This field is read-only
and it cannot be set by the caller, the value is automatically
computed.
type: string
nullable: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Certificate for
grouping and filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
cert: |-
-----BEGIN CERTIFICATE-----
certificate-content
-----END CERTIFICATE-----
id: b2f34145-0343-41a4-9602-4c69dec2f260
additionalProperties: false
required:
- cert
Certificate:
description: >-
A certificate object represents a public certificate, and can be
optionally paired with the corresponding private key. These objects are
used by Kong to handle SSL/TLS termination for encrypted requests, or
for use as a trusted CA store when validating peer certificate of
client/service. Certificates are optionally associated with SNI objects
to tie a cert/key pair to one or more hostnames. If intermediate
certificates are required in addition to the main certificate, they
should be concatenated together into one string according to the
following order: main certificate on the top, followed by any
intermediates.
type: object
properties:
cert:
description: >-
PEM-encoded public certificate chain of the SSL key pair. This field
is _referenceable_, which means it can be securely stored as a
[secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started)
in a vault. References must follow a [specific
format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
cert_alt:
description: >-
PEM-encoded public certificate chain of the alternate SSL key pair.
This should only be set if you have both RSA and ECDSA types of
certificate available and would like Kong to prefer serving using
ECDSA certs when client advertises support for it. This field is
_referenceable_, which means it can be securely stored as a
[secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started)
in a vault. References must follow a [specific
format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
nullable: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
description: >-
PEM-encoded private key of the SSL key pair. This field is
_referenceable_, which means it can be securely stored as a
[secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started)
in a vault. References must follow a [specific
format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
key_alt:
description: >-
PEM-encoded private key of the alternate SSL key pair. This should
only be set if you have both RSA and ECDSA types of certificate
available and would like Kong to prefer serving using ECDSA certs
when client advertises support for it. This field is
_referenceable_, which means it can be securely stored as a
[secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started)
in a vault. References must follow a [specific
format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
nullable: true
snis:
type: array
items:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Certificate for
grouping and filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
cert: |-
-----BEGIN CERTIFICATE-----
certificate-content
-----END CERTIFICATE-----
id: b2f34145-0343-41a4-9602-4c69dec2f269
key: |-
-----BEGIN PRIVATE KEY-----
private-key-content
-----END PRIVATE KEY-----
additionalProperties: false
required:
- cert
- key
Consumer:
description: >-
The Consumer object represents a consumer - or a user - of a Service.
You can either rely on Kong as the primary datastore, or you can map the
consumer list with your database to keep consistency between Kong and
your existing primary datastore.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
custom_id:
description: >-
Field for storing an existing unique ID for the Consumer - useful
for mapping Kong with users in your existing database. You must send
either this field or `username` with the request.
type: string
nullable: true
id:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Consumer for grouping
and filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
username:
description: >-
The unique username of the Consumer. You must send either this field
or `custom_id` with the request.
type: string
nullable: true
example:
custom_id: '4200'
id: 8a388226-80e8-4027-a486-25e4f7db5d21
tags:
- silver-tier
username: bob-the-builder
additionalProperties: false
ConsumerGroup:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
type: string
tags:
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
additionalProperties: false
required:
- name
ConsumerGroupInsideWrapper:
type: object
properties:
consumer_group:
$ref: '#/components/schemas/ConsumerGroup'
CustomPlugin:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
handler:
type: string
id:
type: string
nullable: true
name:
type: string
schema:
type: string
tags:
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
handler: >-
return { VERSION = '1.0,0', PRIORITY = 500, access = function(self,
config) kong.service.request.set_header(config.name, config.value) end
}
id: 868346aa-1105-4b77-8346-aa1105fb77c4
name: set-header
schema: >-
return { name = 'set-header', fields = { { protocols =
require('kong.db.schema.typedefs').protocols_http }, { config = { type
= 'record', fields = { { name = { description = 'The name of the
header to set.', type = 'string', required = true } }, { value = {
description = 'The value for the header.', type = 'string', required =
true } } } } } } }
additionalProperties: false
required:
- name
- schema
- handler
Degraphql_route:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
methods:
type: array
items:
type: string
default:
- GET
nullable: true
query:
type: string
service:
type: object
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
nullable: true
default: null
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
uri:
type: string
example:
id: 56c4566c-14cc-4132-9011-4139fcbbe50a
query: query{ user { email } }
service:
id: bd380f99-659d-415e-b0e7-72ea05df3218
uri: /users
additionalProperties: false
required:
- service
- uri
- query
Degraphql_routeWithoutParents:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
methods:
type: array
items:
type: string
default:
- GET
nullable: true
query:
type: string
service:
type: object
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
nullable: true
default: null
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
uri:
type: string
example:
id: 56c4566c-14cc-4132-9011-4139fcbbe50a
query: query{ user { email } }
uri: /users
additionalProperties: false
required:
- uri
- query
GatewayUnauthorizedError:
type: object
properties:
message:
type: string
status:
type: integer
required:
- message
- status
HMACAuth:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
secret:
type: string
nullable: true
tags:
type: array
items:
type: string
username:
type: string
example:
consumer:
id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f
id: 75695322-e8a0-4109-aed4-5416b0308d85
secret: wQazJ304DW5huJklHgUfjfiSyCyTAEDZ
username: xerxes
additionalProperties: false
required:
- username
HMACAuthWithoutParents:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
secret:
type: string
nullable: true
tags:
type: array
items:
type: string
username:
type: string
example:
id: 75695322-e8a0-4109-aed4-5416b0308d85
secret: wQazJ304DW5huJklHgUfjfiSyCyTAEDZ
username: xerxes
additionalProperties: false
required:
- username
JWT:
type: object
properties:
algorithm:
type: string
enum:
- HS256
- HS384
- HS512
- RS256
- RS384
- RS512
- ES256
- ES384
- ES512
- PS256
- PS384
- PS512
- EdDSA
nullable: true
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
type: string
nullable: true
rsa_public_key:
type: string
nullable: true
secret:
type: string
nullable: true
tags:
type: array
items:
type: string
example:
algorithm: HS256
consumer:
id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f
id: 75695322-e8a0-4109-aed4-5416b0308d85
key: YJdmaDvVTJxtcWRCvkMikc8oELgAVNcz
secret: C50k0bcahDhLNhLKSUBSR1OMiFGzNZ7X
additionalProperties: false
JWTWithoutParents:
type: object
properties:
algorithm:
type: string
enum:
- HS256
- HS384
- HS512
- RS256
- RS384
- RS512
- ES256
- ES384
- ES512
- PS256
- PS384
- PS512
- EdDSA
nullable: true
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
type: string
nullable: true
rsa_public_key:
type: string
nullable: true
secret:
type: string
nullable: true
tags:
type: array
items:
type: string
example:
algorithm: HS256
id: 75695322-e8a0-4109-aed4-5416b0308d85
key: YJdmaDvVTJxtcWRCvkMikc8oELgAVNcz
secret: C50k0bcahDhLNhLKSUBSR1OMiFGzNZ7X
additionalProperties: false
Key:
description: >-
A Key object holds a representation of asymmetric keys in various
formats. When Kong or a Kong plugin requires a specific public or
private key to perform certain operations, it can use this entity.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
jwk:
description: A JSON Web Key represented as a string.
type: string
nullable: true
kid:
description: A unique identifier for a key.
type: string
name:
description: The name to associate with the given keys.
type: string
nullable: true
pem:
description: A keypair in PEM format.
type: object
nullable: true
properties:
private_key:
type: string
public_key:
type: string
set:
description: The id (an UUID) of the key-set with which to associate the key.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
tags:
description: >-
An optional set of strings associated with the Key for grouping and
filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
x5t:
type: string
nullable: true
example:
id: d958f66b-8e99-44d2-b0b4-edd5bbf24658
jwk: '{"alg":"RSA", "kid": "42", ...}'
kid: '42'
name: a-key
pem:
private_key: '-----BEGIN'
public_key: '-----BEGIN'
set:
id: b86b331c-dcd0-4b3e-97ce-47c5a9543031
additionalProperties: false
required:
- kid
KeyAuth:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
type: string
nullable: true
tags:
type: array
items:
type: string
ttl:
description: key-auth ttl in seconds
type: integer
nullable: true
example:
consumer:
id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f
id: b2f34145-0343-41a4-9602-4c69dec2f269
key: IL1deIyHyQA40WpeLeA1bIUXuvTwlGjo
additionalProperties: false
KeyAuthWithoutParents:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
type: string
nullable: true
tags:
type: array
items:
type: string
ttl:
description: key-auth ttl in seconds
type: integer
nullable: true
example:
id: b2f34145-0343-41a4-9602-4c69dec2f269
key: IL1deIyHyQA40WpeLeA1bIUXuvTwlGjo
additionalProperties: false
KeySet:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
type: string
nullable: true
tags:
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
id: b58c7d9d-e54f-444c-b24d-cdfc4159f61e
name: example-key-set
tags:
- idp-keys
additionalProperties: false
KeyWithoutParents:
description: >-
A Key object holds a representation of asymmetric keys in various
formats. When Kong or a Kong plugin requires a specific public or
private key to perform certain operations, it can use this entity.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
jwk:
description: A JSON Web Key represented as a string.
type: string
nullable: true
kid:
description: A unique identifier for a key.
type: string
name:
description: The name to associate with the given keys.
type: string
nullable: true
pem:
description: A keypair in PEM format.
type: object
nullable: true
properties:
private_key:
type: string
public_key:
type: string
set:
description: The id (an UUID) of the key-set with which to associate the key.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
tags:
description: >-
An optional set of strings associated with the Key for grouping and
filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
x5t:
type: string
nullable: true
example:
id: d958f66b-8e99-44d2-b0b4-edd5bbf24658
jwk: '{"alg":"RSA", "kid": "42", ...}'
kid: '42'
name: a-key
pem:
private_key: '-----BEGIN'
public_key: '-----BEGIN'
set:
id: b86b331c-dcd0-4b3e-97ce-47c5a9543031
additionalProperties: false
required:
- kid
MTLSAuth:
type: object
properties:
ca_certificate:
type: object
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
nullable: true
default: null
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
subject_name:
type: string
tags:
type: array
items:
type: string
example:
ca_certificate:
id: b2f34145-0343-41a4-9602-4c69dec2f260
consumer:
id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f
id: b2f34145-0343-41a4-9602-4c69dec2f269
subject_name: CA_Subject_Name
additionalProperties: false
required:
- subject_name
MTLSAuthWithoutParents:
type: object
properties:
ca_certificate:
type: object
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
nullable: true
default: null
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
subject_name:
type: string
tags:
type: array
items:
type: string
example:
ca_certificate:
id: b2f34145-0343-41a4-9602-4c69dec2f260
id: b2f34145-0343-41a4-9602-4c69dec2f269
subject_name: CA_Subject_Name
additionalProperties: false
required:
- subject_name
PaginationNextResponse:
description: URI to the next page (may be null)
type: string
PaginationOffsetResponse:
description: >-
Offset is used to paginate through the API. Provide this value to the
next list operation to fetch the next page
type: string
Partial:
type: object
properties:
config:
type: object
additionalProperties: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
type: string
nullable: true
tags:
type: array
items:
type: string
type:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
additionalProperties: false
required:
- type
- config
PartialLink:
type: object
properties:
id:
description: The plugin's unique identifier
type: string
instance_name:
description: The instance name of the plugin
type: string
name:
description: The plugin's name
type: string
required:
- id
- name
Plugin:
description: >-
A Plugin entity represents a plugin configuration that will be executed
during the HTTP request/response lifecycle. It is how you can add
functionalities to Services that run behind Kong, like Authentication or
Rate Limiting for example. You can find more information about how to
install and what values each plugin takes by visiting the [Kong
Hub](https://docs.konghq.com/hub/). When adding a Plugin Configuration
to a Service, every request made by a client to that Service will run
said Plugin. If a Plugin needs to be tuned to different values for some
specific Consumers, you can do so by creating a separate plugin instance
that specifies both the Service and the Consumer, through the `service`
and `consumer` fields.
type: object
properties:
config:
description: >-
The configuration properties for the Plugin which can be found on
the plugins documentation page in the [Kong
Hub](https://docs.konghq.com/hub/).
type: object
additionalProperties: true
nullable: true
consumer:
description: >-
If set, the plugin will activate only for requests where the
specified has been authenticated. (Note that some plugins can not be
restricted to consumers this way.). Leave unset for the plugin to
activate regardless of the authenticated Consumer.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
consumer_group:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
enabled:
description: Whether the plugin is applied.
type: boolean
nullable: true
id:
type: string
nullable: true
instance_name:
type: string
nullable: true
name:
description: >-
The name of the Plugin that's going to be added. Currently, the
Plugin must be installed in every Kong instance separately.
type: string
ordering:
type: object
nullable: true
properties:
after:
type: object
properties:
access:
type: array
items:
type: string
before:
type: object
properties:
access:
type: array
items:
type: string
partials:
type: array
items:
properties:
id:
type: string
name:
type: string
path:
type: string
type: object
nullable: true
protocols:
description: >-
A list of the request protocols that will trigger this plugin. The
default value, as well as the possible values allowed on this field,
may change depending on the plugin type. For example, plugins that
only work in stream mode will only support `"tcp"` and `"tls"`.
type: array
items:
enum:
- grpc
- grpcs
- http
- https
- tcp
- tls
- tls_passthrough
- udp
- ws
- wss
type: string
default:
- grpc
- grpcs
- http
- https
nullable: true
route:
description: >-
If set, the plugin will only activate when receiving requests via
the specified route. Leave unset for the plugin to activate
regardless of the Route being used.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
service:
description: >-
If set, the plugin will only activate when receiving requests via
one of the routes belonging to the specified Service. Leave unset
for the plugin to activate regardless of the Service being matched.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
tags:
description: >-
An optional set of strings associated with the Plugin for grouping
and filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
config:
anonymous: null
hide_credentials: false
key_in_body: false
key_in_header: true
key_in_query: true
key_names:
- apikey
run_on_preflight: true
enabled: true
id: 3fd1eea1-885a-4011-b986-289943ff8177
name: key-auth
partials:
- id: cff1230a-00f7-4ae8-b376-c370f0eb4dae
name: foo-partial
path: config.redis
- id: 129ee345-cba8-4e55-9d6d-93c223ff91ae
name: bar-partial
path: config.redis
protocols:
- grpc
- grpcs
- http
- https
additionalProperties: false
required:
- name
PluginWithoutParents:
description: >-
A Plugin entity represents a plugin configuration that will be executed
during the HTTP request/response lifecycle. It is how you can add
functionalities to Services that run behind Kong, like Authentication or
Rate Limiting for example. You can find more information about how to
install and what values each plugin takes by visiting the [Kong
Hub](https://docs.konghq.com/hub/). When adding a Plugin Configuration
to a Service, every request made by a client to that Service will run
said Plugin. If a Plugin needs to be tuned to different values for some
specific Consumers, you can do so by creating a separate plugin instance
that specifies both the Service and the Consumer, through the `service`
and `consumer` fields.
type: object
properties:
config:
description: >-
The configuration properties for the Plugin which can be found on
the plugins documentation page in the [Kong
Hub](https://docs.konghq.com/hub/).
type: object
additionalProperties: true
nullable: true
consumer:
description: >-
If set, the plugin will activate only for requests where the
specified has been authenticated. (Note that some plugins can not be
restricted to consumers this way.). Leave unset for the plugin to
activate regardless of the authenticated Consumer.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
consumer_group:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
enabled:
description: Whether the plugin is applied.
type: boolean
nullable: true
id:
type: string
nullable: true
instance_name:
type: string
nullable: true
name:
description: >-
The name of the Plugin that's going to be added. Currently, the
Plugin must be installed in every Kong instance separately.
type: string
ordering:
type: object
nullable: true
properties:
after:
type: object
properties:
access:
type: array
items:
type: string
before:
type: object
properties:
access:
type: array
items:
type: string
partials:
type: array
items:
properties:
id:
type: string
name:
type: string
path:
type: string
type: object
nullable: true
protocols:
description: >-
A list of the request protocols that will trigger this plugin. The
default value, as well as the possible values allowed on this field,
may change depending on the plugin type. For example, plugins that
only work in stream mode will only support `"tcp"` and `"tls"`.
type: array
items:
enum:
- grpc
- grpcs
- http
- https
- tcp
- tls
- tls_passthrough
- udp
- ws
- wss
type: string
default:
- grpc
- grpcs
- http
- https
nullable: true
route:
description: >-
If set, the plugin will only activate when receiving requests via
the specified route. Leave unset for the plugin to activate
regardless of the Route being used.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
service:
description: >-
If set, the plugin will only activate when receiving requests via
one of the routes belonging to the specified Service. Leave unset
for the plugin to activate regardless of the Service being matched.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
tags:
description: >-
An optional set of strings associated with the Plugin for grouping
and filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
config:
anonymous: null
hide_credentials: false
key_in_body: false
key_in_header: true
key_in_query: true
key_names:
- apikey
run_on_preflight: true
enabled: true
id: 3fd1eea1-885a-4011-b986-289943ff8177
name: key-auth
partials:
- id: cff1230a-00f7-4ae8-b376-c370f0eb4dae
name: foo-partial
path: config.redis
- id: 129ee345-cba8-4e55-9d6d-93c223ff91ae
name: bar-partial
path: config.redis
protocols:
- grpc
- grpcs
- http
- https
additionalProperties: false
required:
- name
Route:
oneOf:
- $ref: '#/components/schemas/RouteJson'
- $ref: '#/components/schemas/RouteExpression'
RouteExpression:
x-speakeasy-entity: GatewayRouteExpression
description: >-
Route entities define rules to match client requests. Each Route is
associated with a Service, and a Service may have multiple Routes
associated to it. Every request matching a given Route will be proxied
to its associated Service. The combination of Routes and Services (and
the separation of concerns between them) offers a powerful routing
mechanism with which it is possible to define fine-grained entry-points
in Kong leading to different upstream services of your infrastructure.
You need at least one matching rule that applies to the protocol being
matched by the Route.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
expression:
description: >-
Use Router Expression to perform route match. This option is only
available when `router_flavor` is set to `expressions`.
type: string
nullable: true
https_redirect_status_code:
description: >-
The status code Kong responds with when all properties of a Route
match except the protocol i.e. if the protocol of the request is
`HTTP` instead of `HTTPS`. `Location` header is injected by Kong if
the field is set to 301, 302, 307 or 308. Note: This config applies
only if the Route is configured to only accept the `https` protocol.
type: integer
enum:
- 426
- 301
- 302
- 307
- 308
nullable: true
id:
type: string
nullable: true
name:
description: >-
The name of the Route. Route names must be unique, and they are case
sensitive. For example, there can be two different Routes named
"test" and "Test".
type: string
nullable: true
path_handling:
description: >-
Controls how the Service path, Route path and requested path are
combined when sending a request to the upstream. See above for a
detailed description of each behavior.
type: string
enum:
- v0
- v1
nullable: true
preserve_host:
description: >-
When matching a Route via one of the `hosts` domain names, use the
request `Host` header in the upstream request headers. If set to
`false`, the upstream `Host` header will be that of the Service's
`host`.
type: boolean
nullable: true
priority:
type: integer
nullable: true
protocols:
description: >-
An array of the protocols this Route should allow. See the [Route
Object](#route-object) section for a list of accepted protocols.
When set to only `"https"`, HTTP requests are answered with an
upgrade error. When set to only `"http"`, HTTPS requests are
answered with an error.
type: array
items:
enum:
- grpc
- grpcs
- http
- https
- tcp
- tls
- tls_passthrough
- udp
- ws
- wss
type: string
default:
- http
- https
nullable: true
request_buffering:
description: >-
Whether to enable request body buffering or not. With HTTP 1.1, it
may make sense to turn this off on services that receive data with
chunked transfer encoding.
type: boolean
nullable: true
response_buffering:
description: >-
Whether to enable response body buffering or not. With HTTP 1.1, it
may make sense to turn this off on services that send data with
chunked transfer encoding.
type: boolean
nullable: true
service:
description: >-
The Service this Route is associated to. This is where the Route
proxies traffic to.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
strip_path:
description: >-
When matching a Route via one of the `paths`, strip the matching
prefix from the upstream request URL.
type: boolean
nullable: true
tags:
description: >-
An optional set of strings associated with the Route for grouping
and filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
additionalProperties: false
RouteJson:
description: >-
Route entities define rules to match client requests. Each Route is
associated with a Service, and a Service may have multiple Routes
associated to it. Every request matching a given Route will be proxied
to its associated Service. The combination of Routes and Services (and
the separation of concerns between them) offers a powerful routing
mechanism with which it is possible to define fine-grained entry-points
in Kong leading to different upstream services of your infrastructure.
You need at least one matching rule that applies to the protocol being
matched by the Route.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
destinations:
description: >-
A list of IP destinations of incoming connections that match this
Route when using stream routing. Each entry is an object with fields
"ip" (optionally in CIDR range notation) and/or "port".
type: array
items:
properties:
ip:
type: string
port:
type: integer
type: object
nullable: true
headers:
description: >-
One or more lists of values indexed by header name that will cause
this Route to match if present in the request. The `Host` header
cannot be used with this attribute: hosts should be specified using
the `hosts` attribute. When `headers` contains only one value and
that value starts with the special prefix `~*`, the value is
interpreted as a regular expression.
type: object
additionalProperties:
items:
type: string
type: array
nullable: true
hosts:
description: >-
A list of domain names that match this Route. Note that the hosts
value is case sensitive.
type: array
items:
type: string
nullable: true
https_redirect_status_code:
description: >-
The status code Kong responds with when all properties of a Route
match except the protocol i.e. if the protocol of the request is
`HTTP` instead of `HTTPS`. `Location` header is injected by Kong if
the field is set to 301, 302, 307 or 308. Note: This config applies
only if the Route is configured to only accept the `https` protocol.
type: integer
enum:
- 426
- 301
- 302
- 307
- 308
nullable: true
id:
type: string
nullable: true
methods:
description: A list of HTTP methods that match this Route.
type: array
items:
type: string
nullable: true
name:
description: >-
The name of the Route. Route names must be unique, and they are case
sensitive. For example, there can be two different Routes named
"test" and "Test".
type: string
nullable: true
path_handling:
description: >-
Controls how the Service path, Route path and requested path are
combined when sending a request to the upstream. See above for a
detailed description of each behavior.
type: string
enum:
- v0
- v1
nullable: true
paths:
description: A list of paths that match this Route.
type: array
items:
type: string
nullable: true
preserve_host:
description: >-
When matching a Route via one of the `hosts` domain names, use the
request `Host` header in the upstream request headers. If set to
`false`, the upstream `Host` header will be that of the Service's
`host`.
type: boolean
nullable: true
protocols:
description: >-
An array of the protocols this Route should allow. See the [Route
Object](#route-object) section for a list of accepted protocols.
When set to only `"https"`, HTTP requests are answered with an
upgrade error. When set to only `"http"`, HTTPS requests are
answered with an error.
type: array
items:
enum:
- grpc
- grpcs
- http
- https
- tcp
- tls
- tls_passthrough
- udp
- ws
- wss
type: string
default:
- http
- https
nullable: true
regex_priority:
description: >-
A number used to choose which route resolves a given request when
several routes match it using regexes simultaneously. When two
routes match the path and have the same `regex_priority`, the older
one (lowest `created_at`) is used. Note that the priority for
non-regex routes is different (longer non-regex routes are matched
before shorter ones).
type: integer
nullable: true
request_buffering:
description: >-
Whether to enable request body buffering or not. With HTTP 1.1, it
may make sense to turn this off on services that receive data with
chunked transfer encoding.
type: boolean
nullable: true
response_buffering:
description: >-
Whether to enable response body buffering or not. With HTTP 1.1, it
may make sense to turn this off on services that send data with
chunked transfer encoding.
type: boolean
nullable: true
service:
description: >-
The Service this Route is associated to. This is where the Route
proxies traffic to.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
snis:
description: A list of SNIs that match this Route when using stream routing.
type: array
items:
type: string
nullable: true
sources:
description: >-
A list of IP sources of incoming connections that match this Route
when using stream routing. Each entry is an object with fields "ip"
(optionally in CIDR range notation) and/or "port".
type: array
items:
properties:
ip:
type: string
port:
type: integer
type: object
nullable: true
strip_path:
description: >-
When matching a Route via one of the `paths`, strip the matching
prefix from the upstream request URL.
type: boolean
nullable: true
tags:
description: >-
An optional set of strings associated with the Route for grouping
and filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
hosts:
- foo.example.com
- foo.example.us
id: 56c4566c-14cc-4132-9011-4139fcbbe50a
name: example-route
paths:
- /v1
- /v2
service:
id: bd380f99-659d-415e-b0e7-72ea05df3218
additionalProperties: false
RouteWithoutParents:
oneOf:
- $ref: '#/components/schemas/RouteJson'
- $ref: '#/components/schemas/RouteExpression'
SNI:
description: >-
An SNI object represents a many-to-one mapping of hostnames to a
certificate. That is, a certificate object can have many hostnames
associated with it; when Kong receives an SSL request, it uses the SNI
field in the Client Hello to lookup the certificate object based on the
SNI associated with the certificate.
type: object
properties:
certificate:
description: >-
The id (a UUID) of the certificate with which to associate the SNI
hostname. The Certificate must have a valid private key associated
with it to be used by the SNI object.
type: object
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
description: The SNI name to associate with the given certificate.
type: string
tags:
description: >-
An optional set of strings associated with the SNIs for grouping and
filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
certificate:
id: bd380f99-659d-415e-b0e7-72ea05df3218
id: 36c4566c-14cc-4132-9011-4139fcbbe50a
name: some.example.org
additionalProperties: false
required:
- name
- certificate
SNIWithoutParents:
description: >-
An SNI object represents a many-to-one mapping of hostnames to a
certificate. That is, a certificate object can have many hostnames
associated with it; when Kong receives an SSL request, it uses the SNI
field in the Client Hello to lookup the certificate object based on the
SNI associated with the certificate.
type: object
properties:
certificate:
description: >-
The id (a UUID) of the certificate with which to associate the SNI
hostname. The Certificate must have a valid private key associated
with it to be used by the SNI object.
type: object
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
description: The SNI name to associate with the given certificate.
type: string
tags:
description: >-
An optional set of strings associated with the SNIs for grouping and
filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
id: 36c4566c-14cc-4132-9011-4139fcbbe50a
name: some.example.org
additionalProperties: false
required:
- name
Service:
description: >-
Service entities, as the name implies, are abstractions of each of your
own upstream services. Examples of Services would be a data
transformation microservice, a billing API, etc. The main attribute of a
Service is its URL (where Kong should proxy traffic to), which can be
set as a single string or by specifying its `protocol`, `host`, `port`
and `path` individually. Services are associated to Routes (a Service
can have many Routes associated with it). Routes are entry-points in
Kong and define rules to match client requests. Once a Route is matched,
Kong proxies the request to its associated Service. See the [Proxy
Reference][proxy-reference] for a detailed explanation of how Kong
proxies traffic.
type: object
properties:
ca_certificates:
description: >-
Array of `CA Certificate` object UUIDs that are used to build the
trust store while verifying upstream server's TLS certificate. If
set to `null` when Nginx default is respected. If default CA list in
Nginx are not specified and TLS verification is enabled, then
handshake with upstream server will always fail (because no CA are
trusted).
type: array
items:
type: string
nullable: true
client_certificate:
description: >-
Certificate to be used as client certificate while TLS handshaking
to the upstream server.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
connect_timeout:
description: >-
The timeout in milliseconds for establishing a connection to the
upstream server.
type: integer
nullable: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
enabled:
description: >-
Whether the Service is active. If set to `false`, the proxy behavior
will be as if any routes attached to it do not exist (404). Default:
`true`.
type: boolean
nullable: true
host:
description: >-
The host of the upstream server. Note that the host value is case
sensitive.
type: string
id:
type: string
nullable: true
name:
description: The Service name.
type: string
nullable: true
path:
description: The path to be used in requests to the upstream server.
type: string
nullable: true
port:
description: The upstream server port.
type: integer
nullable: true
protocol:
description: The protocol used to communicate with the upstream.
type: string
enum:
- grpc
- grpcs
- http
- https
- tcp
- tls
- tls_passthrough
- udp
- ws
- wss
nullable: true
read_timeout:
description: >-
The timeout in milliseconds between two successive read operations
for transmitting a request to the upstream server.
type: integer
nullable: true
retries:
description: The number of retries to execute upon failure to proxy.
type: integer
nullable: true
tags:
description: >-
An optional set of strings associated with the Service for grouping
and filtering.
type: array
items:
type: string
tls_verify:
description: >-
Whether to enable verification of upstream server TLS certificate.
If set to `null`, then the Nginx default is respected.
type: boolean
nullable: true
tls_verify_depth:
description: >-
Maximum depth of chain while verifying Upstream server's TLS
certificate. If set to `null`, then the Nginx default is respected.
type: integer
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
url:
description: >-
Helper field to set `protocol`, `host`, `port` and `path` using a
URL. This field is write-only and is not returned in responses.
type: string
writeOnly: true
write_timeout:
description: >-
The timeout in milliseconds between two successive write operations
for transmitting a request to the upstream server.
type: integer
nullable: true
example:
host: example.internal
id: 49fd316e-c457-481c-9fc7-8079153e4f3c
name: example-service
path: /
port: 80
protocol: http
additionalProperties: false
required:
- host
Target:
description: >-
A target is an ip address/hostname with a port that identifies an
instance of a backend service. Every upstream can have many targets, and
the targets can be dynamically added, modified, or deleted. Changes take
effect on the fly. To disable a target, post a new one with `weight=0`;
alternatively, use the `DELETE` convenience method to accomplish the
same. The current target object definition is the one with the latest
`created_at`.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: number
nullable: true
id:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Target for grouping
and filtering.
type: array
items:
type: string
target:
description: >-
The target address (ip or hostname) and port. If the hostname
resolves to an SRV record, the `port` value will be overridden by
the value from the DNS record.
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: number
nullable: true
upstream:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
weight:
description: >-
The weight this target gets within the upstream loadbalancer
(`0`-`65535`). If the hostname resolves to an SRV record, the
`weight` value will be overridden by the value from the DNS record.
type: integer
nullable: true
example:
id: 089292a7-ba3d-4d88-acf0-97b4b2e2621a
target: 203.0.113.42
upstream:
id: 5f1d7e76-2fed-4806-a6af-869984f025cb
weight: 100
additionalProperties: false
TargetWithoutParents:
description: >-
A target is an ip address/hostname with a port that identifies an
instance of a backend service. Every upstream can have many targets, and
the targets can be dynamically added, modified, or deleted. Changes take
effect on the fly. To disable a target, post a new one with `weight=0`;
alternatively, use the `DELETE` convenience method to accomplish the
same. The current target object definition is the one with the latest
`created_at`.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: number
nullable: true
id:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Target for grouping
and filtering.
type: array
items:
type: string
target:
description: >-
The target address (ip or hostname) and port. If the hostname
resolves to an SRV record, the `port` value will be overridden by
the value from the DNS record.
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: number
nullable: true
upstream:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
weight:
description: >-
The weight this target gets within the upstream loadbalancer
(`0`-`65535`). If the hostname resolves to an SRV record, the
`weight` value will be overridden by the value from the DNS record.
type: integer
nullable: true
example:
id: 089292a7-ba3d-4d88-acf0-97b4b2e2621a
target: 203.0.113.42
weight: 100
additionalProperties: false
Upstream:
description: >-
The upstream object represents a virtual hostname and can be used to
loadbalance incoming requests over multiple services (targets). So for
example an upstream named `service.v1.xyz` for a Service object whose
`host` is `service.v1.xyz`. Requests for this Service would be proxied
to the targets defined within the upstream. An upstream also includes a
[health checker][healthchecks], which is able to enable and disable
targets based on their ability or inability to serve requests. The
configuration for the health checker is stored in the upstream object,
and applies to all of its targets.
type: object
properties:
algorithm:
description: Which load balancing algorithm to use.
type: string
enum:
- consistent-hashing
- least-connections
- round-robin
- latency
nullable: true
client_certificate:
description: >-
If set, the certificate to be used as client certificate while TLS
handshaking to the upstream server.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
hash_fallback:
description: >-
What to use as hashing input if the primary `hash_on` does not
return a hash (eg. header is missing, or no Consumer identified).
Not available if `hash_on` is set to `cookie`.
type: string
enum:
- none
- consumer
- ip
- header
- cookie
- path
- query_arg
- uri_capture
nullable: true
hash_fallback_header:
description: >-
The header name to take the value from as hash input. Only required
when `hash_fallback` is set to `header`.
type: string
nullable: true
hash_fallback_query_arg:
description: >-
The name of the query string argument to take the value from as hash
input. Only required when `hash_fallback` is set to `query_arg`.
type: string
nullable: true
hash_fallback_uri_capture:
description: >-
The name of the route URI capture to take the value from as hash
input. Only required when `hash_fallback` is set to `uri_capture`.
type: string
nullable: true
hash_on:
description: >-
What to use as hashing input. Using `none` results in a
weighted-round-robin scheme with no hashing.
type: string
enum:
- none
- consumer
- ip
- header
- cookie
- path
- query_arg
- uri_capture
nullable: true
hash_on_cookie:
description: >-
The cookie name to take the value from as hash input. Only required
when `hash_on` or `hash_fallback` is set to `cookie`. If the
specified cookie is not in the request, Kong will generate a value
and set the cookie in the response.
type: string
nullable: true
hash_on_cookie_path:
description: >-
The cookie path to set in the response headers. Only required when
`hash_on` or `hash_fallback` is set to `cookie`.
type: string
nullable: true
hash_on_header:
description: >-
The header name to take the value from as hash input. Only required
when `hash_on` is set to `header`.
type: string
nullable: true
hash_on_query_arg:
description: >-
The name of the query string argument to take the value from as hash
input. Only required when `hash_on` is set to `query_arg`.
type: string
nullable: true
hash_on_uri_capture:
description: >-
The name of the route URI capture to take the value from as hash
input. Only required when `hash_on` is set to `uri_capture`.
type: string
nullable: true
healthchecks:
type: object
nullable: true
properties:
active:
type: object
properties:
concurrency:
type: integer
headers:
type: object
additionalProperties:
type: string
healthy:
type: object
properties:
http_statuses:
type: array
items:
type: integer
interval:
type: number
successes:
type: integer
http_path:
type: string
https_sni:
type: string
https_verify_certificate:
type: boolean
timeout:
type: number
type:
type: string
enum:
- tcp
- http
- https
- grpc
- grpcs
unhealthy:
type: object
properties:
http_failures:
type: integer
http_statuses:
type: array
items:
type: integer
interval:
type: number
tcp_failures:
type: integer
timeouts:
type: integer
passive:
type: object
properties:
healthy:
type: object
properties:
http_statuses:
type: array
items:
type: integer
successes:
type: integer
type:
type: string
enum:
- tcp
- http
- https
- grpc
- grpcs
unhealthy:
type: object
properties:
http_failures:
type: integer
http_statuses:
type: array
items:
type: integer
tcp_failures:
type: integer
timeouts:
type: integer
threshold:
type: number
host_header:
description: >-
The hostname to be used as `Host` header when proxying requests
through Kong.
type: string
nullable: true
id:
type: string
nullable: true
name:
description: This is a hostname, which must be equal to the `host` of a Service.
type: string
slots:
description: >-
The number of slots in the load balancer algorithm. If `algorithm`
is set to `round-robin`, this setting determines the maximum number
of slots. If `algorithm` is set to `consistent-hashing`, this
setting determines the actual number of slots in the algorithm.
Accepts an integer in the range `10`-`65536`.
type: integer
nullable: true
tags:
description: >-
An optional set of strings associated with the Upstream for grouping
and filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
use_srv_name:
description: >-
If set, the balancer will use SRV hostname(if DNS Answer has SRV
record) as the proxy upstream `Host`.
type: boolean
nullable: true
example:
algorithm: round-robin
hash_fallback: none
hash_on: none
hash_on_cookie_path: /
healthchecks:
active:
concurrency: 10
healthy:
http_statuses:
- 200
- 302
interval: 0
successes: 0
http_path: /
https_verify_certificate: true
timeout: 1
type: http
unhealthy:
http_failures: 0
http_statuses:
- 429
- 404
- 500
- 501
- 502
- 503
- 504
- 505
interval: 0
tcp_failures: 0
timeouts: 0
passive:
healthy:
http_statuses:
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 226
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
successes: 0
type: http
unhealthy:
http_failures: 0
http_statuses:
- 429
- 500
- 503
tcp_failures: 0
timeouts: 0
threshold: 0
id: 6eed5e9c-5398-4026-9a4c-d48f18a2431e
name: api.example.internal
slots: 10000
additionalProperties: false
required:
- name
Vault:
description: >-
Vault entities are used to configure different Vault connectors.
Examples of Vaults are Environment Variables, Hashicorp Vault and AWS
Secrets Manager. Configuring a Vault allows referencing the secrets with
other entities. For example a certificate entity can store a reference
to a certificate and key, stored in a vault, instead of storing the
certificate and key within the entity. This allows a proper separation
of secrets and configuration and prevents secret sprawl.
type: object
properties:
config:
description: >-
The configuration properties for the Vault which can be found on the
vaults' documentation page.
type: object
additionalProperties: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
description:
description: The description of the Vault entity.
type: string
nullable: true
id:
type: string
nullable: true
name:
description: >-
The name of the Vault that's going to be added. Currently, the Vault
implementation must be installed in every Kong instance.
type: string
prefix:
description: >-
The unique prefix (or identifier) for this Vault configuration. The
prefix is used to load the right Vault configuration and
implementation when referencing secrets with the other entities.
type: string
tags:
description: >-
An optional set of strings associated with the Vault for grouping
and filtering.
type: array
items:
type: string
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
config:
prefix: ENV_PREFIX
description: environment variable based vault
id: 2747d1e5-8246-4f65-a939-b392f1ee17f8
name: env
prefix: env
tags:
- foo
- bar
additionalProperties: false
required:
- name
- prefix
- config
CursorMeta:
type: object
description: Pagination metadata.
required:
- page
properties:
page:
$ref: '#/components/schemas/CursorMetaPage'
UnsupportedMediaTypeError:
allOf:
- $ref: '#/components/schemas/BaseError'
- type: object
properties:
status:
example: 415
title:
example: UnsupportedMediaType
type:
example: https://httpstatuses.com/415
instance:
example: kong:trace:1234567890
detail:
example: UnsupportedMediaType
securitySchemes:
personalAccessToken:
type: http
scheme: bearer
bearerFormat: Token
description: >-
The personal access token is meant to be used as an alternative to
basic-auth when accessing Konnect via APIs. You can generate a Personal
Access Token (PAT) from the personal access token page in the Konnect
dashboard.
systemAccountAccessToken:
type: http
scheme: bearer
bearerFormat: Token
description: >
The system account access token is meant for automations and
integrations that are not directly associated with a human identity.
You can generate a system account Access Token by creating a system
account and then obtaining a system account access token for that
account.
The access token must be passed in the header of a request, for example:
`curl -X GET 'https://global.api.konghq.com/v2/users/' --header
'Authorization: Bearer spat_i2Ej...'`
konnectAccessToken:
type: http
scheme: bearer
bearerFormat: JWT
description: >-
The Konnect access token is meant to be used by the Konnect dashboard
and the decK CLI to authenticate with.
serviceAccessToken:
type: http
scheme: bearer
bearerFormat: JWT
description: |
The Service access token is meant to be used between internal services.
requestBodies:
GroupMembershipAdd:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupMembership'
description: >-
Request body for adding a list of child control planes to a control
plane group membership.
GroupMembershipRemove:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupMembership'
description: >-
Request body for removing a list of child control planes from a control
plane group membership.
GroupMembershipUpsert:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupMembership'
description: >-
Request body for upserting a list of child control planes to a control
plane group membership.
UpdateImpersonationSettingsRequest:
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
example: true
description: >-
Indicates if user impersonation is allowed for the
organization.
description: The request schema for adding a system account to a team.
UpdateUser:
description: The request schema for the update user request.
content:
application/json:
schema:
type: object
properties:
full_name:
type: string
pattern: ^[\w \W]+$
example: James C. Woods
description: The user's full name.
writeOnly: true
preferred_name:
type: string
maxLength: 250
example: Jimmy
description: The user's desired name.
writeOnly: true
CreateTeam:
description: >-
The request schema for the create team request.
If you pass the same `name` and `description` of an existing team in the
request, a team with the same `name` and `description` will be created.
The two teams will have different `team_id` values to differentiate
them.
content:
application/json:
schema:
x-speakeasy-entity: Team
type: object
properties:
name:
type: string
example: IDM - Developers
pattern: ^[\w \W]+$
description: A name for the team being created.
writeOnly: true
description:
type: string
maxLength: 250
example: The Identity Management (IDM) team.
description: The description of the new team.
writeOnly: true
labels:
$ref: '#/components/schemas/Labels'
required:
- name
UpdateTeam:
description: The request schema for the update team request.
content:
application/json:
schema:
x-speakeasy-entity: Team
type: object
properties:
name:
type: string
example: IDM - Developers
pattern: ^[\w \W]+$
description: The name of the team.
writeOnly: true
description:
type: string
maxLength: 250
example: The Identity Management (IDM) API team.
description: The description of the team.
writeOnly: true
labels:
$ref: '#/components/schemas/LabelsUpdate'
AddUserToTeam:
description: The request schema for adding a user to a team.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: df120cb4-f60b-47bc-a2f8-6a28e6a3c63b
format: uuid
description: The user ID for the user being added to a team.
writeOnly: true
x-speakeasy-name-override: user_id
required:
- id
UpdateTeamMappings:
content:
application/json:
schema:
type: object
example:
mappings:
- group: Service Developers
team_ids:
- af91db4c-6e51-403e-a2bf-33d27ae50c0a
properties:
mappings:
type: array
description: The mappings object.
items:
type: object
properties:
group:
type: string
team_ids:
type: array
items:
type: string
description: The request schema for updating IdP team mappings.
PatchTeamGroupMappings:
content:
application/json:
schema:
type: object
example:
data:
- group: Service Developers
team_ids:
- af91db4c-6e51-403e-a2bf-33d27ae50c0a
properties:
data:
type: array
description: The IdP groups to map to the given team.
items:
type: object
properties:
team_id:
type: string
format: uuid
groups:
type: array
items:
type: string
description: >-
The request schema for a partial update of mappings from Konnect Teams
to IdP Groups.
AssignRole:
content:
application/json:
schema:
type: object
description: >-
An assigned role is a role that has been assigned to a user or
team.
properties:
role_name:
type: string
example: Viewer
description: The desired role.
enum:
- Admin
- Appearance Maintainer
- Application Registration
- Certificate Admin
- Cloud Gateway Cluster Admin
- Cloud Gateway Cluster Viewer
- Consumer Admin
- Connector
- Creator
- Deployer
- Discovery Admin
- Discovery Viewer
- Gateway Service Admin
- Integration Admin
- Integration Viewer
- Key Admin
- Maintainer
- Network Admin
- Network Creator
- Network Viewer
- Plugin Admin
- Plugins Admin
- Product Publisher
- Publisher
- Route Admin
- SNI Admin
- Service Admin
- Service Creator
- Service Viewer
- Upstream Admin
- Vault Admin
- Viewer
entity_id:
type: string
format: uuid
example: e67490ce-44dc-4cbd-b65e-b52c746fc26a
description: The ID of the entity.
entity_type_name:
type: string
example: Control Planes
description: The type of entity.
enum:
- APIs
- API Products
- Application Auth Strategies
- Audit Logs
- Control Planes
- DCR Providers
- Identity
- Mesh Control Planes
- Networks
- Portals
- Service Hub
entity_region:
type: string
enum:
- us
- eu
- au
- me
- in
- '*'
example: eu
description: Region of the team.
description: The request schema for assigning a role.
InviteUser:
content:
application/json:
schema:
type: object
properties:
email:
type: string
format: email
example: james.c.woods@example.com
writeOnly: true
required:
- email
description: >-
The request schema for the invite user request.
If you pass an `email` that is not already an active user in the
request, a fresh invitation email will be created and sent to the new
user.
CreateSystemAccount:
content:
application/json:
schema:
x-speakeasy-entity: SystemAccount
type: object
required:
- name
- description
properties:
name:
type: string
description: Name of the system account.
description:
type: string
description: >-
Description of the system account. Useful when the system
account name is not sufficient to differentiate one system
account from another.
konnect_managed:
type: boolean
description: The system account is managed by Konnect (true/false).
description: The request schema to create a system account.
UpdateSystemAccount:
content:
application/json:
schema:
x-speakeasy-entity: SystemAccount
type: object
properties:
name:
type: string
description: Name of the system account.
description:
type: string
description: Description of the system account.
description: The request schema for the update system account request.
UpdateSystemAccountAccessToken:
content:
application/json:
schema:
x-speakeasy-entity: SystemAccountAccessToken
type: object
properties:
name:
type: string
description: Name of the system account access token.
CreateSystemAccountAccessToken:
content:
application/json:
schema:
x-speakeasy-entity: SystemAccountAccessToken
type: object
properties:
name:
type: string
expires_at:
type: string
format: date-time
description: The request body to create a system account access token.
AddSystemAccountToTeam:
content:
application/json:
schema:
x-speakeasy-entity: SystemAccountTeam
type: object
properties:
id:
x-speakeasy-name-override: account_id
type: string
description: ID of the system account.
format: uuid
x-speakeasy-param-computed: false
nullable: true
default: null
description: The request schema for adding a system account to a team.
UpdateAuthenticationSettings:
description: The request schema to update an organization's authentication settings.
content:
application/json:
schema:
type: object
properties:
basic_auth_enabled:
type: boolean
example: true
description: The organization has basic auth enabled.
oidc_auth_enabled:
type: boolean
example: false
description: The organization has OIDC disabled.
saml_auth_enabled:
type: boolean
example: false
description: The organization has SAML disabled.
idp_mapping_enabled:
type: boolean
example: true
description: Whether IdP groups determine the Konnect teams a user has.
konnect_mapping_enabled:
type: boolean
example: false
description: Whether a Konnect Identity Admin assigns teams to a user.
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
claim_mappings:
type: object
minProperties: 3
properties:
name:
type: string
example: name
email:
type: string
example: email
groups:
type: string
example: custom-group-claim
description: The request schema for the update IdP configuration request.
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'
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'
NotificationUpdateRequest:
description: Request body schema for updating notification status.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationUpdatePayload'
EventSubscriptionRequest:
description: Request body schema for creating/updating event subscription.
content:
application/json:
schema:
$ref: '#/components/schemas/EventSubscription'
BulkRequest:
description: Request body schema for bulk status update.
content:
application/json:
schema:
$ref: '#/components/schemas/BulkPayload'
CreateDcrProvider:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDcrProviderRequest'
UpdateDcrProvider:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDcrProviderRequest'
CreateAppAuthStrategy:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAppAuthStrategyRequest'
UpdateAppAuthStrategy:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAppAuthStrategyRequest'
DataPlaneClientCertificateRequest:
content:
application/json:
schema:
type: object
properties:
cert:
type: string
description: JSON escaped string of the certificate.
required:
- cert
description: Request body for creating a dp-client-certificate.
create-plugin-schemas:
content:
application/json:
schema:
x-speakeasy-entity: GatewayCustomPluginSchema
type: object
properties:
lua_schema:
type: string
description: |
The custom plugin schema; `jq -Rs '.' schema.lua`.
example: >-
return { name = \"myplugin\", fields = { { config = { type =
\"record\", fields = { } } } } }
required:
- lua_schema
CreateConfigStoreRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConfigStore'
CreateConfigStoreSecretRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConfigStoreSecret'
UpdateConfigStoreRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConfigStore'
UpdateConfigStoreSecretRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConfigStoreSecret'
externalDocs:
description: Documentation for Kong Gateway and its APIs
url: https://developer.konghq.com