openapi: 3.1.0
info:
title: Konnect API - Go SDK
version: 3.0.26
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: Private DNS
- 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.
- name: API
- name: API Documentation
- name: API Specification
- name: API Publication
- name: API Implementation
- name: API Attributes
- name: Portals
description: APIs related to configuration of Konnect Developer Portals.
- name: Portal Custom Domains
description: APIs related to configuration of Konnect Developer Portals custom domains.
- name: Portal Customization
description: APIs related to customization of Konnect Developer Portals.
- name: Portal Auth Settings
description: APIs related to configuration of Konnect Developer Portal auth settings.
- name: Portal Developers
description: APIs related to Konnect Developer Portal developers.
- name: Portal Teams
description: APIs related to configuration of Konnect Developer Portal developer teams.
- name: Portal Team Membership
description: APIs related to Konnect Developer Portal developer team membership.
- name: Portal Team Roles
description: APIs related to Konnect Developer Portal developer team roles.
- name: Assets
description: APIs for managing static assets for Konnect Developer Portals.
- name: Pages
description: APIs related to Konnect Developer Portal Custom Pages.
- name: Snippets
description: APIs related to Konnect Developer Portal Custom Snippets.
- name: Applications
description: APIs related to Konnect Developer Portal Applications.
- name: Application Registrations
description: APIs related to Konnect Developer Portal Application Registrations.
- name: Portal Emails
description: APIs related to Konnect Developer Portal Emails.
- 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: ACLs
- name: API-keys
- name: Basic-auth credentials
- 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: >
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: >-
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: >
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
- name: CustomPlugins
- name: Degraphql_routes
- name: HMAC-auth credentials
- name: JWTs
- 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
- 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
- name: MTLS-auth credentials
- name: Partial Links
- description: >-
Some entities in Kong Gateway share common configuration settings that
often need to be repeated. For example, multiple plugins that connect to
Redis may require the same connection settings. Without Partials, you
would need to replicate this configuration across all plugins. If the
settings change, you would need to update each plugin individually.
name: Partials
- 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://developer.konghq.com/plugins/).
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.
name: Plugins
- 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://developer.konghq.com/gateway/routing/expressions/)
name: Routes
- 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: >
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 [Route
documentation](https://developer.konghq.com/gateway/entities/route/) for a
detailed explanation of how Kong proxies traffic.
Services can be both [tagged and filtered by
tags](https://developer.konghq.com/admin-api/).
name: Services
- description: >
A target is an IP address or 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`, or use the `DELETE`
method to accomplish the same.
name: Targets
- 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://developer.konghq.com/gateway/traffic-control/health-checks-circuit-breakers/),
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://developer.konghq.com/gateway/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://developer.konghq.com/gateway/entities/vault/).
name: Vaults
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:
terraform-resource: ApplicationAuthStrategy#create
terraform-datasource: null
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:
terraform-resource: ApplicationAuthStrategy#read
terraform-datasource: null
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:
terraform-resource: ApplicationAuthStrategy#update
terraform-datasource: null
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:
terraform-resource: ApplicationAuthStrategy#delete
terraform-datasource: null
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:
terraform-resource: CloudGatewayConfiguration#create,update
terraform-datasource: null
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:
terraform-resource: CloudGatewayConfiguration#get
terraform-datasource: null
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:
terraform-resource: CloudGatewayCustomDomain#create
terraform-datasource: null
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:
terraform-resource: CloudGatewayCustomDomain#read
terraform-datasource: null
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:
terraform-resource: CloudGatewayCustomDomain#delete
terraform-datasource: null
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:
terraform-resource: CloudGatewayNetwork#create
terraform-datasource: null
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:
terraform-resource: CloudGatewayNetwork#read
terraform-datasource: null
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:
terraform-resource: CloudGatewayNetwork#update
terraform-datasource: null
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:
terraform-resource: CloudGatewayNetwork#delete
terraform-datasource: null
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
summary: List Network Configuration References
description: >
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}/private-dns:
get:
x-speakeasy-group: CloudGateways
summary: List Private DNS
description: Returns a paginated collection of Private DNS for a given network.
operationId: list-private-dns
parameters:
- $ref: '#/components/parameters/NetworkId'
- $ref: '#/components/parameters/PrivateDnsFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/ListPrivateDnsResponse'
'400':
$ref: '#/components/responses/CloudGatewaysBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Private DNS
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation:
terraform-resource: CloudGatewayPrivateDns#create
terraform-datasource: null
x-speakeasy-retries:
strategy: backoff
backoff:
initialInterval: 30000
maxInterval: 60000
maxElapsedTime: 3600000
exponent: 1.5
statusCodes:
- 400
retryConnectionErrors: false
summary: Create Private DNS
description: Creates a new Private DNS for a given network.
operationId: create-private-dns
parameters:
- $ref: '#/components/parameters/NetworkId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePrivateDnsRequest'
responses:
'201':
$ref: '#/components/responses/CreatePrivateDnsResponse'
'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:
- Private DNS
servers:
- url: https://global.api.konghq.com/
/v2/cloud-gateways/networks/{networkId}/private-dns/{privateDnsId}:
get:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation:
terraform-resource: CloudGatewayPrivateDns#read
terraform-datasource: null
summary: Get Private DNS
description: Retrieves a Private DNS by ID for a given network.
operationId: get-private-dns
parameters:
- $ref: '#/components/parameters/NetworkId'
- $ref: '#/components/parameters/PrivateDnsId'
responses:
'200':
$ref: '#/components/responses/RetrievePrivateDnsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Private DNS
servers:
- url: https://global.api.konghq.com/
patch:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation:
terraform-resource: CloudGatewayPrivateDns#update
terraform-datasource: null
summary: Update Private DNS
description: Updates a Private DNS by ID for a given network.
operationId: update-private-dns
parameters:
- $ref: '#/components/parameters/NetworkId'
- $ref: '#/components/parameters/PrivateDnsId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchPrivateDnsRequest'
responses:
'200':
$ref: '#/components/responses/PatchPrivateDnsResponse'
'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:
- Private DNS
servers:
- url: https://global.api.konghq.com/
delete:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation:
terraform-resource: CloudGatewayPrivateDns#delete
terraform-datasource: null
x-speakeasy-retries:
strategy: backoff
backoff:
initialInterval: 10000
maxInterval: 60000
maxElapsedTime: 1800000
exponent: 1.5
statusCodes:
- 400
retryConnectionErrors: false
summary: Delete Private DNS
description: Deletes a Private DNS by ID for a given network.
operationId: delete-private-dns
parameters:
- $ref: '#/components/parameters/NetworkId'
- $ref: '#/components/parameters/PrivateDnsId'
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:
- Private DNS
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:
terraform-resource: CloudGatewayTransitGateway#create
terraform-datasource: null
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:
terraform-resource: CloudGatewayTransitGateway#read
terraform-datasource: null
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/
patch:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation:
terraform-resource: CloudGatewayTransitGateway#update
terraform-datasource: null
summary: Update Transit Gateway
description: Updates a transit gateway by ID for a given network.
operationId: update-transit-gateway
parameters:
- $ref: '#/components/parameters/NetworkId'
- $ref: '#/components/parameters/TransitGatewayId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchTransitGatewayRequest'
responses:
'200':
$ref: '#/components/responses/PatchTransitGatewayResponse'
'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/
delete:
x-speakeasy-group: CloudGateways
x-speakeasy-entity-operation:
terraform-resource: CloudGatewayTransitGateway#delete
terraform-datasource: null
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:
terraform-resource: null
terraform-datasource:
- GatewayControlPlane#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
post:
x-speakeasy-entity-operation:
terraform-resource: GatewayControlPlane#create
terraform-datasource: null
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:
terraform-resource: GatewayConfigStore#create
terraform-datasource: null
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:
terraform-resource: GatewayConfigStore#read
terraform-datasource: null
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:
terraform-resource: GatewayConfigStore#update
terraform-datasource: null
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:
terraform-resource: GatewayConfigStore#delete
terraform-datasource: null
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:
x-speakeasy-entity-operation: GatewayConfigStoreSecret#create
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:
x-speakeasy-entity-operation:
terraform-resource: GatewayConfigStoreSecret#read
terraform-datasource: null
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:
x-speakeasy-entity-operation: GatewayConfigStoreSecret#update
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:
x-speakeasy-entity-operation: GatewayConfigStoreSecret#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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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 all consumer groups
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:
- Consumers
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'
x-speakeasy-param-computed: false
nullable: true
default: null
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Consumers
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
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
tags:
- Consumers
/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:
- Consumers
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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
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
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
data:
type: array
items:
$ref: '#/components/schemas/PartialLink'
x-speakeasy-param-computed: false
nullable: true
default: null
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
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:
terraform-resource: GatewayCustomPluginSchema#create
terraform-datasource: null
summary: Upload custom plugin schema
operationId: create-plugin-schemas
responses:
'201':
$ref: '#/components/responses/plugin-schemas'
'400':
$ref: '#/components/responses/KonnectCPLegacyBadRequest'
'401':
$ref: '#/components/responses/KonnectCPLegacyUnauthorized'
'403':
$ref: '#/components/responses/KonnectCPLegacyForbidden'
'409':
$ref: '#/components/responses/KonnectCPLegacyConflict'
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:
terraform-resource: GatewayCustomPluginSchema#read
terraform-datasource: null
summary: Fetch custom plugin schema
responses:
'200':
$ref: '#/components/responses/plugin-schemas'
'401':
$ref: '#/components/responses/KonnectCPLegacyUnauthorized'
'403':
$ref: '#/components/responses/KonnectCPLegacyForbidden'
'404':
$ref: '#/components/responses/KonnectCPLegacyNotFound'
operationId: get-plugin-schema
description: Returns information about a custom plugin from a given name.
tags:
- Custom Plugin Schemas
delete:
x-speakeasy-entity-operation:
terraform-resource: GatewayCustomPluginSchema#delete
terraform-datasource: null
summary: Delete custom plugin schema
operationId: delete-plugin-schemas
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/KonnectCPLegacyUnauthorized'
'403':
$ref: '#/components/responses/KonnectCPLegacyForbidden'
'404':
$ref: '#/components/responses/KonnectCPLegacyNotFound'
description: Delete an individual custom plugin schema.
tags:
- Custom Plugin Schemas
put:
x-speakeasy-entity-operation:
terraform-resource: GatewayCustomPluginSchema#update
terraform-datasource: null
summary: Create or update a custom plugin schema
operationId: update-plugin-schemas
responses:
'200':
$ref: '#/components/responses/plugin-schemas'
'400':
$ref: '#/components/responses/KonnectCPLegacyBadRequest'
'401':
$ref: '#/components/responses/KonnectCPLegacyUnauthorized'
'403':
$ref: '#/components/responses/KonnectCPLegacyForbidden'
'404':
$ref: '#/components/responses/KonnectCPLegacyNotFound'
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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/{entityName}/validate:
parameters:
- name: entityName
in: path
description: The name of the entity
required: true
schema:
type: string
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: validate-entity-schema
summary: Validate entity schema
description: Validate schema for an entity
requestBody:
description: Request body of a Koko entity to validate against its schema
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
$ref: '#/components/responses/ValidateEntityResponse'
tags:
- Schemas
/v2/control-planes/{controlPlaneId}/core-entities/schemas/partials/{partialType}:
get:
operationId: fetch-partial-schema
summary: Fetch partial schema
description: Get the schema for a partial
responses:
'200':
$ref: '#/components/responses/GetPartialSchemaResponse'
tags:
- Schemas
parameters:
- name: partialType
in: path
description: The type of a partial
required: true
schema:
type: string
- $ref: '#/components/parameters/controlPlaneId'
/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':
$ref: '#/components/responses/GetPluginSchemaResponse'
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
'401':
$ref: '#/components/responses/KonnectCPLegacyUnauthorized'
'403':
$ref: '#/components/responses/KonnectCPLegacyForbidden'
'404':
$ref: '#/components/responses/KonnectCPLegacyNotFound'
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:
terraform-resource: GatewayDataPlaneClientCertificate#create
terraform-datasource: null
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'
'400':
$ref: '#/components/responses/KonnectCPLegacyBadRequest'
'401':
$ref: '#/components/responses/KonnectCPLegacyUnauthorized'
'403':
$ref: '#/components/responses/KonnectCPLegacyForbidden'
'404':
$ref: '#/components/responses/KonnectCPLegacyNotFound'
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:
terraform-resource: GatewayDataPlaneClientCertificate#read
terraform-datasource: null
summary: Fetch DP Client Certificate
tags:
- DP Certificates
responses:
'200':
$ref: '#/components/responses/DataPlaneClientCertificateResponse'
'401':
$ref: '#/components/responses/KonnectCPLegacyUnauthorized'
'403':
$ref: '#/components/responses/KonnectCPLegacyForbidden'
'404':
$ref: '#/components/responses/KonnectCPLegacyNotFound'
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:
terraform-resource: GatewayDataPlaneClientCertificate#delete
terraform-datasource: null
summary: Delete DP Client Certificate
operationId: delete-dataplane-certificate
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/KonnectCPLegacyUnauthorized'
'403':
$ref: '#/components/responses/KonnectCPLegacyForbidden'
'404':
$ref: '#/components/responses/KonnectCPLegacyNotFound'
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:
terraform-resource: GatewayControlPlane#read
terraform-datasource: null
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:
terraform-resource: GatewayControlPlane#update
terraform-datasource: null
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:
terraform-resource: GatewayControlPlane#delete
terraform-datasource: null
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:
terraform-resource: GatewayControlPlaneMembership#create
terraform-datasource: null
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:
terraform-resource: GatewayControlPlaneMembership#delete
terraform-datasource: null
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/api-attributes:
get:
summary: List API Attributes
description: List attributes across all apis
operationId: list-api-attributes
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ApiAttributeFilters'
- $ref: '#/components/parameters/ApiAttributeSort'
responses:
'200':
$ref: '#/components/responses/ListApiAttributesResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Attributes
/v3/api-implementations:
get:
summary: List API Implementations
description: List gateway implementations for this API
operationId: list-api-implementations
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ApiImplementationFilters'
- $ref: '#/components/parameters/ApiImplementationSort'
responses:
'200':
$ref: '#/components/responses/ListApiImplementationsResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Implementation
/v3/api-publications:
get:
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ApiPublicationFilters'
- $ref: '#/components/parameters/ApiPublicationSort'
summary: List Publications
description: Returns a collection of all API Publications.
operationId: list-api-publications
responses:
'200':
$ref: '#/components/responses/ListApiPublicationResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Publication
/v3/apis:
post:
x-speakeasy-entity-operation:
terraform-resource: Api#create
terraform-datasource: null
summary: Create API
description: Creates an API.
operationId: create-api
responses:
'201':
$ref: '#/components/responses/ApiResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
tags:
- API
requestBody:
$ref: '#/components/requestBodies/CreateApiRequest'
get:
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ApiFilters'
- $ref: '#/components/parameters/ApiSort'
summary: List APIs
description: Returns a collection of all APIs.
operationId: list-apis
responses:
'200':
$ref: '#/components/responses/ListApiResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API
/v3/apis/_computed:
get:
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ApiFilters'
- $ref: '#/components/parameters/ApiSort'
summary: List APIs computed
description: Returns a collection of all APIs with computed fields.
operationId: list-apis-computed
responses:
'200':
$ref: '#/components/responses/ListApiComputedResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API
/v3/apis/{apiId}:
parameters:
- schema:
type: string
format: uuid
example: 9f5061ce-78f6-4452-9108-ad7c02821fd5
name: apiId
in: path
required: true
description: The UUID API identifier
x-speakeasy-match: id
get:
x-speakeasy-entity-operation:
terraform-resource: Api#read
terraform-datasource: null
summary: Fetch API
description: Fetches an API.
operationId: fetch-api
responses:
'200':
$ref: '#/components/responses/ApiResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API
patch:
x-speakeasy-entity-operation:
terraform-resource: Api#update
terraform-datasource: null
summary: Update API
description: Updates an API.
operationId: update-api
responses:
'200':
$ref: '#/components/responses/ApiResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'409':
$ref: '#/components/responses/ApiVersionPatchConflict'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
tags:
- API
requestBody:
$ref: '#/components/requestBodies/UpdateApiRequest'
delete:
x-speakeasy-entity-operation:
terraform-resource: Api#delete
terraform-datasource: null
summary: Delete API
description: Deletes an API.
operationId: delete-api
responses:
'204':
description: API was deleted successfully.
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API
/v3/apis/{apiId}/documents:
parameters:
- $ref: '#/components/parameters/ApiId'
post:
x-speakeasy-entity-operation:
terraform-resource: ApiDocument#create
terraform-datasource: null
summary: Create API Document
description: >
Publish a new document attached to an API.
All configuration options may be provided in the frontmatter section of
`content`. If you set values in both the `POST` request _and_ in the
frontmatter, the values in the `POST` request will take precedence.
operationId: create-api-document
responses:
'201':
$ref: '#/components/responses/ApiDocumentResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'409':
$ref: '#/components/responses/ApiSlugConflict'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
requestBody:
$ref: '#/components/requestBodies/CreateApiDocumentRequest'
tags:
- API Documentation
get:
parameters:
- $ref: '#/components/parameters/ApiDocumentFilters'
summary: List API Documents
description: Returns a collection of all documents for an API.
operationId: list-api-documents
responses:
'200':
$ref: '#/components/responses/ListApiDocumentResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Documentation
/v3/apis/{apiId}/documents/{documentId}:
parameters:
- $ref: '#/components/parameters/ApiId'
- $ref: '#/components/parameters/DocumentId'
get:
x-speakeasy-entity-operation:
terraform-resource: ApiDocument#read
terraform-datasource: null
summary: Fetch API Document
description: Returns a document for the API.
operationId: fetch-api-document
responses:
'200':
$ref: '#/components/responses/ApiDocumentResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Documentation
patch:
x-speakeasy-entity-operation:
terraform-resource: ApiDocument#update
terraform-datasource: null
summary: Update API Document
description: Updates a document for an API.
operationId: update-api-document
responses:
'200':
$ref: '#/components/responses/ApiDocumentResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'409':
$ref: '#/components/responses/ApiSlugConflict'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
tags:
- API Documentation
requestBody:
$ref: '#/components/requestBodies/UpdateApiDocumentRequest'
delete:
x-speakeasy-entity-operation:
terraform-resource: ApiDocument#delete
terraform-datasource: null
summary: Delete API Documentation
description: Removes a document from an API.
operationId: delete-api-document
responses:
'204':
description: Document for the API was deleted successfully.
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Documentation
/v3/apis/{apiId}/documents/{documentId}/move:
parameters:
- $ref: '#/components/parameters/ApiId'
- $ref: '#/components/parameters/DocumentId'
post:
summary: Move API Documentation
description: >-
This api allows the user to move a document within the document tree
using the parameters parent_document_id and index. If parent_document_id
is not provided, the document will be placed at the top level of the
document tree. index represents a zero-indexed document order relative
to its siblings under the same parent. For example, if we want to put
the document at top level in first position we would send
parent_document_id: null and index: 0. This api also supports using a
negative index to count backwards from the end of the document list,
which means you can put the document in last position by using index:
-1.
operationId: move-api-document
requestBody:
$ref: '#/components/requestBodies/MoveDocumentRequest'
responses:
'204':
description: Document for the API was moved successfully.
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'409':
$ref: '#/components/responses/Conflict'
tags:
- API Documentation
/v3/apis/{apiId}/implementations:
parameters:
- $ref: '#/components/parameters/ApiId'
post:
x-speakeasy-entity-operation:
terraform-resource: ApiImplementation#create
terraform-datasource: null
summary: Create API Implementation
description: |
Creates an implementation for an API.
An API can be implemented by a single Gateway Service.
operationId: create-api-implementation
responses:
'201':
$ref: '#/components/responses/ApiImplementationResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'409':
$ref: '#/components/responses/ApiImplementationConflict'
tags:
- API Implementation
requestBody:
$ref: '#/components/requestBodies/CreateApiImplementationRequest'
/v3/apis/{apiId}/implementations/{implementationId}:
parameters:
- $ref: '#/components/parameters/ApiId'
- $ref: '#/components/parameters/ImplementationId'
get:
x-speakeasy-entity-operation:
terraform-resource: ApiImplementation#read
terraform-datasource: null
summary: Fetch API Implementation
description: Retrieve a gateway implementation for this API
operationId: fetch-api-implementation
responses:
'200':
$ref: '#/components/responses/ApiImplementationResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Implementation
delete:
x-speakeasy-entity-operation:
terraform-resource: ApiImplementation#delete
terraform-datasource: null
summary: Delete API Implementation
description: Unlink a gateway implementation from this API
operationId: delete-api-implementation
responses:
'204':
description: API implementation was unlinked successfully.
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Implementation
/v3/apis/{apiId}/publications/{portalId}:
parameters:
- $ref: '#/components/parameters/ApiId'
- $ref: '#/components/parameters/PortalId'
put:
x-speakeasy-entity-operation:
terraform-resource: ApiPublication#create,update
terraform-datasource: null
summary: Publish API
description: |
Publish an API to a portal.
operationId: publish-api-to-portal
responses:
'200':
$ref: '#/components/responses/ApiPublicationResponse'
'400':
$ref: '#/components/responses/ApiPublicationBadRequest'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Publication
requestBody:
$ref: '#/components/requestBodies/PutApiPublicationRequest'
get:
x-speakeasy-entity-operation:
terraform-resource: ApiPublication#read
terraform-datasource: null
summary: Fetch Publication
description: |
Retrieve an API's publication in a portal.
If the API is not published to the portal, a 404 response is returned.
operationId: fetch-publication
responses:
'200':
$ref: '#/components/responses/ApiPublicationResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Publication
delete:
x-speakeasy-entity-operation:
terraform-resource: ApiPublication#delete
terraform-datasource: null
summary: Delete Publication
description: Unpublish an API from a portal.
operationId: delete-publication
responses:
'204':
description: API was successfully unpublished from portal.
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Publication
/v3/apis/{apiId}/specifications:
parameters:
- $ref: '#/components/parameters/ApiId'
post:
x-speakeasy-entity-operation:
terraform-resource: ApiSpecification#create
terraform-datasource: null
deprecated: true
summary: Create API Specification
description: >
Creates a specification (OpenAPI or AsyncAPI) for an API.
**Note:** You can only have one specification for an API. This endpoint
is deprecated and will be removed: use /versions instead.
operationId: create-api-spec
responses:
'201':
$ref: '#/components/responses/ApiSpecResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'409':
$ref: '#/components/responses/ApiSpecConflict'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
tags:
- API Specification
requestBody:
$ref: '#/components/requestBodies/CreateApiSpecRequest'
get:
deprecated: true
summary: List API Specifications
description: >
Returns a list of specifications for an API. The specification can be of
type OpenAPI or AsyncAPI.
**Note:** You can only have one specification for an API. This endpoint
is deprecated and will be removed: use /versions instead.
operationId: list-api-specs
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ApiSpecFilters'
responses:
'200':
$ref: '#/components/responses/ListApiSpecResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Specification
/v3/apis/{apiId}/specifications/{specId}:
parameters:
- $ref: '#/components/parameters/ApiId'
- $ref: '#/components/parameters/SpecId'
get:
x-speakeasy-entity-operation:
terraform-resource: ApiSpecification#read
terraform-datasource: null
deprecated: true
summary: Fetch API Specification
description: >
Fetches the specification (OpenAPI or AsyncAPI) of an API.
**Note:** This endpoint is deprecated and will be removed: use /versions
instead.
operationId: fetch-api-spec
responses:
'200':
$ref: '#/components/responses/ApiSpecResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Specification
patch:
x-speakeasy-entity-operation:
terraform-resource: ApiSpecification#update
terraform-datasource: null
deprecated: true
summary: Update API Specification
description: >
Updates the specification (OpenAPI or AsyncAPI) of an API.
**Note:** This endpoint is deprecated and will be removed: use /versions
instead.
operationId: update-api-spec
responses:
'200':
$ref: '#/components/responses/ApiSpecResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'409':
$ref: '#/components/responses/ApiSpecHiddenConflict'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
tags:
- API Specification
requestBody:
$ref: '#/components/requestBodies/UpdateApiSpecRequest'
delete:
x-speakeasy-entity-operation:
terraform-resource: ApiSpecification#delete
terraform-datasource: null
deprecated: true
summary: Delete API Specification
description: >
Deletes the specification (OpenAPI or AsyncAPI) of an API.
**Note:** This endpoint is deprecated and will be removed: use /versions
instead.
operationId: delete-api-spec
responses:
'204':
description: API Specification was deleted successfully.
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Specification
/v3/apis/{apiId}/versions:
parameters:
- $ref: '#/components/parameters/ApiId'
post:
x-speakeasy-entity-operation:
terraform-resource: ApiVersion#create
terraform-datasource: null
summary: Create API Version
description: |
Creates a version (OpenAPI or AsyncAPI) for an API.
operationId: create-api-version
responses:
'201':
$ref: '#/components/responses/ApiVersionResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'409':
$ref: '#/components/responses/ApiSpecConflict'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
tags:
- API Version
requestBody:
$ref: '#/components/requestBodies/CreateApiVersionRequest'
get:
summary: List API Versions
description: >
Returns a list of versions for an API. The version can be of type
OpenAPI or AsyncAPI.
**Note:** You can only have one version for an API.
operationId: list-api-versions
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ApiVersionFilters'
responses:
'200':
$ref: '#/components/responses/ListApiVersionResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Version
/v3/apis/{apiId}/versions/{versionId}:
parameters:
- $ref: '#/components/parameters/ApiId'
- $ref: '#/components/parameters/VersionId'
get:
x-speakeasy-entity-operation:
terraform-resource: ApiVersion#read
terraform-datasource: null
summary: Fetch API Version
description: Fetches the version (OpenAPI or AsyncAPI) of an API.
operationId: fetch-api-version
responses:
'200':
$ref: '#/components/responses/ApiVersionResponse'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Version
patch:
x-speakeasy-entity-operation:
terraform-resource: ApiVersion#update
terraform-datasource: null
summary: Update API Version
description: Updates the version (OpenAPI or AsyncAPI) of an API.
operationId: update-api-version
responses:
'200':
$ref: '#/components/responses/ApiVersionResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
'409':
$ref: '#/components/responses/ApiVersionPatchConflict'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
tags:
- API Version
requestBody:
$ref: '#/components/requestBodies/UpdateApiVersionRequest'
delete:
x-speakeasy-entity-operation:
terraform-resource: ApiVersion#delete
terraform-datasource: null
summary: Delete API Version
description: Deletes the version (OpenAPI or AsyncAPI) of an API.
operationId: delete-api-version
responses:
'204':
description: API Version was deleted successfully.
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'404':
$ref: '#/components/responses/ApiNotFound'
tags:
- API Version
/v3/apis/validate-specification:
post:
summary: Validate API Specification
description: >-
Validates the content and type (OpenAPI or AsyncAPI) of a potential API
specification without associating it with a specific API.
operationId: validate-specification
requestBody:
$ref: '#/components/requestBodies/ValidateApiSpecRequest'
responses:
'201':
$ref: '#/components/responses/ValidateApiSpecSuccessResponse'
'400':
description: >-
Bad Request - Either the request format is invalid or the
specification content failed validation.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ApiUnauthorized'
'403':
$ref: '#/components/responses/ApiForbidden'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
tags:
- API Specification
/v3/applications/{applicationId}:
parameters:
- $ref: '#/components/parameters/ApplicationId'
get:
summary: Fetch Application
description: >-
Returns the configuration of a single application in any portal. If an
application is linked to a DCR Provider, the `dcr_provider.id` and
`client_id` can be used to correlate it. An application manages a set of
credentials and registrations for specific APIs.
operationId: get-application-unscoped
tags:
- Applications
responses:
'200':
$ref: '#/components/responses/GetApplication'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/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/
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'
'409':
$ref: '#/components/responses/Conflict'
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'
'409':
$ref: '#/components/responses/Conflict'
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/portal-roles:
get:
summary: List Portal Roles
operationId: list-portal-roles
description: >-
List roles that can be assigned to teams in a portal. Each role provides
a set of permissions to perform an action on a resource.
responses:
'200':
$ref: '#/components/responses/ListRoles'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Portal Team Roles
/v3/portals:
get:
x-speakeasy-entity-operation:
terraform-resource: null
terraform-datasource:
- Portal#read
summary: List Portals
description: >-
Lists developer portals defined in this region for this organization.
Each developer portal is available at a unique address and has isolated
configuration, customization, developers, and applications.
operationId: list-portals
tags:
- Portals
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/SortPortals'
- in: query
name: filter
description: Filter portals returned in the response.
required: false
style: deepObject
schema:
$ref: '#/components/schemas/PortalFilterParameters'
responses:
'200':
$ref: '#/components/responses/ListPortalsResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
x-speakeasy-entity-operation:
terraform-resource: Portal#create
terraform-datasource: null
summary: Create Portal
description: >-
Creates a new developer portal scoped in this region for this
organization.
operationId: create-portal
tags:
- Portals
requestBody:
$ref: '#/components/requestBodies/CreatePortal'
responses:
'201':
$ref: '#/components/responses/PortalResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/portals/{portalId}:
parameters:
- schema:
type: string
format: uuid
name: portalId
in: path
required: true
description: ID of the portal.
x-speakeasy-match: id
get:
x-speakeasy-entity-operation:
terraform-resource: Portal#read
terraform-datasource: null
summary: Fetch Portal
description: >-
Returns the configuration for a single developer portal, including the
current visibility, access, and domain settings.
operationId: get-portal
tags:
- Portals
responses:
'200':
$ref: '#/components/responses/PortalResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
patch:
x-speakeasy-entity-operation:
terraform-resource: Portal#update
terraform-datasource: null
summary: Update Portal
description: >-
Updates the configuration for a single portal including the visibility,
access, and custom domain settings.
operationId: update-portal
requestBody:
$ref: '#/components/requestBodies/UpdatePortal'
tags:
- Portals
responses:
'200':
$ref: '#/components/responses/PortalResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
delete:
x-speakeasy-entity-operation:
terraform-resource: Portal#delete
terraform-datasource: null
summary: Delete Portal
parameters:
- name: force
in: query
description: >-
If true, the portal will be deleted, automatically deleting all API
publications. If the force param is not set, the deletion will only
succeed if there are no APIs currently published.
schema:
type: string
default: 'false'
enum:
- 'true'
- 'false'
description: Deletes a single portal, along with all related entities.
operationId: delete-portal
tags:
- Portals
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/application-registrations:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
summary: List Registrations by Portal
description: >-
Lists all of the application registrations and their current status
(e.g., approved or pending) for this portal. Each registration is
associated with a single API. Access is provided through the credentials
issued to the application that contains each registration.
operationId: list-registrations
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/SortListAllApplicationRegistrations'
- schema:
type: object
properties:
developer_id:
$ref: '#/components/schemas/UuidFieldFilter'
application_name:
$ref: '#/components/schemas/StringFieldFilter'
status:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter application registrations returned in the response.
required: false
style: deepObject
tags:
- Application Registrations
responses:
'200':
$ref: '#/components/responses/ListApplicationRegistrations'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/applications:
get:
summary: List Applications
description: >-
Lists applications in this portal. Each application can be registered
for various APIs, issuing credentials for API access. If using DCR, an
application will be linked to an Identity Provider's application by its
`client_id`.
operationId: list-applications
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/SortApplications'
- schema:
type: object
properties:
developer_id:
$ref: '#/components/schemas/UuidFieldFilter'
name:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter applications returned in the response.
required: false
style: deepObject
tags:
- Applications
responses:
'200':
$ref: '#/components/responses/ListApplications'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/applications/{applicationId}:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/ApplicationId'
get:
summary: Fetch Application by Portal
description: >-
Returns the configuration of a single application in this portal. If an
application is linked to a DCR Provider, the `dcr_provider.id` and
`client_id` can be used to correlate it. An application manages a set of
credentials and registrations for specific APIs.
operationId: get-application
tags:
- Applications
responses:
'200':
$ref: '#/components/responses/GetApplication'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
summary: Delete Application by Portal
description: >-
Delete a single application in this portal, along with its registrations
and credentials.
operationId: delete-application
tags:
- Applications
responses:
'204':
description: The application has been deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/applications/{applicationId}/developers:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/ApplicationId'
get:
summary: List Developers by Application
description: >-
Lists each developer that can access the given application for this
portal.
operationId: list-developers-by-application
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/SortApplicationDevelopers'
- schema:
type: object
properties:
id:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter application developers returned in the response.
required: false
style: deepObject
tags:
- Applications
responses:
'200':
$ref: '#/components/responses/ListApplicationDevelopers'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/applications/{applicationId}/registrations:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/ApplicationId'
get:
summary: List Registrations by Application
description: >-
Lists each API that this application is registered for and their current
status (e.g., pending, approved, rejected, revoked).
operationId: list-registrations-by-application
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/SortApplicationRegistrations'
- schema:
type: object
properties:
status:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter application registrations returned in the response.
required: false
style: deepObject
tags:
- Application Registrations
responses:
'200':
$ref: '#/components/responses/ListApplicationRegistrations'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/applications/{applicationId}/registrations/{registrationId}:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/ApplicationId'
- $ref: '#/components/parameters/RegistrationId'
get:
summary: Fetch Registration
description: >-
Returns information about an application's registration status for a
particular API.
operationId: get-application-registration
tags:
- Application Registrations
responses:
'200':
$ref: '#/components/responses/GetApplicationRegistration'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
patch:
summary: Update Registration
description: >-
Updates the status of a particular application registration to an API.
Approved application registrations will allow API traffic to the
corresponding API. Revoked, rejected, or pending will not allow API
traffic.
operationId: update-application-registration
requestBody:
$ref: '#/components/requestBodies/UpdateApplicationRegistration'
tags:
- Application Registrations
responses:
'200':
$ref: '#/components/responses/UpdateApplicationRegistration'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
summary: Delete Registration
description: >-
Deletes an application registration, which if currently approved will
immediately block API traffic to the API.
Note: Developers can request a new application registration for the
given API as long as they have RBAC access to consume.
operationId: delete-application-registration
tags:
- Application Registrations
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/assets/favicon:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
x-speakeasy-entity-operation:
terraform-resource: PortalFavicon#read
terraform-datasource: null
summary: Get Favicon
description: Returns the favicon of the portal.
operationId: get-portal-asset-favicon
tags:
- Assets
responses:
'200':
$ref: '#/components/responses/PortalAssetResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
put:
x-speakeasy-entity-operation:
terraform-resource: PortalFavicon#create,update
terraform-datasource: null
summary: Replace Favicon
description: >-
Replaces the favicon of the portal. The favicon is used in the browser
tab of the portal.
operationId: replace-portal-asset-favicon
requestBody:
$ref: '#/components/requestBodies/ReplacePortalImageAsset'
tags:
- Assets
responses:
'200':
$ref: '#/components/responses/PortalAssetResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/portals/{portalId}/assets/favicon/raw:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
summary: Get Favicon (Raw)
description: Returns the raw favicon of the portal.
operationId: get-portal-asset-favicon-raw
tags:
- Assets
responses:
'200':
$ref: '#/components/responses/PortalAssetResponseRaw'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/portals/{portalId}/assets/logo:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
x-speakeasy-entity-operation:
terraform-resource: PortalLogo#read
terraform-datasource: null
summary: Get Logo
description: Returns the logo of the portal.
operationId: get-portal-asset-logo
tags:
- Assets
responses:
'200':
$ref: '#/components/responses/PortalAssetResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
put:
x-speakeasy-entity-operation:
terraform-resource: PortalLogo#create,update
terraform-datasource: null
summary: Replace Logo
description: Replaces the logo of the portal.
operationId: replace-portal-asset-logo
requestBody:
$ref: '#/components/requestBodies/ReplacePortalImageAsset'
tags:
- Assets
responses:
'200':
$ref: '#/components/responses/PortalAssetResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/portals/{portalId}/assets/logo/raw:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
summary: Get Logo (Raw)
description: Returns the raw logo of the portal.
operationId: get-portal-asset-logo-raw
tags:
- Assets
responses:
'200':
$ref: '#/components/responses/PortalAssetResponseRaw'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/portals/{portalId}/audit-log-replay-job:
parameters:
- $ref: '#/components/parameters/PortalId'
put:
summary: Update Portal Audit Log Replay Job
description: Updates a job to re-send audit logs to an portal's webhook.
operationId: update-portal-audit-log-replay-job
requestBody:
$ref: '#/components/requestBodies/ReplacePortalAuditLogReplayJob'
tags:
- Portal Audit Logs
responses:
'202':
$ref: '#/components/responses/PortalAuditLogReplayJob'
'400':
$ref: '#/components/responses/PortalReplayJobBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/PortalReplayJobConflict'
get:
summary: Get Portal Audit Log Replay Job
description: Returns the audit log replay job's configuration and status.
operationId: get-portal-audit-log-replay-job
tags:
- Portal Audit Logs
responses:
'200':
$ref: '#/components/responses/PortalAuditLogReplayJob'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/audit-log-webhook:
parameters:
- $ref: '#/components/parameters/PortalId'
patch:
summary: Update Portal Audit Log Webhook
description: Updates the configuration for a webhook to receive audit logs.
operationId: update-portal-audit-log-webhook
requestBody:
$ref: '#/components/requestBodies/UpdatePortalAuditLogWebhook'
tags:
- Portal Audit Logs
responses:
'200':
$ref: '#/components/responses/PortalAuditLogWebhook'
'400':
$ref: '#/components/responses/PortalWebhookBadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
get:
summary: Get Portal Audit Log Webhook
description: Returns configuration for the audit log webhook.
operationId: get-portal-audit-log-webhook
tags:
- Portal Audit Logs
responses:
'200':
$ref: '#/components/responses/PortalAuditLogWebhook'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/audit-log-webhook/status:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
summary: Get Portal Audit Log Webhook Status
description: Returns status of the audit log webhook.
operationId: get-portal-audit-log-webhook-status
tags:
- Portal Audit Logs
responses:
'200':
$ref: '#/components/responses/PortalAuditLogWebhookStatus'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/authentication-settings:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
x-speakeasy-entity-operation:
terraform-resource: PortalAuth#read
terraform-datasource: null
summary: Get Auth Settings
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Returns the developer authentication configuration for a portal, which
determines how developers can log in and how they are assigned to teams.
operationId: get-portal-authentication-settings
tags:
- Portal Auth Settings
responses:
'200':
$ref: '#/components/responses/PortalAuthenticationSettings'
'401':
$ref: '#/components/responses/Unauthorized'
patch:
x-speakeasy-entity-operation:
terraform-resource: PortalAuth#create,update
terraform-datasource: null
summary: Update Auth Settings
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Updates the developer authentication configuration for a portal.
Developers can be allowed to login using basic auth (email & password)
or use Single-Sign-On (SSO) through an OIDC Identity Provider (IdP).
Developers can be automatically assigned to teams by mapping claims from
thier IdP account.
operationId: update-portal-authentication-settings
requestBody:
$ref: '#/components/requestBodies/UpdatePortalAuthenticationSettings'
tags:
- Portal Auth Settings
responses:
'200':
$ref: '#/components/responses/PortalAuthenticationSettings'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v3/portals/{portalId}/custom-domain:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
x-speakeasy-entity-operation:
terraform-resource: PortalCustomDomain#read
terraform-datasource: null
summary: Get Custom Domain
description: Get the custom domain associated to the portal.
operationId: get-portal-custom-domain
tags:
- Portal Custom Domains
responses:
'200':
$ref: '#/components/responses/PortalCustomDomain'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
post:
x-speakeasy-entity-operation:
terraform-resource: PortalCustomDomain#create
terraform-datasource: null
summary: Create Custom Domain
description: >-
Creates the custom domain associated with the portal. Only one custom
domain can be associated with a portal at a time.
operationId: create-portal-custom-domain
requestBody:
$ref: '#/components/requestBodies/CreatePortalCustomDomain'
tags:
- Portal Custom Domains
responses:
'201':
$ref: '#/components/responses/PortalCustomDomain'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
patch:
x-speakeasy-entity-operation:
terraform-resource: PortalCustomDomain#update
terraform-datasource: null
summary: Enable or Disable Domain
description: Updates the portal domain associated with the portal.
operationId: update-portal-custom-domain
requestBody:
$ref: '#/components/requestBodies/UpdatePortalCustomDomain'
tags:
- Portal Custom Domains
responses:
'200':
$ref: '#/components/responses/PortalCustomDomain'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
delete:
x-speakeasy-entity-operation:
terraform-resource: PortalCustomDomain#delete
terraform-datasource: null
operationId: delete-portal-custom-domain
summary: Remove Domain
description: Deletes the custom domain associated with the portal.
tags:
- Portal Custom Domains
responses:
'204':
description: No Content
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/customization:
get:
x-speakeasy-entity-operation:
terraform-resource: PortalCustomization#read
terraform-datasource: null
summary: Get Customization
description: Returns the portal customization options.
operationId: get-portal-customization
parameters:
- $ref: '#/components/parameters/PortalId'
tags:
- Portal Customization
responses:
'200':
$ref: '#/components/responses/PortalCustomizationResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
put:
x-speakeasy-entity-operation:
terraform-resource: PortalCustomization#create,update
terraform-datasource: null
summary: Replace Customization
description: Replace the portal customization options.
operationId: replace-portal-customization
parameters:
- $ref: '#/components/parameters/PortalId'
tags:
- Portal Customization
requestBody:
$ref: '#/components/requestBodies/ReplacePortalCustomization'
responses:
'200':
$ref: '#/components/responses/PortalCustomizationResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
patch:
summary: Update Customization
description: Update the portal customization options, merging properties.
operationId: update-portal-customization
parameters:
- $ref: '#/components/parameters/PortalId'
tags:
- Portal Customization
requestBody:
$ref: '#/components/requestBodies/ReplacePortalCustomization'
responses:
'200':
$ref: '#/components/responses/PortalCustomizationResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/default-content:
post:
summary: Creates Default Pages
description: Creates the default pages for a portal if they do not already exists.
operationId: create-default-content
parameters:
- $ref: '#/components/parameters/PortalId'
tags:
- Pages
responses:
'201':
$ref: '#/components/responses/DefaultContentResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/developers:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
summary: List Developers
description: >-
Lists the developers that have registered for this portal. Each
developer can be registered to one portal and must be approved to login
unless using the developer auto-approve setting.
operationId: list-portal-developers
tags:
- Portal Developers
responses:
'200':
$ref: '#/components/responses/ListDevelopers'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/SortDevelopers'
- schema:
type: object
properties:
name:
$ref: '#/components/schemas/StringFieldFilter'
status:
$ref: '#/components/schemas/StringFieldFilter'
email:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter developers returned in the response.
required: false
style: deepObject
/v3/portals/{portalId}/developers/{developerId}:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/DeveloperId'
get:
summary: Fetch Developer
description: >-
Returns information about a single developer in this portal. Each
developer manages a set applications, providing them credentials to
access registered APIs. Developer registration access can be limited to
specific APIs using RBAC.
operationId: get-developer
tags:
- Portal Developers
responses:
'200':
$ref: '#/components/responses/GetDeveloper'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
patch:
summary: Update Developer
description: >-
Updates the status of a particular developer. Approved developers have
access to login to the portal. Revoked, rejected, or pending are not
allowed to login. Even if a developer's status is no longer approved,
they will still be able to using any existing credentials generated
while they were approved, until each application registration is revoked
or deleted.
operationId: update-developer
requestBody:
$ref: '#/components/requestBodies/UpdateDeveloper'
tags:
- Portal Developers
responses:
'200':
$ref: '#/components/responses/UpdateDeveloper'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
summary: Delete Developer
description: >-
Deletes a developer, which will discontinue their ability to login, view
any non-public resources, and delete all applications owned by them. All
credentials issued to the developer will no longer provide access to any
APIs. A deleted developer's unique email must be re-registered and
approved to gain access again.
operationId: delete-developer
tags:
- Portal Developers
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/developers/{developerId}/teams:
parameters:
- $ref: '#/components/parameters/DeveloperId'
- $ref: '#/components/parameters/PortalId'
get:
summary: List Developer Teams
operationId: list-portal-developer-teams
description: >-
Lists the teams to which a developer belongs. Each team a developer is a
member of grants them various roles that provide permissions to perform
actions on certain resources.
responses:
'200':
$ref: '#/components/responses/ListPortalTeams'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
tags:
- Portal Team Membership
/v3/portals/{portalId}/email-config:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
operationId: get-email-config
description: Retrieve the email config for the portal
summary: Retrieve the email config for the portal
tags:
- Portal Emails
responses:
'200':
$ref: '#/components/responses/PortalEmailConfigResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: create-portal-email-config
description: Create the email config for a portal
summary: Create the email config for a portal
tags:
- Portal Emails
requestBody:
$ref: '#/components/requestBodies/PostPortalEmailConfigPayload'
responses:
'201':
$ref: '#/components/responses/PortalEmailConfigResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
patch:
operationId: update-portal-email-config
description: Setup the email config for a portal
summary: Setup the email config for a portal
tags:
- Portal Emails
requestBody:
$ref: '#/components/requestBodies/PatchPortalEmailConfigPayload'
responses:
'200':
$ref: '#/components/responses/PortalEmailConfigResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: delete-portal-email-config
description: Delete portal email config
summary: Delete portal email config
tags:
- Portal Emails
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/email-delivery:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
operationId: get-email-delivery
description: Retrieve the email delivery for the portal
summary: Retrieve the email delivery for the portal
deprecated: true
tags:
- Portal Emails
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/EmailDelivery'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
patch:
operationId: update-email-delivery
description: Setup the email delivery for a portal
summary: Setup the email delivery for a portal
deprecated: true
tags:
- Portal Emails
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EmailDeliveryUpdatePayload'
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/EmailDelivery'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: delete-email-delivery
description: Delete email delivery
summary: Delete email delivery
deprecated: true
tags:
- Portal Emails
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/email-templates:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
operationId: list-portal-custom-email-templates
description: List custom email templates
summary: List custom email templates for a portal
tags:
- Portal Emails
responses:
'200':
$ref: '#/components/responses/ListEmailTemplates'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/email-templates/{templateName}:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/EmailTemplateName'
get:
operationId: get-portal-custom-email-template
description: Get custom email template
summary: Get custom email template used in a portal
tags:
- Portal Emails
responses:
'200':
$ref: '#/components/responses/EmailTemplate'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
patch:
operationId: update-portal-custom-email-template
description: Update custom email template
summary: Update custom email template for a portal
tags:
- Portal Emails
requestBody:
$ref: '#/components/requestBodies/PatchCustomPortalEmailTemplatePayload'
responses:
'200':
$ref: '#/components/responses/PatchEmailTemplateResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: delete-portal-custom-email-template
summary: Delete custom email template
description: >-
Delete custom email template for a portal. This will revert to using the
default template
tags:
- Portal Emails
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/email-templates/{templateName}/send-test-email:
post:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/EmailTemplateName'
operationId: post-portal-custom-email-test-send
summary: Send Test Email
description: >-
Send a test email based on the portal's email template, using the
content provided in the request.
The email will be sent to the Konnect user who triggered the test.
tags:
- Portal Emails
requestBody:
$ref: '#/components/requestBodies/PostSendTestEmailPayload'
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/identity-provider/team-group-mappings:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
summary: List Team Group Mappings
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Lists mappings between Konnect portal teams and Identity Provider (IdP)
groups. Returns a 400 error if an IdP has not yet been configured.
operationId: list-portal-team-group-mappings
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/PortalTeamGroupMappingCollection'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Portal Auth Settings
patch:
summary: Update Team Group Mappings
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Allows partial updates to the mappings between Konnect portal teams and
Identity Provider (IdP) 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 IdP has not yet been configured, or if a team
ID in the request body is not found or is not a UUID.
operationId: update-portal-team-group-mappings
responses:
'200':
$ref: '#/components/responses/PortalTeamGroupMappingCollection'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Portal Auth Settings
requestBody:
$ref: '#/components/requestBodies/UpdatePortalTeamGroupMappings'
/v3/portals/{portalId}/identity-providers:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
summary: Retrieve Identity Providers
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Retrieves the identity providers available within the portal. This
operation provides information about
various identity providers for SAML or OIDC authentication integrations.
operationId: get-portal-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/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Portal Auth Settings
post:
summary: Create Identity Provider
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Creates a new identity provider. This operation allows the creation of a
new identity provider for
authentication purposes.
operationId: create-portal-identity-provider
requestBody:
$ref: '#/components/requestBodies/CreateIdentityProviderRequest'
responses:
'201':
$ref: '#/components/responses/IdentityProvider'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
tags:
- Portal Auth Settings
/v3/portals/{portalId}/identity-providers/{id}:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/IdentityProviderId'
get:
summary: Get Identity Provider
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
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-portal-identity-provider
responses:
'200':
$ref: '#/components/responses/IdentityProvider'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Portal Auth Settings
patch:
summary: Update Identity Provider
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Updates the configuration of an existing identity provider. This
operation allows modifications to be made
to an existing identity provider's configuration.
operationId: update-portal-identity-provider
requestBody:
$ref: '#/components/requestBodies/UpdateIdentityProviderRequest'
responses:
'200':
$ref: '#/components/responses/IdentityProvider'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
tags:
- Portal Auth Settings
delete:
summary: Delete Identity Provider
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Deletes an existing identity provider configuration. This operation
removes a specific identity provider
from the portal.
operationId: delete-portal-identity-provider
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'
tags:
- Portal Auth Settings
/v3/portals/{portalId}/pages:
get:
summary: List Pages
description: >-
Returns the tree view of custom pages that have been created for this
portal.
operationId: list-portal-pages
parameters:
- $ref: '#/components/parameters/SortPortalPages'
- $ref: '#/components/parameters/PortalId'
- in: query
name: filter
description: Filter pages returned in the response.
required: false
style: deepObject
schema:
$ref: '#/components/schemas/PortalPagesFilterParameters'
tags:
- Pages
responses:
'200':
$ref: '#/components/responses/ListPortalPages'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
x-speakeasy-entity-operation:
terraform-resource: PortalPage#create
terraform-datasource: null
summary: Create Page
description: >-
Creates a new custom page for this portal. Custom pages can be used to
display static content, documentation, or other information to
developers. Title and Description properties may be provided in the
frontmatter section of `content`. If you set values in both the `POST`
request _and_ in the frontmatter, the values in frontmatter will take
precedence.
operationId: create-portal-page
requestBody:
$ref: '#/components/requestBodies/CreatePortalPage'
parameters:
- $ref: '#/components/parameters/PortalId'
tags:
- Pages
responses:
'201':
$ref: '#/components/responses/PortalPage'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/pages/{pageId}:
get:
x-speakeasy-entity-operation:
terraform-resource: PortalPage#read
terraform-datasource: null
summary: Fetch Page
description: >-
Returns the configuration of a single custom page for this portal.
Custom pages can be used to display static content, documentation, or
other information to developers.
operationId: get-portal-page
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/PageId'
tags:
- Pages
responses:
'200':
$ref: '#/components/responses/PortalPage'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
patch:
x-speakeasy-entity-operation:
terraform-resource: PortalPage#update
terraform-datasource: null
summary: Update Page
description: Updates the configuration of a single custom page for this portal.
operationId: update-portal-page
requestBody:
$ref: '#/components/requestBodies/UpdatePortalPage'
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/PageId'
tags:
- Pages
responses:
'200':
$ref: '#/components/responses/PortalPage'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
x-speakeasy-entity-operation:
terraform-resource: PortalPage#delete
terraform-datasource: null
summary: Delete Page
description: Deletes a single custom page for this portal.
operationId: delete-portal-page
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/PageId'
tags:
- Pages
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/pages/{pageId}/move:
post:
summary: Move Page
description: >-
This api allows the user to move a page within the page tree using the
parameters parent_page_id and index. If parent_page_id is not provided,
the page will be placed at the top level of the page tree. index
represents a zero-indexed page order relative to its siblings under the
same parent. For example, if we want to put the page at top level in
first position we would send parent_page_id: null and index: 0. This api
also supports using a negative index to count backwards from the end of
the page list, which means you can put the page in last position by
using index: -1.
operationId: move-portal-pages
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/PageId'
tags:
- Pages
requestBody:
$ref: '#/components/requestBodies/MovePage'
responses:
'201':
description: The document has been moved
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
/v3/portals/{portalId}/snippets:
get:
summary: List Snippets
description: >-
Returns the paginated list of custom snippets that have been created for
this portal.
operationId: list-portal-snippets
parameters:
- $ref: '#/components/parameters/SortPortalSnippets'
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- in: query
name: filter
description: Filter snippets returned in the response.
required: false
style: deepObject
schema:
$ref: '#/components/schemas/PortalSnippetsFilterParameters'
tags:
- Snippets
responses:
'200':
$ref: '#/components/responses/ListPortalSnippets'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
post:
x-speakeasy-entity-operation:
terraform-resource: PortalSnippet#create
terraform-datasource: null
summary: Create Snippet
description: >-
Creates a new custom snippet for this portal. Custom snippets can be
used to display static content, documentation, or other information to
developers. Title and Description properties may be provided in the
frontmatter section of `content`. If you set values in both the `POST`
request _and_ in the frontmatter, the values in the frontmatter will
take precedence.
operationId: create-portal-snippet
requestBody:
$ref: '#/components/requestBodies/CreatePortalSnippet'
parameters:
- $ref: '#/components/parameters/PortalId'
tags:
- Snippets
responses:
'201':
$ref: '#/components/responses/PortalSnippet'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/snippets/{snippetId}:
get:
x-speakeasy-entity-operation:
terraform-resource: PortalSnippet#read
terraform-datasource: null
summary: Fetch Snippet
description: >-
Returns the configuration of a single custom snippet for this portal.
Custom snippets can be used to display static content, documentation, or
other information to developers.
operationId: get-portal-snippet
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/SnippetId'
tags:
- Snippets
responses:
'200':
$ref: '#/components/responses/PortalSnippet'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
patch:
x-speakeasy-entity-operation:
terraform-resource: PortalSnippet#update
terraform-datasource: null
summary: Update Snippet
description: Updates the configuration of a single custom snippet for this portal.
operationId: update-portal-snippet
requestBody:
$ref: '#/components/requestBodies/UpdatePortalSnippet'
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/SnippetId'
tags:
- Snippets
responses:
'200':
$ref: '#/components/responses/PortalSnippet'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
x-speakeasy-entity-operation:
terraform-resource: PortalSnippet#delete
terraform-datasource: null
summary: Delete Snippet
description: Deletes a single custom snippet for this portal.
operationId: delete-portal-snippet
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/SnippetId'
tags:
- Snippets
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/{portalId}/teams:
parameters:
- $ref: '#/components/parameters/PortalId'
get:
summary: List Teams
description: >-
Lists the developer teams in a portal. Each team can contain any
developer and developers can be part of multiple teams.
operationId: list-portal-teams
responses:
'200':
$ref: '#/components/responses/ListPortalTeams'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
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:
- Portal Teams
post:
x-speakeasy-entity-operation:
terraform-resource: PortalTeam#create
terraform-datasource: null
summary: Create Team
operationId: create-portal-team
responses:
'201':
$ref: '#/components/responses/PortalTeam'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Portal Teams
requestBody:
$ref: '#/components/requestBodies/PortalCreateTeam'
description: >-
Creates a developer team in a portal. Developers can be added to teams
to provide RBAC access to API products. Teams can be assigned roles that
grant permissions to perform an action on a resource.
/v3/portals/{portalId}/teams/{teamId}:
parameters:
- $ref: '#/components/parameters/TeamId'
- $ref: '#/components/parameters/PortalId'
get:
x-speakeasy-entity-operation:
terraform-resource: PortalTeam#read
terraform-datasource: null
summary: Get Team
responses:
'200':
$ref: '#/components/responses/PortalTeam'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: get-portal-team
description: Get an individual team.
tags:
- Portal Teams
patch:
x-speakeasy-entity-operation:
terraform-resource: PortalTeam#update
terraform-datasource: null
description: Updates an individual developer team for a portal.
summary: Update Team
operationId: update-portal-team
responses:
'200':
$ref: '#/components/responses/PortalTeam'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
requestBody:
$ref: '#/components/requestBodies/PortalUpdateTeam'
tags:
- Portal Teams
delete:
x-speakeasy-entity-operation:
terraform-resource: PortalTeam#delete
terraform-datasource: null
summary: Delete Team
operationId: delete-portal-team
description: >-
Deletes a developer team from a portal. Deleting a team also deletes its
assigned roles. Members of the team are not deleted, but they will lose
any access provided through the team.
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Portal Teams
/v3/portals/{portalId}/teams/{teamId}/assigned-roles:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/TeamId'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
get:
summary: List Team Roles
description: >-
Lists the roles belonging to a developer team. Each role provides
permissions to perform actions on a specified resource or collection.
tags:
- Portal Team Roles
responses:
'200':
$ref: '#/components/responses/AssignedPortalRoleCollection'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: list-portal-team-roles
post:
summary: Assign Role
operationId: assign-role-to-portal-teams
description: >-
Assign a role to a developer team. This associates the set of
permissions in a role with the team, so that they will be applied to any
developer who is a member of the team.
responses:
'201':
$ref: '#/components/responses/PortalAssignedRole'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
requestBody:
$ref: '#/components/requestBodies/PortalAssignRole'
tags:
- Portal Team Roles
/v3/portals/{portalId}/teams/{teamId}/assigned-roles/{roleId}:
parameters:
- $ref: '#/components/parameters/RoleId'
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/TeamId'
delete:
summary: Remove Role
operationId: remove-role-from-portal-team
description: >-
Removes an assigned role from a developer team. This deletes the
association of the role with team and each of its members.
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Portal Team Roles
/v3/portals/{portalId}/teams/{teamId}/developers:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/TeamId'
get:
summary: List Team Developers
responses:
'200':
$ref: '#/components/responses/ListBasicDevelopers'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: list-portal-team-developers
description: List a team's developers.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
email:
$ref: '#/components/schemas/StringFieldFilter'
full_name:
$ref: '#/components/schemas/StringFieldFilter'
attributes:
$ref: '#/components/schemas/StringFieldFilter'
active:
$ref: '#/components/schemas/BooleanFieldFilter'
in: query
name: filter
description: Filter developers returned in the response.
required: false
style: deepObject
tags:
- Portal Team Membership
post:
summary: Add Developer to Team
operationId: add-developer-to-portal-team
description: >-
Adds a developer to a team. This associates them with all of the roles
that have been assigned to the team, providing specific permissions to
perform actions on resources.
responses:
'201':
description: Created
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
requestBody:
$ref: '#/components/requestBodies/AddDeveloperToTeam'
tags:
- Portal Team Membership
/v3/portals/{portalId}/teams/{teamId}/developers/{developerId}:
parameters:
- $ref: '#/components/parameters/PortalId'
- $ref: '#/components/parameters/DeveloperId'
- $ref: '#/components/parameters/TeamId'
delete:
summary: Remove Developer from Team
operationId: remove-developer-from-portal-team
description: >-
Removes a developer from a team. This removes the association of the
team's roles from the developer.
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Portal Team Membership
/v3/portals/email-domains:
get:
operationId: list-email-domains
description: List email domains
summary: List email domains
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/SortEmailDomains'
- in: query
name: filter
description: Filter email domains returned in the response.
required: false
style: deepObject
schema:
$ref: '#/components/schemas/EmailDomainFilterParameters'
tags:
- Portal Emails
responses:
'200':
description: List of a email domains
content:
application/json:
schema:
$ref: '#/components/schemas/ListDomains'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: create-email-domain
description: Create an email domain
summary: Create an email domain
tags:
- Portal Emails
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EmailDomainPayload'
responses:
'201':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/EmailDomain'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/email-domains/{emailDomain}:
parameters:
- $ref: '#/components/parameters/EmailDomain'
get:
operationId: get-email-domain
description: Get an email domain
summary: Get an email domain
tags:
- Portal Emails
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/EmailDomain'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: delete-email-domain
description: Delete an email domain
summary: Delete an email domain
tags:
- Portal Emails
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/email-templates:
get:
operationId: list-default-email-templates
description: List default email templates
summary: List default email templates
tags:
- Portal Emails
responses:
'200':
$ref: '#/components/responses/ListDefaultEmailTemplates'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/email-templates/{templateName}:
parameters:
- $ref: '#/components/parameters/EmailTemplateName'
get:
operationId: get-default-email-template
description: Get default email template
summary: Get default email template
tags:
- Portal Emails
responses:
'200':
$ref: '#/components/responses/DefaultEmailTemplate'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/v3/portals/email-templates/variables:
get:
operationId: list-email-template-variables
description: List email template variables
summary: List email template variables
tags:
- Portal Emails
responses:
'200':
$ref: '#/components/responses/EmailTemplateVariables'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/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/LegacyStringFieldFilter'
description:
$ref: '#/components/schemas/LegacyStringFieldFilter'
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:
terraform-resource: SystemAccount#create
terraform-datasource: null
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:
terraform-resource: SystemAccount#read
terraform-datasource: null
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:
terraform-resource: SystemAccount#update
terraform-datasource: null
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:
terraform-resource: SystemAccount#delete
terraform-datasource: null
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/LegacyStringFieldFilter'
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:
terraform-resource: SystemAccountAccessToken#create
terraform-datasource: null
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:
terraform-resource: SystemAccountAccessToken#read
terraform-datasource: null
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.
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:
terraform-resource: SystemAccountAccessToken#update
terraform-datasource: null
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:
terraform-resource: SystemAccountAccessToken#delete
terraform-datasource: null
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:
terraform-resource: SystemAccountRole#create
terraform-datasource: null
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:
terraform-resource: SystemAccountRole#delete
terraform-datasource: null
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/LegacyStringFieldFilter'
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/LegacyStringFieldFilter'
in: query
name: filter
description: Filter teams returned in the response.
required: false
style: deepObject
tags:
- Teams
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-entity-operation:
terraform-resource: Team#create
terraform-datasource: null
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:
terraform-resource: Team#read
terraform-datasource: null
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:
terraform-resource: Team#update
terraform-datasource: null
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:
terraform-resource: Team#delete
terraform-datasource: null
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:
terraform-resource: TeamRole#create
terraform-datasource: null
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:
terraform-resource: TeamRole#delete
terraform-datasource: null
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/LegacyStringFieldFilter'
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:
terraform-resource: SystemAccountTeam#create
terraform-datasource: null
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:
terraform-resource: SystemAccountTeam#delete
terraform-datasource: null
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/LegacyStringFieldFilter'
full_name:
$ref: '#/components/schemas/LegacyStringFieldFilter'
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:
terraform-resource: TeamUser#create
terraform-datasource: null
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:
terraform-resource: TeamUser#delete
terraform-datasource: null
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/LegacyStringFieldFilter'
full_name:
$ref: '#/components/schemas/LegacyStringFieldFilter'
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/LegacyStringFieldFilter'
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:
x-speakeasy-name-override: filter_labels
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
PrivateDnsFilter:
name: filter
description: Filters supported for Private DNS.
required: false
in: query
schema:
$ref: '#/components/schemas/PrivateDnsFilterParameters'
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
PrivateDnsId:
name: privateDnsId
in: path
description: The ID of the Private DNS to operate on.
required: true
schema:
$ref: '#/components/schemas/PrivateDnsId'
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
ApiId:
schema:
type: string
format: uuid
example: 9f5061ce-78f6-4452-9108-ad7c02821fd5
name: apiId
in: path
required: true
description: The UUID API identifier
DocumentId:
schema:
type: string
format: uuid
example: de5c9818-be5c-42e6-b514-e3d4bc30ddeb
name: documentId
description: The document identifier related to the API
in: path
required: true
x-speakeasy-match: id
SpecId:
schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: specId
description: The API specification identifier
in: path
required: true
x-speakeasy-match: id
VersionId:
schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: versionId
description: The API version identifier
in: path
required: true
x-speakeasy-match: id
PortalId:
schema:
type: string
format: uuid
example: f32d905a-ed33-46a3-a093-d8f536af9a8a
name: portalId
in: path
required: true
description: ID of the portal.
ImplementationId:
schema:
type: string
format: uuid
example: 032d905a-ed33-46a3-a093-d8f536af9a8a
name: implementationId
in: path
required: true
description: The Portal identifier
x-speakeasy-match: id
ApiFilters:
name: filter
description: Filters APIs in the response.
required: false
in: query
schema:
$ref: '#/components/schemas/ApiFilterParameters'
style: deepObject
ApiSort:
name: sort
description: |
Sorts a collection of APIs. Supported sort attributes are:
- name
- version
- created_at
- updated_at
required: false
in: query
schema:
$ref: '#/components/schemas/SortQuery'
ApiDocumentFilters:
name: filter
description: Filters API Documents in the response.
required: false
in: query
schema:
$ref: '#/components/schemas/ApiDocumentFilterParameters'
style: deepObject
ApiSpecFilters:
name: filter
description: Filters API Specs in the response.
required: false
in: query
schema:
$ref: '#/components/schemas/ApiSpecFilterParameters'
style: deepObject
ApiVersionFilters:
name: filter
description: Filters API Version in the response.
required: false
in: query
schema:
$ref: '#/components/schemas/ApiVersionFilterParameters'
style: deepObject
ApiPublicationFilters:
name: filter
description: Filters API Publications in the response.
required: false
in: query
schema:
$ref: '#/components/schemas/ApiPublicationFilterParameters'
style: deepObject
ApiPublicationSort:
name: sort
description: |
Sorts a collection of API publications. Supported sort attributes are:
- portal_id
- portal_name
- api_id
- api_name
- created_at
- updated_at
required: false
in: query
schema:
$ref: '#/components/schemas/SortQuery'
ApiImplementationFilters:
name: filter
description: Filters APIs in the response.
required: false
in: query
schema:
$ref: '#/components/schemas/ApiImplementationFilterParameters'
style: deepObject
ApiImplementationSort:
name: sort
description: >
Sorts a collection of API implementations. Supported sort attributes
are:
- id
- api_id
- control_plane_id
- service_id
- created_at
- updated_at
required: false
in: query
schema:
$ref: '#/components/schemas/SortQuery'
ApiAttributeFilters:
name: filter
description: Filters API attributes in the response.
required: false
in: query
schema:
$ref: '#/components/schemas/ApiAttributeFilterParameters'
style: deepObject
ApiAttributeSort:
name: sort
description: |
Sorts a collection of API attributes. Supported sort attributes are:
- id
- key
- created_at
- updated_at
required: false
in: query
schema:
$ref: '#/components/schemas/SortQuery'
EmailTemplateName:
name: templateName
description: Name of the email template.
in: path
required: true
schema:
$ref: '#/components/schemas/EmailTemplateName'
EmailDomain:
name: emailDomain
in: path
required: true
description: Email domain for custom portal email sender
schema:
type: string
SortEmailDomains:
name: sort
description: |
Sorts a collection of email domains. Supported sort attributes are:
- domain
- created_at
- updated_at
in: query
required: false
schema:
type: string
SortPortals:
name: sort
description: |
Sorts a collection of portals. Supported sort attributes are:
- name
- description
- authentication_enabled
- rbac_enabled
- auto_approve_applications
- auto_approve_developers
- default_domain
- canonical_domain
- created_at
- updated_at
in: query
required: false
schema:
type: string
SortPortalPages:
name: sort
description: |
Sorts a collection of portal pages. Supported sort attributes are:
- created_at
- updated_at
- slug
- title
- visibility
in: query
required: false
schema:
type: string
SortPortalSnippets:
name: sort
description: |
Sorts a collection of portal snippets. Supported sort attributes are:
- created_at
- updated_at
- name
- title
- visibility
in: query
required: false
schema:
type: string
SortApplications:
name: sort
description: |
Sorts a collection of applications. Supported sort attributes are:
- created_at
- developer_id
- name
in: query
required: false
schema:
type: string
SortApplicationDevelopers:
name: sort
description: >
Sorts a set of developers for an application. Supported sort attributes
are:
- id
in: query
required: false
schema:
type: string
SortApplicationRegistrations:
name: sort
description: >
Sorts a set of registrations for an application. Supported sort
attributes are:
- created_at
- updated_at
- status
in: query
required: false
schema:
type: string
SortListAllApplicationRegistrations:
name: sort
description: >
Sorts a collection of application registrations. Supported sort
attributes are:
- created_at
- updated_at
- developer_id
- status
in: query
required: false
schema:
type: string
SortDevelopers:
name: sort
description: |
Sorts a collection of developers. Supported sort attributes are:
- created_at
- updated_at
- email
- name
- status
in: query
required: false
schema:
type: string
PageId:
schema:
type: string
format: uuid
example: ebbac5b0-ac89-45c3-9d2e-c4542c657e79
name: pageId
in: path
required: true
description: ID of the page.
x-speakeasy-match: id
SnippetId:
schema:
type: string
format: uuid
example: ebbac5b0-ac89-45c3-9d2e-c4542c657e79
name: snippetId
in: path
required: true
description: ID of the snippet.
x-speakeasy-match: id
ApplicationId:
name: applicationId
in: path
required: true
description: ID of the application.
schema:
type: string
format: uuid
RegistrationId:
name: registrationId
in: path
required: true
description: ID of the application registration.
schema:
type: string
format: uuid
TeamId:
x-speakeasy-match: id
schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: teamId
in: path
required: true
description: ID of the team.
DeveloperId:
schema:
type: string
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
format: uuid
name: developerId
in: path
required: true
description: ID of the developer.
RoleId:
schema:
type: string
example: 8350205f-a305-4e39-abe9-bc082a80091a
format: uuid
name: roleId
in: path
required: true
IdentityProviderId:
schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: id
in: path
required: true
description: ID of the identity provider.
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:
description: The UUID or name of the consumer group
in: path
name: ConsumerGroupId
required: true
schema:
type: string
example: cf4c7e60-11db-49dd-b300-7c7e5f0f7e6b
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
title:
type: string
description: The Error Response.
example: Unauthorized
x-speakeasy-param-computed: false
nullable: true
default: null
instance:
type: string
description: The Konnect traceback code.
example: konnect:trace:952172606039454040
x-speakeasy-param-computed: false
nullable: true
default: null
detail:
type: string
description: Details about the error response.
example: You do not have permission to perform this action
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
oidc_auth_enabled:
type: boolean
example: false
description: The organization has OIDC disabled.
x-speakeasy-param-computed: false
nullable: true
default: null
saml_auth_enabled:
type: boolean
example: false
description: The organization has SAML disabled.
x-speakeasy-param-computed: false
nullable: true
default: null
idp_mapping_enabled:
type: boolean
example: true
description: IdP groups determine the Konnect teams a user has.
x-speakeasy-param-computed: false
nullable: true
default: null
konnect_mapping_enabled:
type: boolean
example: false
description: A Konnect Identity Admin assigns teams to a user.
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
title:
type: string
description: The error response code.
example: Precondition Failed
x-speakeasy-param-computed: false
nullable: true
default: null
instance:
type: string
description: The Konnect traceback code.
example: konnect:trace:1896611024257578096
x-speakeasy-param-computed: false
nullable: true
default: null
detail:
type: string
description: Details about the error response.
example: IdP configuration not found
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
title:
type: string
example: Rate Limited
description: The Error response
x-speakeasy-param-computed: false
nullable: true
default: null
instance:
type: string
description: The Konnect traceback ID.
example: konnect:trace:3674017986744198214
x-speakeasy-param-computed: false
nullable: true
default: null
detail:
type: string
description: Detailed explanation of the error response.
example: Too many requests
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
size:
type: integer
description: Page size.
example: 9
x-speakeasy-param-computed: false
nullable: true
default: null
total:
type: integer
description: Total number of results.
example: 5
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
data:
type: array
items:
type: object
properties:
group:
type: string
description: Group names.
example: 111(@&*$)(@*#_@(gfds re gdsf dfg
x-speakeasy-param-computed: false
nullable: true
default: null
team_ids:
type: array
description: Team ID's that belong to the specified group.
items:
type: string
example: 3df49db8-39ff-490d-9fe1-251a3361fb13
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
consumer_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Consumer Admin
description:
type: string
description: >-
This role grants full write access to administer
Consumers. Can configure plugins and view plugin
partials for Consumers they have access to. Cannot
create or modify global plugins or plugins outside
their scope.
example: >-
This role grants full write access to administer
consumers.
enum:
- >-
This role grants full write access to administer
consumers.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
description: >-
This role grants full write access to administer
Gateway Services. Can configure plugins and view
plugin partials for Services they have access to.
Cannot create or modify global plugins or plugins
outside their scope.
enum:
- >-
This role grants full write access to administer
gateway services.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
description: >-
Can configure plugins at any scope (global,
Service, Route, or Consumer) within a Control
Plane Group. Also has write access to plugin
partials.
enum:
- >-
This role grants full write access to administer
plugins.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
description: >-
This role grants full write access to administer
Routes. Can configure plugins and view plugin
partials for Routes they have access to. Cannot
create or modify global plugins or plugins outside
their scope.
enum:
- >-
This role grants full write access to administer
routes.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
description: >-
This role grants read-only access to all the
configurations of a Control Plane Group and
corresponding Data Plane nodes. Includes read-only
access to plugin partials within accessible
scopes.
enum:
- >-
This role grants read only access to all
entities within a control plane.
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
dashboards:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- Dashboards
roles:
type: object
properties:
viewer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Viewer
description:
type: string
example: >-
Allows users to view any Dashboards content in
Konnect Analytics.
enum:
- >-
Allows users to view any Dashboards content in
Konnect Analytics.
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-sensitive: true
MeOrganization:
description: Me Organization
content:
application/json:
schema:
type: object
title: Me Organization Response
properties:
id:
type: string
description: UUID of the organization.
format: uuid
readOnly: true
name:
type: string
description: Name of the organization.
x-speakeasy-param-computed: false
nullable: true
default: null
owner_id:
type: string
description: Owner ID of the organization.
x-speakeasy-param-computed: false
nullable: true
default: null
login_path:
type: string
description: >-
Path to organization-specific login when single sign on (SSO)
is enabled. Blank otherwise.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
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'
Conflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
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'
CreatePrivateDnsResponse:
description: Response format for creating a Private DNS.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateDnsResponse'
PatchPrivateDnsResponse:
description: Response format for updating a Private DNS.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateDnsResponse'
ListPrivateDnsResponse:
description: A paginated list for a collection of Private DNS for a network.
content:
application/json:
schema:
title: ListPrivateDnsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/PrivateDnsResponse'
required:
- meta
- data
RetrievePrivateDnsResponse:
description: Response format for retrieving a Private DNS.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateDnsResponse'
CreateTransitGatewayResponse:
description: Response format for creating a transit gateway.
content:
application/json:
schema:
$ref: '#/components/schemas/TransitGatewayResponse'
PatchTransitGatewayResponse:
description: Response format for updating a transit gateway.
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/AwsResourceEndpointGatewayResponse'
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'
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'
ApiSlugConflict:
description: Conflict - `slug` property must be unique
content:
application/problem+json:
schema:
type: object
required:
- status
- title
- instance
properties:
status:
type: number
title:
type: string
type:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
instance:
type: string
ApiSpecConflict:
description: Conflict - An API may only have one specification
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
ApiSpecHiddenConflict:
description: Conflict - name attribute must be unique across specifications
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
ApiVersionPatchConflict:
description: Conflict - May occur when constraints are violated
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
ApiImplementationConflict:
description: Conflict - A gateway service can only be linked to a single API
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
ApiUnauthorized:
description: ApiUnauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
ApiNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
ApiForbidden:
description: ApiForbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
ApiPublicationBadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
ApiResponse:
description: API
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseSchema'
ListApiResponse:
description: List of APIs
content:
application/json:
schema:
title: ListApiResponse
type: object
required:
- data
- meta
additionalProperties: false
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ApiResponseSchema'
ListApiComputedResponse:
description: List of APIs with computed fields
content:
application/json:
schema:
title: List Api Computed Response
type: object
required:
- data
- meta
additionalProperties: false
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ApiComputedSchema'
ApiDocumentResponse:
description: API document
content:
application/json:
schema:
type: object
title: API Document
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/ApiDocumentId'
content:
$ref: '#/components/schemas/ApiDocumentContent'
title:
$ref: '#/components/schemas/ApiDocumentTitle'
slug:
$ref: '#/components/schemas/ApiDocumentSlug'
status:
$ref: '#/components/schemas/ApiDocumentStatus'
parent_document_id:
$ref: '#/components/schemas/ApiDocumentParentDocumentId'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- id
- parent_document_id
- title
- slug
- status
- content
- updated_at
- created_at
ListApiDocumentResponse:
description: List of API documents
content:
application/json:
schema:
type: object
required:
- data
additionalProperties: false
properties:
data:
type: array
items:
$ref: '#/components/schemas/ApiDocumentSummaryWithChildren'
ApiSpecResponse:
description: API specification (OpenAPI or AsyncAPI)
content:
application/json:
schema:
title: API Specification
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The API specification identifier.
readOnly: true
content:
type: string
description: >
The raw content of your API specification, in json or yaml
format (OpenAPI or AsyncAPI).
example: >-
{"openapi":"3.0.3","info":{"title":"Example
API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example
endpoint","responses":{"200":{"description":"Successful
response"}}}}}}
x-speakeasy-param-computed: false
nullable: true
default: null
validation_messages:
type: array
description: The errors that occurred while parsing the API specification.
readOnly: true
items:
type: object
additionalProperties: false
required:
- message
properties:
message:
type: string
type:
title: API Spec Type
type: string
example: oas3
description: >
The type of specification being stored. This allows us to
render the specification correctly.
enum:
- oas2
- oas3
- asyncapi
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- id
- content
- type
- created_at
- updated_at
- validation_messages
ListApiSpecResponse:
description: List of API specifications (OpenAPI or AsyncAPI)
content:
application/json:
schema:
title: ListApiSpecResponse
type: object
required:
- data
- meta
additionalProperties: false
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
title: API Specification Summary
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The API specification identifier.
readOnly: true
type:
$ref: '#/components/schemas/ApiSpecType'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- id
- type
- created_at
- updated_at
ApiVersionResponse:
description: API version (OpenAPI or AsyncAPI)
content:
application/json:
schema:
title: API Version
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The API version identifier.
readOnly: true
version:
type: string
description: The version of the api.
example: 1.0.0
x-speakeasy-param-computed: false
nullable: true
default: null
spec:
type: object
additionalProperties: false
properties:
content:
type: string
description: >
The raw content of your API spec, in json or yaml format
(OpenAPI or AsyncAPI).
example: >-
{"openapi":"3.0.3","info":{"title":"Example
API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example
endpoint","responses":{"200":{"description":"Successful
response"}}}}}}
x-speakeasy-param-computed: false
nullable: true
default: null
type:
title: API Spec Type
type: string
example: oas3
description: >
The type of specification being stored. This allows us to
render the specification correctly.
enum:
- oas2
- oas3
- asyncapi
readOnly: true
validation_messages:
type: array
description: >-
The errors that occurred while parsing the API version
spec.
readOnly: true
items:
type: object
additionalProperties: false
required:
- message
properties:
message:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- id
- version
- created_at
- updated_at
ListApiVersionResponse:
description: List of API specifications (OpenAPI or AsyncAPI)
content:
application/json:
schema:
title: ListApiSpecResponse
type: object
required:
- data
- meta
additionalProperties: false
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
title: API Version Summary
type: object
additionalProperties: false
readOnly: true
x-speakeasy-terraform-ignore: true
nullable: false
properties:
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The API version identifier.
readOnly: true
version:
type: string
description: The version of this api spec.
x-speakeasy-param-computed: false
nullable: true
default: null
spec:
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/ApiSpecType'
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- id
- version
- created_at
- updated_at
ApiPublicationResponse:
description: An API publication in a portal
content:
application/json:
schema:
title: API Publication
type: object
description: An API publication in a portal
additionalProperties: false
properties:
auto_approve_registrations:
$ref: '#/components/schemas/AutoApproveRegistrations'
auth_strategy_ids:
$ref: '#/components/schemas/ApiPublicationAuthStrategyIds'
visibility:
$ref: '#/components/schemas/ApiPublicationVisibility'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- visibility
- created_at
- updated_at
- auth_strategy_ids
ListApiPublicationResponse:
description: Paginated list of API publications
content:
application/json:
schema:
title: ListApiPublications
type: object
required:
- data
- meta
additionalProperties: false
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ApiPublicationListItem'
ApiImplementationResponse:
description: An API implementation
content:
application/json:
schema:
title: API Implementation
description: An entity that implements an API
type: object
oneOf:
- $ref: '#/components/schemas/ApiImplementationGatewayServiceEntity'
required:
- id
- created_at
- updated_at
ListApiImplementationsResponse:
description: Paginated list of API implementations
content:
application/json:
schema:
title: ListApiImplementations
type: object
required:
- data
- meta
additionalProperties: false
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ApiImplementationListItem'
ListApiAttributesResponse:
description: Paginated list of API attributes
content:
application/json:
schema:
title: ListApiAttributes
type: object
required:
- data
- meta
additionalProperties: false
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ApiAttributeListItem'
ValidateApiSpecSuccessResponse:
description: API specification (OpenAPI or AsyncAPI) validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateApiSpecSuccessResponse'
UnsupportedMediaType:
description: Unsupported Media Type
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnsupportedMediaTypeError'
PortalTeamGroupMappingCollection:
description: A paginated collection of mappings grouped by team ID.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalTeamGroupMappingResponse'
PortalAuthenticationSettings:
description: Details about a portal's authentication settings.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalAuthenticationSettingsResponse'
PortalAssignedRole:
description: Details about the role assignment.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalAssignedRoleResponse'
PortalTeam:
description: Details about a team of developers in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalTeamResponse'
AssignedPortalRoleCollection:
description: A paginated collection of assigned roles.
content:
application/json:
schema:
$ref: '#/components/schemas/AssignedPortalRoleCollectionResponse'
GetDeveloper:
description: Details about a developer in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalDeveloper'
UpdateDeveloper:
description: Details about the developer being updated.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalDeveloper'
ListDevelopers:
description: A paginated list of developers in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDevelopersResponse'
ListPortalTeams:
description: A paginated list of teams in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPortalTeamsResponse'
ListRoles:
description: A set of roles available in portals.
content:
application/json:
schema:
$ref: '#/components/schemas/ListRolesResponse'
ListBasicDevelopers:
description: A paginated list of basic developer information.
content:
application/json:
schema:
$ref: '#/components/schemas/ListBasicDevelopersResponse'
PortalCustomDomain:
description: Portal custom domain
content:
application/json:
schema:
$ref: '#/components/schemas/PortalCustomDomain'
ListPortalsResponse:
description: A paginated list of portals in the current region of an organization.
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- data
- meta
properties:
data:
type: array
items:
x-speakeasy-entity: Portal
title: Portal
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
name:
type: string
maxLength: 255
minLength: 1
description: >-
The name of the portal, used to distinguish it from
other portals. Name must be unique.
x-speakeasy-param-computed: false
nullable: true
default: null
display_name:
type: string
maxLength: 255
minLength: 1
description: >-
The display name of the portal. This value will be the
portal's `name` in Portal API.
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
nullable: true
maxLength: 512
description: A description of the portal.
x-speakeasy-param-computed: false
default: null
authentication_enabled:
type: boolean
description: >-
Whether the portal supports developer authentication. If
disabled, developers cannot register for accounts or
create applications.
default: true
rbac_enabled:
type: boolean
description: >-
Whether the portal resources are protected by Role Based
Access Control (RBAC). If enabled, developers view or
register for APIs until unless assigned to teams with
access to view and consume specific APIs. Authentication
must be enabled to use RBAC.
default: false
default_api_visibility:
type: string
description: >-
The default visibility of APIs in the portal. If set to
`public`, newly published APIs are visible to
unauthenticated developers. If set to `private`, newly
published APIs are hidden from unauthenticated
developers.
enum:
- public
- private
default_page_visibility:
type: string
description: >-
The default visibility of pages in the portal. If set to
`public`, newly created pages are visible to
unauthenticated developers. If set to `private`, newly
created pages are hidden from unauthenticated
developers.
enum:
- public
- private
default_application_auth_strategy_id:
type: string
format: uuid
description: >-
The default authentication strategy for APIs published
to the portal. Newly published APIs will use this
authentication strategy unless overridden during
publication. If set to `null`, API publications will not
use an authentication strategy unless set during
publication.
nullable: true
x-speakeasy-param-computed: false
default: null
auto_approve_developers:
type: boolean
description: >-
Whether developer account registrations will be
automatically approved, or if they will be set to
pending until approved by an admin.
default: false
auto_approve_applications:
type: boolean
description: >-
Whether requests from applications to register for APIs
will be automatically approved, or if they will be set
to pending until approved by an admin.
default: false
default_domain:
description: >-
The domain assigned to the portal by Konnect. This is
the default place to access the portal and its API if
not using a `custom_domain``.
type: string
format: hostname
readOnly: true
canonical_domain:
type: string
format: hostname
description: The canonical domain of the developer portal
nullable: false
readOnly: true
labels:
$ref: '#/components/schemas/Labels'
required:
- id
- name
- display_name
- description
- authentication_enabled
- rbac_enabled
- default_api_visibility
- default_page_visibility
- default_application_auth_strategy_id
- auto_approve_applications
- auto_approve_developers
- default_domain
- canonical_domain
- created_at
- updated_at
meta:
$ref: '#/components/schemas/PaginatedMeta'
PortalResponse:
description: Details about a portal.
content:
application/json:
schema:
x-speakeasy-entity: Portal
title: Portal
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
name:
type: string
maxLength: 255
minLength: 1
description: >-
The name of the portal, used to distinguish it from other
portals. Name must be unique.
x-speakeasy-param-computed: false
nullable: true
default: null
display_name:
type: string
maxLength: 255
minLength: 1
description: >-
The display name of the portal. This value will be the
portal's `name` in Portal API.
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
nullable: true
maxLength: 512
description: A description of the portal.
x-speakeasy-param-computed: false
default: null
authentication_enabled:
type: boolean
description: >-
Whether the portal supports developer authentication. If
disabled, developers cannot register for accounts or create
applications.
default: true
rbac_enabled:
type: boolean
description: >-
Whether the portal resources are protected by Role Based
Access Control (RBAC). If enabled, developers view or register
for APIs until unless assigned to teams with access to view
and consume specific APIs. Authentication must be enabled to
use RBAC.
default: false
default_api_visibility:
type: string
description: >-
The default visibility of APIs in the portal. If set to
`public`, newly published APIs are visible to unauthenticated
developers. If set to `private`, newly published APIs are
hidden from unauthenticated developers.
enum:
- public
- private
default_page_visibility:
type: string
description: >-
The default visibility of pages in the portal. If set to
`public`, newly created pages are visible to unauthenticated
developers. If set to `private`, newly created pages are
hidden from unauthenticated developers.
enum:
- public
- private
default_application_auth_strategy_id:
type: string
format: uuid
description: >-
The default authentication strategy for APIs published to the
portal. Newly published APIs will use this authentication
strategy unless overridden during publication. If set to
`null`, API publications will not use an authentication
strategy unless set during publication.
nullable: true
x-speakeasy-param-computed: false
default: null
auto_approve_developers:
type: boolean
description: >-
Whether developer account registrations will be automatically
approved, or if they will be set to pending until approved by
an admin.
default: false
auto_approve_applications:
type: boolean
description: >-
Whether requests from applications to register for APIs will
be automatically approved, or if they will be set to pending
until approved by an admin.
default: false
default_domain:
description: >-
The domain assigned to the portal by Konnect. This is the
default place to access the portal and its API if not using a
`custom_domain``.
type: string
format: hostname
readOnly: true
canonical_domain:
type: string
format: hostname
description: The canonical domain of the developer portal
nullable: false
readOnly: true
labels:
$ref: '#/components/schemas/Labels'
required:
- id
- name
- display_name
- description
- authentication_enabled
- rbac_enabled
- default_api_visibility
- default_page_visibility
- default_application_auth_strategy_id
- auto_approve_applications
- auto_approve_developers
- default_domain
- canonical_domain
- updated_at
- created_at
PortalAssetResponse:
description: Image asset for the portal. Can be either png, jpeg or svg
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- data
properties:
data:
$ref: '#/components/schemas/PortalImageDataUri'
PortalAssetResponseRaw:
description: Logo of the portal. Can be either png, jpeg or svg
content:
image/png:
schema:
$ref: '#/components/schemas/PortalImageAssetBlob'
image/jpeg:
schema:
$ref: '#/components/schemas/PortalImageAssetBlob'
image/svg+xml:
schema:
$ref: '#/components/schemas/PortalImageAssetBlob'
PortalCustomizationResponse:
description: The current customization options for a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalCustomization'
DefaultContentResponse:
description: Summary of created default content
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultContent'
PortalPage:
description: Details about a page in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalPageResponse'
ListPortalPages:
description: A paginated list of custom pages in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPortalPagesResponse'
PortalSnippet:
description: Details about a snippet in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalSnippetResponse'
ListPortalSnippets:
description: A paginated list of custom snippets in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPortalSnippetsResponse'
ListApplications:
description: A paginated list of applications in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListApplicationsResponse'
GetApplication:
description: Details about an application in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/GetApplicationResponse'
ListApplicationDevelopers:
description: A paginated list developers of an application.
content:
application/json:
schema:
$ref: '#/components/schemas/ListApplicationDevelopersResponse'
ListApplicationRegistrations:
description: A paginated list of application registrations.
content:
application/json:
schema:
$ref: '#/components/schemas/ListApplicationRegistrationsResponse'
GetApplicationRegistration:
description: Details about an application registration.
content:
application/json:
schema:
$ref: '#/components/schemas/GetApplicationRegistrationResponse'
UpdateApplicationRegistration:
description: Details about the application registration being updated.
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateApplicationRegistrationResponse'
PortalAuditLogWebhook:
description: Portal audit log webhook response
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
example: true
description: >-
Indicates if the data should be sent to the configured audit
log destination.
default: false
audit_log_destination_id:
type: string
format: uuid
description: ID of the audit log destination.
x-speakeasy-param-computed: false
nullable: true
default: null
PortalAuditLogWebhookStatus:
description: Get response for portal audit log webhook status
content:
application/json:
schema:
type: object
properties:
webhook_status:
type: string
example: active
enum:
- active
- inactive
description: >-
Current status of a webhook. `active` indicates the webhook is
sending or ready to send requests.
`inactive` indicates the webhook has been turned off due to
failed attempts.
webhook_enabled:
type: boolean
example: true
description: >-
Configured status of a webhook. `enabled` indicates the client
will accept requests.
`disabled` indicates the client will not accept requests.
x-speakeasy-param-computed: false
nullable: true
default: null
last_attempt_at:
type: string
format: date-time
example: '2023-03-21T09:29:14.52Z'
description: >-
The last time a request was made to the webhook, regardless of
outcome.
x-speakeasy-param-computed: false
nullable: true
default: null
last_response_code:
type: integer
example: 401
description: The last response code received from the webhook.
x-speakeasy-param-computed: false
nullable: true
default: null
last_response_message:
type: string
example: Unauthenticated
description: >-
The last message received from the webhook. Useful for
debugging.
x-speakeasy-param-computed: false
nullable: true
default: null
PortalAuditLogReplayJob:
description: Response from fetching or updating an portal audit log replay job
content:
application/json:
schema:
type: object
properties:
start_at:
type: string
format: date-time
example: '2017-07-21T17:32:28Z'
description: >-
The start of a date-time range. Initial value is
0001-01-01T00:00:0Z.
x-speakeasy-param-computed: false
nullable: true
default: null
end_at:
type: string
format: date-time
example: '2017-07-21T17:32:28Z'
description: >-
The end of a date-time range. Initial value is
0001-01-01T00:00:0Z.
x-speakeasy-param-computed: false
nullable: true
default: null
status:
type: string
enum:
- unconfigured
- accepted
- pending
- running
- completed
- failed
readOnly: true
updated_at:
type: string
description: >-
Timestamp when this job was last updated. Initial value is
0001-01-01T00:00:0Z.
format: date-time
readOnly: true
PortalReplayJobBadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
PortalWebhookBadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
PortalReplayJobConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
EmailTemplate:
description: Successful Retrieval for a portal email template.
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplate'
EmailTemplateVariables:
description: >-
Successful response of usable variables for use in portal email
templates.
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplateVariablesList'
ListDefaultEmailTemplates:
description: >-
A list of the default email templates in a portal. This is a static list
that will always be populated.
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
data:
type: array
items:
$ref: '#/components/schemas/DefaultEmailTemplate'
x-speakeasy-param-computed: false
nullable: true
default: null
ListEmailTemplates:
description: A list of customized email templates used in a portal.
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
data:
type: array
items:
$ref: '#/components/schemas/EmailTemplate'
x-speakeasy-param-computed: false
nullable: true
default: null
DefaultEmailTemplate:
description: Details about a default email template.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultEmailTemplate'
PatchEmailTemplateResponse:
description: Modifying an email template.
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplate'
PortalEmailConfigResponse:
description: Portal email config.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalEmailConfig'
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'
x-speakeasy-param-computed: false
nullable: true
default: null
page:
type: object
properties:
total:
type: integer
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
hostname:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
last_ping:
type: integer
x-speakeasy-param-computed: false
nullable: true
default: null
type:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
type: integer
updated_at:
type: integer
config_hash:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
compatibility_status:
type: object
properties:
state:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
page:
type: object
properties:
total:
type: integer
x-speakeasy-param-computed: false
nullable: true
default: null
next:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
list-nodes-eol:
description: Example response
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
node_id:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
node_version:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
message:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
page:
type: object
properties:
total:
type: integer
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
get-node:
description: Example response
content:
application/json:
schema:
type: object
properties:
item:
type: object
properties:
id:
type: string
version:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
hostname:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
last_ping:
type: integer
x-speakeasy-param-computed: false
nullable: true
default: null
type:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
type: integer
updated_at:
type: integer
config_hash:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
compatibility_status:
type: object
properties:
state:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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 = { } } } } }
x-speakeasy-param-computed: false
nullable: true
default: null
name:
type: string
description: >-
The custom plugin name determined by the custom plugin
schema.
example: myplugin
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
page:
type: object
properties:
total:
type: integer
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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 = { } } } } }
x-speakeasy-param-computed: false
nullable: true
default: null
name:
type: string
description: >-
The custom plugin name determined by the custom plugin
schema.
example: myplugin
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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'
GetPartialSchemaResponse:
description: The schema for a partial
content:
application/json:
schema:
type: object
properties:
fields:
type: array
items:
additionalProperties: true
type: object
x-speakeasy-param-computed: false
nullable: true
default: null
GetPluginSchemaResponse:
description: The schema for the plugin
content:
application/json:
schema:
type: object
properties:
fields:
type: array
items:
additionalProperties: true
type: object
x-speakeasy-param-computed: false
nullable: true
default: null
HTTP401Error:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/GatewayUnauthorizedError'
ValidateEntityResponse:
description: Validation result of the request against a schema
content:
application/json:
schema:
type: object
properties:
message:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
KonnectCPLegacyUnauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyUnauthorizedError'
KonnectCPLegacyForbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyForbiddenError'
KonnectCPLegacyNotFound:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyNotFoundError'
KonnectCPLegacyBadRequest:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyBadRequestError'
KonnectCPLegacyConflict:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyConflictError'
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.
nullable: false
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
nullable: 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.
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
example: A test control plane for exploration.
description: The description of the control plane in Konnect.
nullable: false
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.
nullable: false
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
nullable: false
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'
x-speakeasy-param-computed: false
nullable: true
default: null
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.
properties:
eq:
type: string
oeq:
type: string
type: object
additionalProperties: false
name:
description: Filters on the given string field value by exact match inequality.
properties:
eq:
type: string
contains:
type: string
neq:
type: string
type: object
additionalProperties: false
cluster_type:
description: Filters on the given string field value by exact match inequality.
properties:
eq:
type: string
neq:
type: string
type: object
additionalProperties: false
cloud_gateway:
$ref: '#/components/schemas/BooleanFieldFilter'
StringFieldEqualsFilter:
title: StringFieldEqualsFilter
description: Filters on the given string field value by exact match.
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
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
default: null
source:
type: string
example: body
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-suppress-computed-diff: 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
x-speakeasy-param-suppress-computed-diff: 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
default: name
description: The claim mapping for the user's name.
email:
type: string
example: email
default: email
description: The claim mapping for the user's email address.
groups:
type: string
default: groups
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'
enabled:
$ref: '#/components/schemas/IdentityProviderEnabled'
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: path
example: /api/v2/developer/authenticate/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 path URL where the SAML identity provider sends authentication
responses after successful login attempts.
format: path
example: /api/v2/developer/authenticate/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
x-speakeasy-param-computed: false
nullable: true
default: null
login_path:
type: string
example: myapp
x-speakeasy-param-computed: false
nullable: true
default: null
client_id:
type: string
example: YOUR_CLIENT_ID
x-speakeasy-param-computed: false
nullable: true
default: null
scopes:
type: array
default:
- email
- openid
- profile
items:
type: string
claim_mappings:
type: object
minProperties: 3
properties:
name:
type: string
example: name
default: name
email:
type: string
example: email
default: email
groups:
type: string
default: groups
example: custom-groups-claim
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
full_name:
type: string
pattern: ^[\w \W]+$
maxLength: 250
description: The User's full name.
example: Jane Doe
x-speakeasy-param-computed: false
nullable: true
default: null
preferred_name:
type: string
example: Jane
maxLength: 250
description: The User's preferred name.
x-speakeasy-param-computed: false
nullable: true
default: null
active:
type: boolean
default: true
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.
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
example: The developers for the IDM API.
maxLength: 250
description: The team description in Konnect.
x-speakeasy-param-computed: false
nullable: true
default: null
system_team:
type: boolean
default: false
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
groups:
type: array
uniqueItems: true
description: The IdP groups that are mapped to the specified team.
items:
type: string
example: API Engineers
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
entity_id:
type: string
format: uuid
example: 817d0422-45c9-4d88-8d64-45aef05c1ae7
description: A RBAC entity ID.
x-speakeasy-param-computed: false
nullable: true
default: null
entity_type_name:
type: string
example: Control Planes
description: Name of the entity type the role is being assigned to.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
description: Description of the system account.
x-speakeasy-param-computed: false
nullable: true
default: null
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).
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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 for this resource.
readOnly: true
LegacyStringFieldFilter:
description: Filters on the given string field value by fuzzy match.
properties:
eq:
type: string
contains:
type: string
type: object
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
x-speakeasy-param-computed: false
default: null
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
PrivateDnsId:
type: string
format: uuid
example: 1850820b-c69f-4a2a-b9be-bbcdbc5cd618
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
example: 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
ServerlessV1ProviderRegionId:
title: Serverless V1 Provider Region ID
description: Region ID for serverless v1 cloud provider region.
type: string
example: us
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
ServerlessV1ProviderRegion:
title: Serverless V1 Provider Region
description: Region ID and human-readable name for a cloud provider region.
type: object
additionalProperties: false
properties:
region:
$ref: '#/components/schemas/ServerlessV1ProviderRegionId'
required:
- region
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'
ServerlessV1ProviderRegions:
title: Serverless V1 Provider Regions
description: >-
List of available regions to run serverless v1 cloud gateway instances
on for a given cloud provider.
type: array
items:
$ref: '#/components/schemas/ServerlessV1ProviderRegion'
ProviderName:
title: Provider Name
description: Name of cloud provider.
type: string
enum:
- aws
- azure
example: aws
ServerlessV1ProviderName:
description: Name of cloud provider.
type: string
enum:
- aws
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
ServerlessV1Provider:
title: Serverless V1 Provider
description: >-
Description of cloud provider that runs serverless v1 cloud gateway
instances.
type: object
additionalProperties: false
properties:
provider:
$ref: '#/components/schemas/ServerlessV1ProviderName'
regions:
$ref: '#/components/schemas/ServerlessV1ProviderRegions'
required:
- provider
- regions
Providers:
title: Providers
description: List of supported cloud providers that run cloud gateway instances.
type: array
items:
$ref: '#/components/schemas/Provider'
ServerlessV1Providers:
title: Serverless V1 Providers
description: >-
List of supported cloud providers that run serverless v1 cloud gateway
instances.
type: array
items:
$ref: '#/components/schemas/ServerlessV1Provider'
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'
serverless_v1_providers:
$ref: '#/components/schemas/ServerlessV1Providers'
required:
- versions
- instance_types
- providers
- serverless_v1_providers
ConfigurationDataPlaneGroupAutoscale:
oneOf:
- $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscaleStatic'
- $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscaleAutopilot'
ConfigurationDataPlaneGroupAutoscaleStatic:
title: Configuration Autoscale Static
description: >-
Object that describes the static autoscaling strategy. Deprecated in
favor of the autopilot autoscaling strategy. Static autoscaling will be
removed in a future version.
type: object
deprecated: true
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
x-speakeasy-param-computed: true
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
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
x-speakeasy-terraform-ignore: true
properties:
reported_status:
type: string
description: >-
Reported status of the dataplane group from backing
infrastructure.
example: ERROR
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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:
x-speakeasy-terraform-ignore: true
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'
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
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
subnet_ids:
title: Subnet IDs
type: array
items:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
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.
- `pending-user-action` The attachment request is awaiting user action
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
- pending-user-action
- ready
- terminating
- terminated
readOnly: true
AwsResourceEndpointConfigState:
title: AWS Resource Endpoint Config State
type: string
description: >
The current state of the resource config in AWS Resource Endpoint.
Possible values:
- `initializing` - The config is in the process of being initialized and
is setting up necessary resources.
- `missing` - The config is missing and is no longer accepting new
traffic.
- `ready` - The config is fully operational and can route traffic as
configured.
- `error` - The config is in an error state, and is not operational.
- `terminating` - The config is in the process of being deleted and is
no longer accepting new traffic.
enum:
- initializing
- missing
- ready
- error
- terminating
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
AwsResourceEndpointAttachmentConfig:
title: AWS Resource Endpoint Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: AWS Resource Endpoint Attachment Type
enum:
- aws-resource-endpoint-attachment
ram_share_arn:
title: RAM Share ARN
description: >-
Resource Share ARN to verify request to create transit gateway
attachment.
type: string
resource_config:
$ref: '#/components/schemas/AwsResourceEndpointConfig'
required:
- kind
- ram_share_arn
AwsResourceEndpointAttachmentConfigResponse:
title: AWS Resource Endpoint Attachment Config Response
type: object
additionalProperties: false
properties:
kind:
title: AWS Resource Endpoint Attachment Type
enum:
- aws-resource-endpoint-attachment
ram_share_arn:
title: RAM Share ARN
description: >-
Resource Share ARN to verify request to create transit gateway
attachment.
type: string
resource_config:
$ref: '#/components/schemas/AwsResourceEndpointConfigResponse'
required:
- kind
- ram_share_arn
- resource_config
AwsResourceEndpointConfig:
title: AWS Resource Endpoint Config
description: |
List of unique resource config mapping for aws resource endpoint.
type: array
items:
type: object
additionalProperties: false
properties:
resource_config_id:
title: Resource Config ID
description: Resource Config ID to uniquely identify a resource configuration.
type: string
domain_name:
title: Domain Name
description: Domain Name to uniquely identify a resource configuration.
type: string
required:
- resource_config_id
- domain_name
AwsResourceEndpointConfigResponse:
title: AWS Resource Endpoint Config Response
description: |
List of unique resource config mapping for aws resource endpoint.
type: array
items:
type: object
additionalProperties: false
properties:
resource_config_id:
title: Resource Config ID
description: Resource Config ID to uniquely identify a resource configuration.
type: string
domain_name:
title: Domain Name
description: Domain Name to uniquely identify a resource configuration.
type: string
state:
$ref: '#/components/schemas/AwsResourceEndpointConfigState'
required:
- resource_config_id
- domain_name
- state
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
GCPVPCPeeringAttachmentConfig:
title: GCP VPC Peering Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: GCP VPC Peering Attachment Type
enum:
- gcp-vpc-peering-attachment
peer_project_id:
title: GCP Project ID
description: GCP Project ID of the peer account to create attachment to.
type: string
peer_vpc_name:
title: GCP VPC Name
description: GCP VPC Name of the peer account to create attachment to.
type: string
required:
- kind
- peer_project_id
- peer_vpc_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
PrivateDnsResponse:
oneOf:
- $ref: '#/components/schemas/AwsPrivateHostedZoneResponse'
- $ref: '#/components/schemas/AwsPrivateDnsResolverResponse'
- $ref: '#/components/schemas/GcpPrivateHostedZoneResponse'
- $ref: '#/components/schemas/AzurePrivateHostedZoneResponse'
AwsPrivateHostedZoneResponse:
type: object
properties:
id:
$ref: '#/components/schemas/PrivateDnsId'
state:
$ref: '#/components/schemas/PrivateDnsState'
state_metadata:
title: PrivateDnsStateMetadata
type: object
description: >
Metadata describing the backing state of the Private Dns and why it
may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: Reported status of the Private Dns from backing infrastructure.
example: ERROR
x-speakeasy-param-computed: false
nullable: true
default: null
reason:
type: string
description: >
Reason why the Private Dns may be in an erroneous state,
reported from backing infrastructure.
example: >
Failed to create Private Dns due to invalid Cloud Provider
configuration.
x-speakeasy-param-computed: false
nullable: true
default: null
entity_version:
type: integer
description: >
Monotonically-increasing version count of the Private DNS, to
indicate the order of updates to the
Private DNS.
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 Private DNS 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 Private DNS update date.
readOnly: true
name:
$ref: '#/components/schemas/PrivateDnsName'
private_dns_attachment_config:
$ref: '#/components/schemas/AwsPrivateHostedZoneAttachmentConfig'
required:
- id
- state
- state_metadata
- entity_version
- created_at
- updated_at
- name
- private_dns_attachment_config
AwsPrivateHostedZoneAttachmentConfig:
title: AWS Private Hosted Zone Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: AWS Private Hosted Zone Type
enum:
- aws-private-hosted-zone-attachment
hosted_zone_id:
title: Hosted Zone Id
description: AWS Hosted Zone to create attachment to.
type: string
required:
- kind
- hosted_zone_id
GcpPrivateHostedZoneAttachmentConfig:
title: GCP Private Hosted Zone Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: GCP Private Hosted Zone Type
enum:
- gcp-private-hosted-zone-attachment
domain_name:
title: Domain Name
description: Domain name to create attachment to.
type: string
peer_project_id:
title: Peer Project Id
description: Customer's GCP Project ID.
type: string
peer_vpc_name:
title: Peer VPC Name
description: Customer's GCP VPC ID.
type: string
required:
- kind
- domain_name
- peer_project_id
- peer_vpc_name
GcpPrivateHostedZoneResponse:
type: object
properties:
id:
$ref: '#/components/schemas/PrivateDnsId'
state:
$ref: '#/components/schemas/PrivateDnsState'
state_metadata:
title: PrivateDnsStateMetadata
type: object
description: >
Metadata describing the backing state of the Private Dns and why it
may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: Reported status of the Private Dns from backing infrastructure.
example: ERROR
x-speakeasy-param-computed: false
nullable: true
default: null
reason:
type: string
description: >
Reason why the Private Dns may be in an erroneous state,
reported from backing infrastructure.
example: >
Failed to create Private Dns due to invalid Cloud Provider
configuration.
x-speakeasy-param-computed: false
nullable: true
default: null
entity_version:
type: integer
description: >
Monotonically-increasing version count of the Private DNS, to
indicate the order of updates to the
Private DNS.
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 Private DNS 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 Private DNS update date.
readOnly: true
name:
$ref: '#/components/schemas/PrivateDnsName'
private_dns_attachment_config:
$ref: '#/components/schemas/GcpPrivateHostedZoneAttachmentConfig'
required:
- id
- state
- state_metadata
- entity_version
- created_at
- updated_at
- name
- private_dns_attachment_config
AzurePrivateHostedZoneResponse:
type: object
properties:
id:
$ref: '#/components/schemas/PrivateDnsId'
state:
$ref: '#/components/schemas/PrivateDnsState'
state_metadata:
title: PrivateDnsStateMetadata
type: object
description: >
Metadata describing the backing state of the Private Dns and why it
may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: Reported status of the Private Dns from backing infrastructure.
example: ERROR
x-speakeasy-param-computed: false
nullable: true
default: null
reason:
type: string
description: >
Reason why the Private Dns may be in an erroneous state,
reported from backing infrastructure.
example: >
Failed to create Private Dns due to invalid Cloud Provider
configuration.
x-speakeasy-param-computed: false
nullable: true
default: null
entity_version:
type: integer
description: >
Monotonically-increasing version count of the Private DNS, to
indicate the order of updates to the
Private DNS.
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 Private DNS 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 Private DNS update date.
readOnly: true
name:
$ref: '#/components/schemas/PrivateDnsName'
required:
- id
- state
- state_metadata
- entity_version
- created_at
- updated_at
- name
- private_dns_attachment_config
AwsPrivateDnsResolverResponse:
type: object
properties:
id:
$ref: '#/components/schemas/PrivateDnsId'
state:
$ref: '#/components/schemas/PrivateDnsState'
state_metadata:
title: PrivateDnsStateMetadata
type: object
description: >
Metadata describing the backing state of the Private Dns and why it
may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: Reported status of the Private Dns from backing infrastructure.
example: ERROR
x-speakeasy-param-computed: false
nullable: true
default: null
reason:
type: string
description: >
Reason why the Private Dns may be in an erroneous state,
reported from backing infrastructure.
example: >
Failed to create Private Dns due to invalid Cloud Provider
configuration.
x-speakeasy-param-computed: false
nullable: true
default: null
entity_version:
type: integer
description: >
Monotonically-increasing version count of the Private DNS, to
indicate the order of updates to the
Private DNS.
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 Private DNS 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 Private DNS update date.
readOnly: true
name:
$ref: '#/components/schemas/PrivateDnsName'
private_dns_attachment_config:
$ref: '#/components/schemas/AwsPrivateDnsResolverAttachmentConfig'
required:
- id
- state
- state_metadata
- entity_version
- created_at
- updated_at
- name
- private_dns_attachment_config
AwsPrivateDnsResolverAttachmentConfig:
title: AWS Private DNS Resolver Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: AWS Private DNS Resolver Type
enum:
- aws-outbound-resolver
dns_config:
$ref: '#/components/schemas/PrivateDnsResolverConfig'
required:
- kind
- dns_config
PrivateDnsResolverConfig:
title: Private DNS Resolver Config Item
description: >
Object that contains mappings from proxied internal domains to remote
DNS server IP address for a Private DNS Resolver.
type: object
example:
global.api.konghq.com:
remote_dns_server_ip_addresses:
- 10.0.0.2
us.api.konghq.dev:
remote_dns_server_ip_addresses:
- 10.0.0.8
additionalProperties:
type: object
properties:
remote_dns_server_ip_addresses:
description: >-
IP addresses of remote DNS servers used by the Private DNS
Resolver for DNS resolution.
type: array
items:
type: string
example:
- 10.0.0.2
required:
- remote_dns_server_ip_addresses
PrivateDnsName:
title: Private DNS Name
type: string
description: Human-readable name of the Private DNS.
example: us-east-2 private dns
PrivateDnsState:
title: Private DNS State
type: string
description: >
The current state of the Private DNS attachment. Possible values:
- `created` - The attachment has been created but is not attached to
Private DNS.
- `initializing` - The attachment is in the process of being initialized
and is setting up necessary resources.
- `pending-association` The attachment request is awaiting association
to the cloud provider infrastructure in order for provisioning to
proceed.
- `ready` - The attachment is fully operational and can route traffic as
configured.
- `error` - The attachment is in an error state, and is not operational.
- `terminating` - The attachment is in the process of being deleted.
- `terminated` - The attachment has been fully deleted and is no longer
available.
enum:
- created
- initializing
- pending-association
- ready
- error
- terminating
- terminated
PatchAwsPrivateDnsResolver:
description: Request schema for updating a Private DNS AWS Resolver.
properties:
name:
$ref: '#/components/schemas/PrivateDnsName'
private_dns_attachment_config:
$ref: '#/components/schemas/AwsPrivateDnsResolverAttachmentConfig'
CreatePrivateDnsRequest:
title: CreatePrivateDnsRequest
description: Request schema for creating a Private DNS.
type: object
properties:
name:
$ref: '#/components/schemas/PrivateDnsName'
private_dns_attachment_config:
oneOf:
- $ref: '#/components/schemas/AwsPrivateHostedZoneAttachmentConfig'
- $ref: '#/components/schemas/AwsPrivateDnsResolverAttachmentConfig'
- $ref: '#/components/schemas/GcpPrivateHostedZoneAttachmentConfig'
PatchPrivateDnsRequest:
title: PatchPrivateDnsRequest
description: Request schema for updating a Private DNS.
type: object
oneOf:
- $ref: '#/components/schemas/PatchAwsPrivateDnsResolver'
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
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
AwsResourceEndpointGatewayResponse:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AwsResourceEndpointAttachmentConfigResponse'
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
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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: AWS Resource Endpoint 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
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
GCPVPCPeeringGatewayResponse:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
transit_gateway_attachment_config:
$ref: '#/components/schemas/GCPVPCPeeringAttachmentConfig'
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
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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: GCP VPC Peering Transit Gateway
TransitGatewayResponse:
oneOf:
- $ref: '#/components/schemas/AwsTransitGatewayResponse'
- $ref: '#/components/schemas/AwsVpcPeeringGatewayResponse'
- $ref: '#/components/schemas/AzureTransitGatewayResponse'
- $ref: '#/components/schemas/GCPVPCPeeringGatewayResponse'
- $ref: '#/components/schemas/AwsResourceEndpointGatewayResponse'
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
CreateAwsResourceEndpointGateway:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AwsResourceEndpointAttachmentConfig'
required:
- name
- transit_gateway_attachment_config
title: AWS Resource Endpoint Gateway
x-speakeasy-name-override: AWSResourceEndpointGateway
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
CreateGCPVPCPeeringTransitGateway:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
transit_gateway_attachment_config:
$ref: '#/components/schemas/GCPVPCPeeringAttachmentConfig'
required:
- name
- transit_gateway_attachment_config
title: GCP VPC Peering Transit Gateway
x-speakeasy-name-override: GcpVpcPeeringTransitGateway
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/CreateAwsResourceEndpointGateway'
- $ref: '#/components/schemas/CreateAzureTransitGateway'
- $ref: '#/components/schemas/CreateGCPVPCPeeringTransitGateway'
PatchAwsResourceEndpointGateway:
description: Request schema for updating AWS Resource Endpoint.
properties:
transit_gateway_attachment_config:
type: object
additionalProperties: false
properties:
kind:
title: AWS Resource Endpoint Attachment Type
enum:
- aws-resource-endpoint-attachment
resource_config:
$ref: '#/components/schemas/AwsResourceEndpointConfig'
required:
- kind
- resource_config
required:
- transit_gateway_attachment_config
PatchTransitGatewayRequest:
title: PatchTransitGatewayRequest
description: Request schema for updating a transit gateway.
type: object
oneOf:
- $ref: '#/components/schemas/PatchAwsResourceEndpointGateway'
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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.'
x-speakeasy-param-computed: false
nullable: true
default: null
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'
PrivateDnsFilterParameters:
title: PrivateDnsFilterParameters
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride'
state:
$ref: '#/components/schemas/PrivateDnsStateFieldFilter'
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
PrivateDnsStateFieldFilter:
title: PrivateDnsStateFieldFilter
oneOf:
- $ref: '#/components/schemas/PrivateDnsStateFieldEqualsFilter'
- $ref: '#/components/schemas/PrivateDnsStateFieldNotEqualsFilter'
- $ref: '#/components/schemas/PrivateDnsStateFieldOrEqualityFilter'
PrivateDnsStateFieldEqualsFilter:
title: PrivateDnsStateFieldEqualsFilter
description: Filter Private DNS state by exact match.
oneOf:
- $ref: '#/components/schemas/PrivateDnsState'
- type: object
title: PrivateDnsStateFieldEqualsComparison
properties:
eq:
$ref: '#/components/schemas/PrivateDnsState'
required:
- eq
PrivateDnsStateFieldNotEqualsFilter:
title: PrivateDnsStateFieldNotEqualsFilter
description: Filter private-dns state by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/PrivateDnsState'
required:
- neq
PrivateDnsStateFieldOrEqualityFilter:
title: PrivateDnsStateFieldOrEqualityFilter
description: >
Filter Private DNS 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.
properties:
eq:
type: string
neq:
type: string
oeq:
type: string
type: object
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/LegacyStringFieldFilter'
description:
$ref: '#/components/schemas/LegacyStringFieldFilter'
namespace:
$ref: '#/components/schemas/LegacyStringFieldFilter'
region:
$ref: '#/components/schemas/LegacyStringFieldFilter'
status:
$ref: '#/components/schemas/LegacyStringFieldFilter'
ConfigurationFilterParameters:
title: ConfigurationFilterParameters
type: object
additionalProperties: false
properties:
event_title:
$ref: '#/components/schemas/LegacyStringFieldFilter'
event_description:
$ref: '#/components/schemas/LegacyStringFieldFilter'
event_namespace:
$ref: '#/components/schemas/LegacyStringFieldFilter'
region:
$ref: '#/components/schemas/LegacyStringFieldFilter'
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: 0
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
x-speakeasy-param-computed: false
nullable: true
default: null
last:
description: URI to the last page
type: string
format: path
x-speakeasy-param-computed: false
nullable: true
default: null
next:
description: URI to the next page
type: string
format: path
nullable: true
x-speakeasy-param-computed: false
default: null
previous:
description: URI to the previous page
type: string
format: path
nullable: true
x-speakeasy-param-computed: false
default: null
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.
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
credential_claim:
type: array
maxItems: 10
items:
type: string
maxLength: 128
x-speakeasy-param-computed: false
nullable: true
default: null
scopes:
type: array
maxItems: 50
items:
type: string
maxLength: 128
x-speakeasy-param-computed: false
nullable: true
default: null
auth_methods:
type: array
maxItems: 10
items:
type: string
maxLength: 64
x-speakeasy-param-computed: false
nullable: true
default: null
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
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 entity 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'
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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 entity 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'
x-speakeasy-param-computed: false
default: null
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
mapping:
key_auth: '#/components/schemas/AppAuthStrategyKeyAuthRequest'
openid_connect: '#/components/schemas/AppAuthStrategyOpenIDConnectRequest'
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
mapping:
key_auth: '#/components/schemas/AppAuthStrategyKeyAuthResponse'
openid_connect: '#/components/schemas/AppAuthStrategyOpenIDConnectResponse'
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
x-speakeasy-param-computed: false
default: null
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:
- $ref: '#/components/schemas/UpdateAppAuthStrategyRequestOpenIdConnect'
- $ref: '#/components/schemas/UpdateAppAuthStrategyRequestKeyAuth'
UpdateAppAuthStrategyRequestOpenIdConnect:
type: object
additionalProperties: false
required:
- openid-connect
properties:
openid-connect:
$ref: '#/components/schemas/PartialAppAuthStrategyConfigOpenIDConnect'
UpdateAppAuthStrategyRequestKeyAuth:
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
StringFieldFilter:
description: Filters on the given string field value by exact match inequality.
properties:
eq:
type: string
contains:
type: string
ocontains:
type: string
oeq:
type: string
neq:
type: string
type: object
additionalProperties: false
UuidFieldFilter:
description: Filters on the given string field value by exact match inequality.
properties:
eq:
type: string
oeq:
type: string
neq:
type: string
type: object
additionalProperties: false
ApiResponseSchema:
title: API
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 9f5061ce-78f6-4452-9108-ad7c02821fd5
description: The API identifier.
readOnly: true
name:
type: string
maxLength: 255
minLength: 1
description: >
The name of your API. The `name + version` combination must be
unique for each API you publish.
example: MyAPI
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
description: A description of your API. Will be visible on your live Portal.
nullable: true
x-speakeasy-param-computed: false
default: null
version:
type: string
maxLength: 255
minLength: 1
description: >-
An optional version for your API. Leave this empty if your API is
unversioned.
nullable: true
x-speakeasy-param-computed: true
current_version_summary:
$ref: '#/components/schemas/ApiVersionSummary'
slug:
type: string
pattern: ^[\w-]+$
description: >
The `slug` is used in generated URLs to provide human readable
paths.
Defaults to `slugify(name + version)`
example: my-api-v1
nullable: true
x-speakeasy-param-computed: true
api_spec_ids:
readOnly: true
type: array
description: The list of API specification ids for the API.
deprecated: true
items:
type: string
format: uuid
description: The id of the API specification.
example: 123e4567-e89b-12d3-a456-426614174000
portals:
readOnly: true
type: array
nullable: false
uniqueItems: true
description: The list of portals which this API is published to.
items:
type: object
additionalProperties: false
required:
- id
- name
- display_name
properties:
id:
type: string
format: uuid
example: 25a2624c-49fc-4764-99e1-224ed819f200
description: The portal identifier.
name:
type: string
example: My Portal
description: >-
The name of the portal, used to distinguish it from other
portals.
display_name:
type: string
example: My Portal
description: >-
The display name of the portal. This value will be the
portal's `name` in Portal API.
labels:
$ref: '#/components/schemas/Labels'
attributes:
$ref: '#/components/schemas/ApiAttributes'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- id
- name
- version
- labels
- created_at
- updated_at
- slug
- portals
- api_spec_ids
- current_version_summary
ApiComputedSchema:
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 9f5061ce-78f6-4452-9108-ad7c02821fd5
description: The API identifier.
api_spec_validation_messages_count:
type: integer
example: 1
description: >-
The number of validation messages for the API specification attached
to the API. If there are no validation messages, the value will be
0, or if there are no API specifications, the value will be 0.
x-speakeasy-param-computed: false
nullable: true
default: null
AuthStrategyApiSyncError:
type: object
additionalProperties: false
nullable: true
required:
- message
properties:
control_plane_error:
type: string
enum:
- control_plane_error_no_response
- control_plane_error_invalid_response
- control_plane_error_unavailable
- control_plane_error_internal_error
- control_plane_error_bad_request
- control_plane_error_plugin_conflict
- control_plane_error_data_constraint_error
- control_plane_error_implementation_not_found
message:
type: string
info:
type: object
additionalProperties: true
properties:
details:
type: array
items:
type: object
additionalProperties: true
properties:
type:
type: string
message:
type: array
items:
type: string
example:
control_plane_error: control_plane_error_unavailable
message: Unable to connect to the control plane to update plugin
ApiDocumentId:
title: API Document ID
type: string
format: uuid
example: de5c9818-be5c-42e6-b514-e3d4bc30ddeb
description: The API document identifier.
readOnly: true
ApiDocumentContent:
title: API Document Content
type: string
description: Raw markdown content to display in your Portal
ApiDocumentTitle:
title: API Document Title
type: string
description: >-
The title of the document. Used to populate the `` tag for the
page
example: API Document
ApiDocumentStatus:
type: string
enum:
- published
- unpublished
description: If `status=published` the document will be visible in your live portal
default: unpublished
ApiDocumentParentDocumentId:
title: API Document Parent Document ID
type: string
format: uuid
nullable: true
description: >
API Documents may be rendered as a tree of files.
Specify the `id` of another API Document as the `parent_document_id` to
add some heirarchy do your documents.
example: null
x-speakeasy-param-computed: false
default: null
ApiDocumentSlug:
title: API Document Slug
type: string
pattern: ^[\w-]+$
description: |
The `slug` is used in generated URLs to provide human readable paths.
Defaults to `slugify(title)`
example: api-document
ApiDocumentSummaryWithChildren:
title: API Document Summary
type: object
additionalProperties: false
required:
- id
- title
- slug
- status
- parent_document_id
- created_at
- updated_at
- children
properties:
id:
$ref: '#/components/schemas/ApiDocumentId'
title:
$ref: '#/components/schemas/ApiDocumentTitle'
slug:
$ref: '#/components/schemas/ApiDocumentSlug'
status:
$ref: '#/components/schemas/ApiDocumentStatus'
parent_document_id:
$ref: '#/components/schemas/ApiDocumentParentDocumentId'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
children:
type: array
items:
$ref: '#/components/schemas/ApiDocumentSummaryWithChildren'
ApiDocument:
type: object
title: API Document
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/ApiDocumentId'
content:
$ref: '#/components/schemas/ApiDocumentContent'
title:
$ref: '#/components/schemas/ApiDocumentTitle'
slug:
$ref: '#/components/schemas/ApiDocumentSlug'
status:
$ref: '#/components/schemas/ApiDocumentStatus'
parent_document_id:
$ref: '#/components/schemas/ApiDocumentParentDocumentId'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
MoveDocumentRequestPayload:
type: object
title: Move document
description: move document request payload
properties:
parent_document_id:
type: string
format: uuid
description: parent document id
example: dd4e1b98-3629-4dd3-acc0-759a726ffee2
x-speakeasy-param-computed: false
nullable: true
default: null
index:
type: integer
description: index of the document in the parent document's children
example: 1
x-speakeasy-param-computed: false
nullable: true
default: null
ApiVersion:
title: API Version
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The API version identifier.
readOnly: true
version:
type: string
description: The version of the api.
example: 1.0.0
x-speakeasy-param-computed: false
nullable: true
default: null
spec:
type: object
additionalProperties: false
properties:
content:
type: string
description: >
The raw content of your API spec, in json or yaml format
(OpenAPI or AsyncAPI).
example: >-
{"openapi":"3.0.3","info":{"title":"Example
API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example
endpoint","responses":{"200":{"description":"Successful
response"}}}}}}
x-speakeasy-param-computed: false
nullable: true
default: null
type:
title: API Spec Type
type: string
example: oas3
description: >
The type of specification being stored. This allows us to render
the specification correctly.
enum:
- oas2
- oas3
- asyncapi
readOnly: true
validation_messages:
type: array
description: The errors that occurred while parsing the API version spec.
readOnly: true
items:
type: object
additionalProperties: false
required:
- message
properties:
message:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
ApiVersionSummary:
title: API Version Summary
type: object
additionalProperties: false
readOnly: true
x-speakeasy-terraform-ignore: true
nullable: true
properties:
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The API version identifier.
readOnly: true
version:
type: string
description: The version of this api spec.
x-speakeasy-param-computed: false
nullable: true
default: null
spec:
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/ApiSpecType'
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
ApiSpec:
title: API Specification
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The API specification identifier.
readOnly: true
content:
type: string
description: >
The raw content of your API specification, in json or yaml format
(OpenAPI or AsyncAPI).
example: >-
{"openapi":"3.0.3","info":{"title":"Example
API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example
endpoint","responses":{"200":{"description":"Successful
response"}}}}}}
x-speakeasy-param-computed: false
nullable: true
default: null
validation_messages:
type: array
description: The errors that occurred while parsing the API specification.
readOnly: true
items:
type: object
additionalProperties: false
required:
- message
properties:
message:
type: string
type:
title: API Spec Type
type: string
example: oas3
description: >
The type of specification being stored. This allows us to render the
specification correctly.
enum:
- oas2
- oas3
- asyncapi
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
ValidateApiSpecRequestPayload:
title: API Specification Validation Request Payload
type: object
additionalProperties: false
required:
- content
properties:
content:
type: string
description: >
The raw content of your API specification (OpenAPI or AsyncAPI), in
json or yaml, to be validated.
ValidateApiSpecSuccessResponse:
title: API Specification Validation Success Response
type: object
additionalProperties: false
required:
- validation_messages
properties:
validation_messages:
type: array
description: >-
Any informational messages or warnings generated during validation.
Empty if none.
items:
type: object
additionalProperties: false
required:
- message
properties:
message:
type: string
ApiPublicationVisibility:
title: API Publication Visibility
type: string
enum:
- public
- private
default: private
description: >
The visibility of the API in the portal.
Public API publications do not require authentication to view and
retrieve information about them.
Private API publications require authentication to retrieve information
about them.
ApiPublicationAuthStrategyIds:
title: API Publication Auth Strategy IDs
type: array
nullable: true
description: >
The auth strategy the API enforces for applications in the portal.
Omitting this property means the portal's default application auth
strategy will be used.
Setting to null means the API will not require application
authentication.
DCR support for application registration is currently in development.
maxItems: 1
minItems: 1
items:
type: string
format: uuid
x-speakeasy-param-computed: false
default: null
ApiPublicationListItem:
title: API Publication List Item
type: object
description: An API publication in a portal
additionalProperties: false
required:
- api_id
- portal_id
- visibility
- created_at
- updated_at
- auth_strategy_ids
- auto_approve_registrations
properties:
api_id:
type: string
format: uuid
example: 9f5061ce-78f6-4452-9108-ad7c02821fd5
description: The API identifier.
readOnly: true
portal_id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The portal identifier.
readOnly: true
auto_approve_registrations:
$ref: '#/components/schemas/AutoApproveRegistrations'
visibility:
$ref: '#/components/schemas/ApiPublicationVisibility'
auth_strategy_ids:
$ref: '#/components/schemas/ApiPublicationAuthStrategyIds'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
AutoApproveRegistrations:
title: Auto Approve Registrations
description: >-
Whether the application registration auto approval on this portal for
the api is enabled. If set to false, fallbacks on portal's
auto_approve_applications value.
type: boolean
ApiPublication:
title: API Publication
type: object
description: An API publication in a portal
additionalProperties: false
properties:
auto_approve_registrations:
$ref: '#/components/schemas/AutoApproveRegistrations'
auth_strategy_ids:
$ref: '#/components/schemas/ApiPublicationAuthStrategyIds'
visibility:
$ref: '#/components/schemas/ApiPublicationVisibility'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
ApiImplementationService:
title: API Implementation Service
type: object
description: A Gateway service that implements an API
additionalProperties: false
required:
- control_plane_id
- id
properties:
control_plane_id:
type: string
format: uuid
example: 9f5061ce-78f6-4452-9108-ad7c02821fd5
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
auth_strategy_sync_error:
x-speakeasy-ignore: true
readOnly: true
allOf:
- $ref: '#/components/schemas/AuthStrategyApiSyncError'
ApiImplementationListItem:
title: API Implementation List Item
description: An entity that implements an API
type: object
oneOf:
- $ref: '#/components/schemas/ApiImplementationListItemGatewayServiceEntity'
ApiImplementationListItemGatewayServiceEntity:
title: ApiImplementationListItemGatewayServiceEntity
type: object
description: An API Implementation list item for gateway services
additionalProperties: false
required:
- id
- api_id
- created_at
- updated_at
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
api_id:
type: string
format: uuid
example: 9f5061ce-78f6-4452-9108-ad7c02821fd5
description: The API identifier.
readOnly: true
service:
$ref: '#/components/schemas/ApiImplementationService'
ApiImplementation:
title: API Implementation
description: An entity that implements an API
type: object
oneOf:
- $ref: '#/components/schemas/ApiImplementationGatewayServiceEntity'
ApiImplementationGatewayServiceEntity:
title: ApiImplementationGatewayServiceEntity
x-speakeasy-name-override: Service Reference
type: object
additionalProperties: false
description: A gateway service that implements an API
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
service:
$ref: '#/components/schemas/ApiImplementationService'
ApiAttributeListItem:
title: API Attribute List Item
type: object
description: Entities that describe APIs
readOnly: true
additionalProperties: false
required:
- id
- key
- values
- created_at
- updated_at
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
key:
type: string
format: ^[a-z0-9-_]{0,128}$
maxLength: 128
description: >-
A unique key that can contain lowercase letters, numbers, hyphens,
and underscores
example: kind
values:
type: array
items:
type: object
required:
- value
- api_count
properties:
value:
type: string
minLength: 1
maxLength: 512
pattern: ^[^,<>]*$
example: REST
description: A keyword describing the API under the attribute key
api_count:
type: integer
ApiAttributes:
x-speakeasy-type-override: any
title: API Attributes
description: A set of attributes that describe the API
type: object
nullable: false
default: {}
example:
env:
- production
domains:
- web
- mobile
additionalProperties:
nullable: true
description: >-
Set of attributes with unique keys. Each key can include lowercase
letters, numbers, hyphens, and underscores.
type: array
minItems: 1
maxItems: 20
items:
type: string
minLength: 1
maxLength: 512
pattern: ^[^,<>]*$
ApiFilterParameters:
title: API Filter Parameters
type: object
properties:
id:
$ref: '#/components/schemas/UuidFieldFilter'
name:
$ref: '#/components/schemas/StringFieldFilter'
version:
$ref: '#/components/schemas/StringFieldFilter'
labels:
$ref: '#/components/schemas/LabelsFieldFilter'
attributes:
$ref: '#/components/schemas/AttributesFieldFilter'
created_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
updated_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
ApiDocumentFilterParameters:
title: API Document Filter Parameters
type: object
properties:
status:
$ref: '#/components/schemas/StringFieldFilter'
ApiSpecFilterParameters:
title: API Spec Filter Parameters
type: object
properties:
type:
$ref: '#/components/schemas/StringFieldFilter'
ApiVersionFilterParameters:
title: API Spec Filter Parameters
type: object
properties:
type:
$ref: '#/components/schemas/StringFieldFilter'
version:
$ref: '#/components/schemas/StringFieldFilter'
ApiPublicationFilterParameters:
title: API Publication Filter Parameters
type: object
properties:
portal_id:
$ref: '#/components/schemas/UuidFieldFilter'
portal_name:
$ref: '#/components/schemas/StringFieldFilter'
api_id:
$ref: '#/components/schemas/UuidFieldFilter'
api_name:
$ref: '#/components/schemas/StringFieldFilter'
auth_strategy_id:
$ref: '#/components/schemas/UuidFieldFilter'
ApiImplementationFilterParameters:
title: API Implementation Filter Parameters
type: object
properties:
id:
$ref: '#/components/schemas/UuidFieldFilter'
api_id:
$ref: '#/components/schemas/UuidFieldFilter'
service_id:
$ref: '#/components/schemas/UuidFieldFilter'
control_plane_id:
$ref: '#/components/schemas/UuidFieldFilter'
created_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
updated_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
ApiAttributeFilterParameters:
title: API Attribute Filter Parameters
type: object
properties:
id:
$ref: '#/components/schemas/UuidFieldFilter'
key:
$ref: '#/components/schemas/UuidFieldFilter'
created_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
updated_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
LabelsFieldFilter:
allOf:
- title: LabelsFieldFilter
description: >
Filters on the resource's `labels` field. Filters must use
dot-notation to identify
the label key that will be used to filter the results. For example:
- `filter[labels.owner]`
- `filter[labels.owner][neq]=kong`
- `filter[labels.env]=dev`
- `filter[labels.env][ocontains]=dev,test`
- $ref: '#/components/schemas/StringFieldFilter'
AttributesFieldFilter:
allOf:
- title: AttributesFieldFilter
description: >
Filters on the resource's `attributes` field. Filters must use
dot-notation to identify
the attribute key that will be used to filter the results. For
example:
- `filter[attributes.owner]`
- `filter[attributes.owner][neq]=kong`
- `filter[attributes.env]=dev`
- `filter[attributes.env][ocontains]=dev,test`
- $ref: '#/components/schemas/StringFieldFilter'
DateTimeFieldFilter:
title: DateTimeFieldFilter
description: Filters on the given datetime (RFC-3339) field value.
oneOf:
- type: object
title: DateTimeFieldEqualsFilter
additionalProperties: false
properties:
eq:
type: string
format: date-time
description: Value strictly equals given RFC-3339 formatted timestamp in UTC
example: '2022-03-30T07:20:50Z'
required:
- eq
- type: object
title: DateTimeFieldLTFilter
additionalProperties: false
properties:
lt:
type: string
format: date-time
description: Value is less than the given RFC-3339 formatted timestamp in UTC
example: '2022-03-30T07:20:50Z'
required:
- lt
- type: object
title: DateTimeFieldLTEFilter
additionalProperties: false
properties:
lte:
type: string
format: date-time
description: >-
Value is less than or equal to the given RFC-3339 formatted
timestamp in UTC
example: '2022-03-30T07:20:50Z'
required:
- lte
- type: object
title: DateTimeFieldGTFilter
additionalProperties: false
properties:
lt:
type: string
format: date-time
description: >-
Value is greater than the given RFC-3339 formatted timestamp in
UTC
example: '2022-03-30T07:20:50Z'
x-speakeasy-param-computed: false
nullable: true
default: null
required:
- gt
- type: object
title: DateTimeFieldGTEFilter
additionalProperties: false
properties:
lte:
type: string
format: date-time
description: >-
Value is greater than or equal to the given RFC-3339 formatted
timestamp in UTC
example: '2022-03-30T07:20:50Z'
x-speakeasy-param-computed: false
nullable: true
default: null
required:
- gte
ApiSpecType:
title: API Spec Type
type: string
example: oas3
description: >
The type of specification being stored. This allows us to render the
specification correctly.
enum:
- oas2
- oas3
- asyncapi
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
EntityType:
title: Entity Type
type: string
enum:
- api
- api_package
description: >-
The type of entity that is being published. Can be either an API or an
API Package.
example: api
PortalImageDataUri:
title: PortalImageDataUri
type: string
format: uri
pattern: >-
^data:image/(png|jpeg|svg\+xml|x-icon|ico|icon|vnd.microsoft.icon|gif)(;base64)?,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
description: >-
must be a data URL with base64 image data, e.g.,
data:image/jpeg;base64,
x-validation-message: >-
must be a data URL with base64 image data, e.g.,
data:image/jpeg;base64,
example: data:image/png;base64,YW5faW1hZ2VfZmlsZQ==
PortalImageAssetBlob:
title: PortalImageAsset
type: string
format: binary
description: Raw binary image data
ReplacePortalImageAsset:
title: ReplacePortalImageAsset
description: >-
The image data to upload. Images must be a data URL with binary image
data in base 64 format. See
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs.
type: object
additionalProperties: false
nullable: true
required:
- data
properties:
data:
$ref: '#/components/schemas/PortalImageDataUri'
example:
data: data:image/jpeg;base64,bmljZV9sb29raW5nX3BpY3R1cmU=
x-speakeasy-param-computed: false
default: null
UpdateDeveloperRequest:
title: UpdateDeveloperRequest
additionalProperties: false
type: object
properties:
status:
$ref: '#/components/schemas/DeveloperStatus'
example:
status: approved
PortalDeveloper:
title: PortalDeveloper
additionalProperties: false
type: object
required:
- id
- created_at
- updated_at
- email
- full_name
- status
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
email:
type: string
format: email
maxLength: 255
full_name:
type: string
maxLength: 255
status:
$ref: '#/components/schemas/DeveloperStatus'
example:
id: 7cd9feff-b4da-4a9f-ba49-cbe83c75ff22
email: developer@example.com
full_name: Jane Dev
status: approved
created_at: '2022-11-15T20:37:41.457Z'
updated_at: '2022-11-15T20:37:47.456Z'
BasicDeveloper:
title: BasicDeveloper
type: object
description: Basic information about a developer.
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
readOnly: true
email:
type: string
format: email
example: developer@email.com
maxLength: 250
x-speakeasy-param-computed: false
nullable: true
default: null
full_name:
type: string
pattern: ^[\w \W]+$
example: API Developer
maxLength: 250
x-speakeasy-param-computed: false
nullable: true
default: null
active:
type: boolean
example: true
readOnly: true
created_at:
type: string
format: date-time
example: '2022-02-07T17:46:57.52Z'
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-10-08T17:00:00.52Z'
readOnly: true
example:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
email: user@email.com
full_name: API Developer
active: true
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-10-08T17:00:00.52Z'
ListDevelopersResponse:
additionalProperties: false
type: object
required:
- data
- meta
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/PortalDeveloper'
example:
meta:
page:
number: 1
size: 10
total: 4
data:
- id: 8cd9feff-b4da-4a9f-ba49-cbe83c75ff22
email: jane.developer@example.com
full_name: Jane Dev
status: approved
created_at: '2022-11-15T20:37:41.457Z'
updated_at: '2022-11-15T20:37:47.456Z'
- id: 4cd9feff-b4da-4a9f-ba49-cbe83c75ff22
email: john.developer@example.com
full_name: John Dev
status: revoked
created_at: '2022-11-15T20:37:41.457Z'
updated_at: '2022-11-15T20:37:47.456Z'
- id: 6cd9feff-b4da-4a9f-ba49-cbe83c75ff22
email: john.developer@example.com
full_name: Jim Dev
status: pending
created_at: '2022-11-15T20:37:41.457Z'
updated_at: '2022-11-15T20:37:47.456Z'
- id: 7cd9feff-b4da-4a9f-ba49-cbe83c75ff22
email: john.developer@example.com
full_name: Jan Dev
status: rejected
created_at: '2022-11-15T20:37:41.457Z'
updated_at: '2022-11-15T20:37:47.456Z'
DeveloperStatus:
title: DeveloperStatus
description: >-
The status of a developer in a portal. Approved developers can log in,
create applications, and view and register for products they have access
to. Pending, revoked, and rejected developers cannot login or view any
non-public portal information, or create or modify applications or
registrations.
type: string
enum:
- approved
- pending
- revoked
- rejected
example: approved
MovePageRequestPayload:
type: object
title: MovePage
description: move page request payload
properties:
parent_page_id:
type: string
format: uuid
description: parent page id
example: dd4e1b98-3629-4dd3-acc0-759a726ffee2
x-speakeasy-param-computed: false
nullable: true
default: null
index:
type: integer
description: index of the document in the parent document's children
example: 1
x-speakeasy-param-computed: false
nullable: true
default: null
PageSlug:
title: PageSlug
description: >
The slug of a page in a portal, used to compute its full URL path within
the portal hierarchy.
When a page has a `parent_page_id`, its full path is built by joining
the parent’s slug with its own.
For example, if a parent page has the slug `slug1` and this page’s slug
is `slug2`, the resulting path will be `/slug1/slug2`.
This enables nested page structures like `/slug1/slug2/slug3`.
type: string
maxLength: 512
example: /my-page
ParentPageId:
type: string
format: uuid
nullable: true
description: >
Pages may be rendered as a tree of files.
Specify the `id` of another page as the `parent_page_id` to add some
hierarchy to your pages.
example: null
x-speakeasy-param-computed: false
default: null
PageTitle:
title: PageTitle
description: The title of a page in a portal.
type: string
maxLength: 512
example: My Page
PageContent:
title: PageContent
description: The renderable markdown content of a page in a portal.
type: string
maxLength: 1000000
example: '# Welcome to My Page'
SnippetName:
title: SnippetName
description: The unique name of a snippet in a portal.
type: string
maxLength: 512
example: my-snippet
SnippetTitle:
title: SnippetTitle
description: The display title of a snippet in a portal.
type: string
maxLength: 512
example: My Snippet
SnippetContent:
title: SnippetContent
description: The renderable markdown content of a page in a portal.
type: string
maxLength: 1000000
example: '# Welcome to My Snippet'
VisibilityStatus:
title: VisibilityStatus
description: Whether the resource is publicly accessible to non-authenticated users.
type: string
example: public
enum:
- public
- private
PublishedStatus:
title: PublishedStatus
description: >-
Whether the resource is visible on a given portal. Defaults to
unpublished.
type: string
example: published
enum:
- published
- unpublished
Description:
title: ResourceDescription
type: string
maxLength: 160
example: A custom page about developer portals
PageVisibilityStatus:
title: PageVisibilityStatus
description: >
Whether a page is publicly accessible to non-authenticated users.
If not provided, the default_page_visibility value of the portal will be
used.
type: string
enum:
- public
- private
example: public
SnippetVisibilityStatus:
title: PageVisibilityStatus
description: >
Whether a snippet is publicly accessible to non-authenticated users.
If not provided, the default_page_visibility value of the portal will be
used.
type: string
enum:
- public
- private
example: public
UpdatePortalPageRequest:
title: UpdatePortalPageRequest
description: Update a page in a portal.
type: object
additionalProperties: false
properties:
slug:
$ref: '#/components/schemas/PageSlug'
title:
$ref: '#/components/schemas/PageTitle'
content:
$ref: '#/components/schemas/PageContent'
visibility:
$ref: '#/components/schemas/VisibilityStatus'
status:
$ref: '#/components/schemas/PublishedStatus'
description:
$ref: '#/components/schemas/Description'
parent_page_id:
$ref: '#/components/schemas/ParentPageId'
CreatePortalPageRequest:
title: CreatePortalPageRequest
description: Create a page in a portal.
type: object
additionalProperties: false
required:
- slug
- content
properties:
slug:
$ref: '#/components/schemas/PageSlug'
title:
$ref: '#/components/schemas/PageTitle'
content:
$ref: '#/components/schemas/PageContent'
visibility:
$ref: '#/components/schemas/PageVisibilityStatus'
status:
$ref: '#/components/schemas/PublishedStatus'
description:
$ref: '#/components/schemas/Description'
parent_page_id:
$ref: '#/components/schemas/ParentPageId'
PortalPageInfo:
title: PortalPageInfo
description: Information about a page in a portal.
type: object
additionalProperties: false
required:
- id
- slug
- title
- visibility
- created_at
- updated_at
- status
- parent_page_id
- children
properties:
id:
$ref: '#/components/schemas/UUID'
slug:
$ref: '#/components/schemas/PageSlug'
title:
$ref: '#/components/schemas/PageTitle'
visibility:
$ref: '#/components/schemas/VisibilityStatus'
status:
$ref: '#/components/schemas/PublishedStatus'
description:
$ref: '#/components/schemas/Description'
parent_page_id:
$ref: '#/components/schemas/ParentPageId'
children:
type: array
description: children of the page
example:
- id: d32d905a-ed33-46a3-a093-d8f536af9a8a
slug: hello-world
title: Hello world
visibility: public
created_at: '2023-01-11T02:30:42.227Z'
updated_at: '2023-01-11T02:30:42.227Z'
status: unpublished
parent_page_id: null
children: []
items:
$ref: '#/components/schemas/PortalPageInfo'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
PortalSnippetInfo:
title: PortalSnippetInfo
description: Information about a snippet in a portal.
type: object
additionalProperties: false
required:
- id
- name
- title
- visibility
- status
- created_at
- updated_at
properties:
id:
$ref: '#/components/schemas/UUID'
name:
$ref: '#/components/schemas/SnippetName'
title:
$ref: '#/components/schemas/SnippetTitle'
visibility:
$ref: '#/components/schemas/VisibilityStatus'
status:
$ref: '#/components/schemas/PublishedStatus'
description:
$ref: '#/components/schemas/Description'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
DefaultContent:
title: DefaultContent
description: Summary of created default content
additionalProperties: false
type: object
required:
- pages
- snippets
properties:
pages:
type: array
items:
type: string
snippets:
type: array
items:
type: string
PortalPageResponse:
title: PortalPageResponse
description: Details about a page in a portal.
additionalProperties: false
type: object
required:
- id
- slug
- title
- content
- visibility
- status
- created_at
- updated_at
- parent_page_id
properties:
id:
$ref: '#/components/schemas/UUID'
slug:
$ref: '#/components/schemas/PageSlug'
title:
$ref: '#/components/schemas/PageTitle'
content:
$ref: '#/components/schemas/PageContent'
visibility:
$ref: '#/components/schemas/VisibilityStatus'
status:
$ref: '#/components/schemas/PublishedStatus'
description:
$ref: '#/components/schemas/Description'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
parent_page_id:
$ref: '#/components/schemas/ParentPageId'
ListPortalPagesResponse:
title: ListPortalPagesResponse
description: A paginated list of custom pages in a portal.
additionalProperties: false
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/PortalPageInfo'
example:
data:
- id: 437c7192-fea0-4f35-8478-c8d57783f8c1
slug: /my-page
title: My Page
visibility: public
status: unpublished
description: A custom page
created_at: '2021-01-01T00:00:00Z'
updated_at: '2021-01-01T00:00:00Z'
parent_page_id: null
children: []
PortalSnippetResponse:
title: PortalSnippetResponse
description: Details about a page in a portal.
additionalProperties: false
type: object
required:
- id
- name
- content
- visibility
- status
- created_at
- updated_at
properties:
id:
$ref: '#/components/schemas/UUID'
name:
$ref: '#/components/schemas/SnippetName'
title:
$ref: '#/components/schemas/SnippetTitle'
content:
$ref: '#/components/schemas/SnippetContent'
visibility:
$ref: '#/components/schemas/VisibilityStatus'
status:
$ref: '#/components/schemas/PublishedStatus'
description:
$ref: '#/components/schemas/Description'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
ListPortalSnippetsResponse:
title: ListPortalPagesResponse
description: A paginated list of custom pages in a portal.
additionalProperties: false
type: object
required:
- data
- meta
properties:
data:
type: array
items:
$ref: '#/components/schemas/PortalSnippetInfo'
meta:
$ref: '#/components/schemas/PaginatedMeta'
example:
data:
- id: 437c7192-fea0-4f35-8478-c8d57783f8c1
name: my-snippet
title: My Snippet
visibility: public
status: published
description: A custom snippet
created_at: '2021-01-01T00:00:00Z'
updated_at: '2021-01-01T00:00:00Z'
meta:
page:
number: 1
size: 10
total: 1
UpdatePortalSnippetRequest:
title: UpdatePortalSnippetRequest
description: Update a snippet in a portal.
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/SnippetName'
title:
$ref: '#/components/schemas/SnippetTitle'
content:
$ref: '#/components/schemas/SnippetContent'
visibility:
$ref: '#/components/schemas/VisibilityStatus'
status:
$ref: '#/components/schemas/PublishedStatus'
description:
$ref: '#/components/schemas/Description'
CreatePortalSnippetRequest:
title: CreatePortalSnippetRequest
description: Create a snippet in a portal.
type: object
additionalProperties: false
required:
- name
- content
properties:
name:
$ref: '#/components/schemas/SnippetName'
title:
$ref: '#/components/schemas/SnippetTitle'
content:
$ref: '#/components/schemas/SnippetContent'
visibility:
$ref: '#/components/schemas/SnippetVisibilityStatus'
status:
$ref: '#/components/schemas/PublishedStatus'
description:
$ref: '#/components/schemas/Description'
ListApplicationsResponse:
additionalProperties: false
type: object
required:
- data
- meta
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/Application'
example:
meta:
page:
number: 1
size: 10
total: 2
data:
- id: b15e2460-ba40-431d-9df0-4957fcffacda
labels:
env: test
name: App 1
description: An easy to manage app in a Konnect developer portal
registration_count: 2
portal:
id: 95606071-49c7-4c2e-ae49-8a86d72a8110
auth_strategy:
id: 85606071-49c7-4c2e-ae49-8a86d72a8110
name: API Key
credential_type: key_auth
key_names:
- apikey
created_at: '2022-12-22T19:09:30.712Z'
updated_at: '2022-12-22T19:09:30.712Z'
- id: b15e2460-ba40-431d-9df0-4957fcffacda
labels:
env: test
name: App 1
description: >-
A Konnect application that is linked to an Identity Provider
application using Dynamic Client Registration (DCR)
client_id: yr1k0d9kj3l0cl01hp4o0
registration_count: 3
portal:
id: 95606071-49c7-4c2e-ae49-8a86d72a8110
auth_strategy:
id: 65606071-49c7-4c2e-ae49-8a86d72a8110
name: Client Credentials
credential_type: client_credentials
auth_methods:
- client_credentials
- bearer
- session
dcr_provider:
id: 7ea06071-49c7-4c2e-ae49-8a86d72a8110
granted_scopes: null
created_at: '2022-12-22T19:07:30.712Z'
updated_at: '2022-12-22T19:07:30.712Z'
GetApplicationResponse:
$ref: '#/components/schemas/Application'
ListApplicationDevelopersResponse:
title: ListApplicationDevelopersResponse
additionalProperties: false
type: object
required:
- data
- meta
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ApplicationDeveloperDetailed'
example:
meta:
page:
number: 1
size: 10
total: 4
data:
- id: 8cd9feff-b4da-4a9f-ba49-cbe83c75ff22
email: jane.developer@example.com
full_name: Jane Dev
- id: 4cd9feff-b4da-4a9f-ba49-cbe83c75ff22
email: john.developer@example.com
full_name: John Dev
- id: 6cd9feff-b4da-4a9f-ba49-cbe83c75ff22
email: john.developer@example.com
full_name: Jim Dev
- id: 7cd9feff-b4da-4a9f-ba49-cbe83c75ff22
email: john.developer@example.com
full_name: Jan Dev
ListApplicationRegistrationsResponse:
title: ListApplicationRegistrationsResponse
additionalProperties: false
type: object
required:
- data
- meta
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/ApplicationRegistration'
example:
meta:
page:
number: 1
size: 10
total: 2
data:
- id: c200cc33-2d33-4754-b086-a98e0fcd36fb
status: approved
application:
id: e15e2460-ba40-431d-9df0-4957fcff7cda
name: App 1
api:
id: 56f637b7-cd95-478b-9b02-d770618f641c
name: Great Stuff
version: v1
entity_type: api
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
- id: d200cc33-2d33-4754-b086-a98e0fcd36fb
status: rejected
application:
id: e15e2460-ba40-431d-9df0-4957fcff7cda
name: App 2
api:
id: 56f637b7-cd95-478b-9b02-d770618f641c
name: Great Stuff
version: v2
entity_type: api
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
- id: d300cc33-2d33-4754-b086-a98e0fcd36fb
status: pending
application:
id: e15e2460-ba40-431d-9df0-4957fcff7cda
name: App 3
api:
id: 56f637b7-cd95-478b-9b02-d770618f641c
name: Good Stuff
version: v2
entity_type: api
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
- id: d300cc33-2d33-4754-b086-a98e0fcd36fb
status: revoked
application:
id: e15e2460-ba40-431d-9df0-4957fcff7cda
name: App 3
api:
id: 56f637b7-cd95-478b-9b02-d770618f641c
name: Good Stuff
version: v1
entity_type: api
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
GetApplicationRegistrationResponse:
$ref: '#/components/schemas/ApplicationRegistration'
UpdateApplicationRegistrationResponse:
$ref: '#/components/schemas/ApplicationRegistration'
ApplicationDeveloperDetailed:
title: ApplicationDeveloperDetailed
description: List of developers that have a registered application.
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
readOnly: true
email:
type: string
format: email
example: developer@email.com
maxLength: 250
x-speakeasy-param-computed: false
nullable: true
default: null
full_name:
type: string
pattern: ^[\w \W]+$
example: API Developer
maxLength: 250
x-speakeasy-param-computed: false
nullable: true
default: null
example:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
email: user@email.com
full_name: API Developer
Application:
title: Application
oneOf:
- $ref: '#/components/schemas/ClientCredentialsApplication'
- $ref: '#/components/schemas/KeyAuthApplication'
example:
id: b15e2460-ba40-431d-9df0-4957fcffacda
labels:
env: test
name: App 1
description: An easy to manage app in a Konnect developer portal
registration_count: 4
portal:
id: 95606071-49c7-4c2e-ae49-8a86d72a8110
auth_strategy:
id: 45606071-49c7-4c2e-ae49-8a86d72a8110
name: API Key
credential_type: key_auth
key_names:
- apikey
created_at: '2022-12-22T19:09:30.712Z'
updated_at: '2022-12-22T19:09:30.712Z'
ClientCredentialsApplication:
title: Client Credentials Application
additionalProperties: false
type: object
required:
- id
- created_at
- updated_at
- name
- description
- registration_count
- client_id
- auth_strategy
- dcr_provider
- portal
- labels
- granted_scopes
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
name:
description: The name of the application.
type: string
description:
description: A description of the application.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
labels:
$ref: '#/components/schemas/LabelsUpdate'
client_id:
description: >-
The ID used to linked the portal application to an Identity Provider
application.
type: string
readOnly: true
registration_count:
description: >-
The number of API registrations that are associated with the
application. Registrations of any status are included in the count.
type: number
readOnly: true
dcr_provider:
description: >-
Information about the DCR provider this application uses, if using
DCR.
type: object
additionalProperties: false
nullable: true
required:
- id
properties:
id:
$ref: '#/components/schemas/UUID'
x-speakeasy-param-computed: false
default: null
portal:
description: Information about the portal the application is in.
type: object
additionalProperties: false
required:
- id
properties:
id:
$ref: '#/components/schemas/UUID'
auth_strategy:
$ref: '#/components/schemas/AuthStrategyClientCredentials'
granted_scopes:
description: >-
List of granted scopes for the application. Null if application type
does not support returning granted scopes.
type: array
nullable: true
items:
type: string
x-speakeasy-param-computed: false
default: null
KeyAuthApplication:
title: Key Auth Application
example:
id: b15e2460-ba40-431d-9df0-4957fcffacda
labels:
env: test
name: App 1
description: An easy to manage app in a Konnect developer portal
registration_count: 4
portal:
id: 95606071-49c7-4c2e-ae49-8a86d72a8110
auth_strategy:
id: 45606071-49c7-4c2e-ae49-8a86d72a8110
name: API Key
credential_type: key_auth
key_names:
- apikey
created_at: '2022-12-22T19:09:30.712Z'
updated_at: '2022-12-22T19:09:30.712Z'
additionalProperties: false
type: object
required:
- id
- created_at
- updated_at
- name
- description
- auth_strategy
- portal
- registration_count
- labels
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
name:
description: The name of the application.
type: string
description:
description: A description of the application.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
auth_strategy:
$ref: '#/components/schemas/AuthStrategyKeyAuth'
portal:
description: Information about the portal the application is in.
type: object
additionalProperties: false
required:
- id
properties:
id:
$ref: '#/components/schemas/UUID'
labels:
$ref: '#/components/schemas/LabelsUpdate'
registration_count:
description: >-
The number of API registrations that are associated with the
application. Registrations of any status are included in the count.
type: number
readOnly: true
ApplicationRegistration:
title: ApplicationRegistration
description: A application's registration for a specific version of an API.
additionalProperties: false
type: object
required:
- id
- created_at
- updated_at
- status
- api
- application
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
status:
$ref: '#/components/schemas/ApplicationRegistrationStatus'
api:
description: Details about the API the application is registered to.
type: object
additionalProperties: false
required:
- id
- name
- version
- entity_type
properties:
id:
$ref: '#/components/schemas/UUID'
name:
description: The name of the API the application is registered to.
type: string
version:
description: The version of the API the application is registered to.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
entity_type:
$ref: '#/components/schemas/EntityType'
application:
description: Details about the application the registration is part of.
type: object
additionalProperties: false
required:
- id
- name
properties:
id:
$ref: '#/components/schemas/UUID'
name:
description: The name of the application the registration is part of.
type: string
example:
id: c300cc33-2d33-4754-b086-a98e0fcd36fb
status: approved
application:
id: c15e2460-ba40-431d-9df0-4957fcff7cda
name: App 1
api:
id: 86f637b7-cd95-478b-9b02-d770618f641c
name: Great Stuff
version: v1
entity_type: api
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
ApplicationRegistrationStatus:
title: ApplicationRegistrationStatus
description: >-
The status of an application registration request. Each registration is
linked to a single API, and application credentials will not grant
access to the API until the registration is approved.
Pending, revoked, and rejected registrations will not provide access to
the API.
type: string
enum:
- approved
- pending
- revoked
- rejected
example: approved
UpdateApplicationRegistrationRequest:
title: UpdateApplicationRegistrationRequest
additionalProperties: false
type: object
properties:
status:
$ref: '#/components/schemas/ApplicationRegistrationStatus'
example:
status: rejected
PortalFilterParameters:
title: PortalFilterParameters
type: object
properties:
id:
$ref: '#/components/schemas/UuidFieldFilter'
name:
$ref: '#/components/schemas/StringFieldFilter'
description:
$ref: '#/components/schemas/StringFieldFilter'
authentication_enabled:
$ref: '#/components/schemas/BooleanFieldFilter'
rbac_enabled:
$ref: '#/components/schemas/BooleanFieldFilter'
default_api_visibility:
$ref: '#/components/schemas/StringFieldFilter'
default_page_visibility:
$ref: '#/components/schemas/StringFieldFilter'
default_application_auth_strategy_id:
$ref: '#/components/schemas/UuidFieldFilter'
auto_approve_developers:
$ref: '#/components/schemas/BooleanFieldFilter'
auto_approve_applications:
$ref: '#/components/schemas/BooleanFieldFilter'
default_domain:
$ref: '#/components/schemas/StringFieldFilter'
canonical_domain:
$ref: '#/components/schemas/StringFieldFilter'
PortalPagesFilterParameters:
title: PortalPagesFilterParameters
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/UuidFieldFilter'
slug:
$ref: '#/components/schemas/StringFieldFilter'
title:
$ref: '#/components/schemas/StringFieldFilter'
visibility:
$ref: '#/components/schemas/StringFieldFilter'
created_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
updated_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
PortalSnippetsFilterParameters:
title: PortalSnippetsFilterParameters
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/UuidFieldFilter'
name:
$ref: '#/components/schemas/StringFieldFilter'
title:
$ref: '#/components/schemas/StringFieldFilter'
visibility:
$ref: '#/components/schemas/StringFieldFilter'
created_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
updated_at:
$ref: '#/components/schemas/DateTimeFieldFilter'
PortalCustomDomain:
title: PortalCustomDomain
type: object
additionalProperties: false
properties:
hostname:
type: string
enabled:
type: boolean
ssl:
$ref: '#/components/schemas/PortalCustomDomainSSL'
cname_status:
$ref: '#/components/schemas/PortalCustomDomainCnameStatus'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- hostname
- enabled
- ssl
- cname_status
- created_at
- updated_at
PortalCustomDomainSSL:
type: object
title: PortalCustomDomainSSL
additionalProperties: false
properties:
domain_verification_method:
$ref: '#/components/schemas/PortalCustomDomainVerificationMethod'
verification_status:
$ref: '#/components/schemas/PortalCustomDomainVerificationStatus'
validation_errors:
$ref: '#/components/schemas/PortalCustomDomainValidationErrors'
required:
- domain_verification_method
- verification_status
CreatePortalCustomDomainSSL:
type: object
title: CreatePortalCustomDomainSSL
oneOf:
- $ref: >-
#/components/schemas/CreatePortalCustomDomainSSLWithCustomCertificate
- $ref: '#/components/schemas/CreatePortalCustomDomainSSLStandard'
CreatePortalCustomDomainSSLWithCustomCertificate:
title: custom_certificate
additionalProperties: false
properties:
domain_verification_method:
type: string
const: custom_certificate
custom_certificate:
type: string
description: Custom certificate to be used for the SSL termination.
custom_private_key:
type: string
description: Custom certificate private key to be used for the SSL termination.
required:
- domain_verification_method
- custom_certificate
- custom_private_key
CreatePortalCustomDomainSSLStandard:
title: http
additionalProperties: false
properties:
domain_verification_method:
type: string
const: http
required:
- domain_verification_method
PortalCustomDomainVerificationMethod:
title: PortalCustomDomainVerificationMethod
type: string
enum:
- http
- custom_certificate
PortalCustomDomainVerificationStatus:
title: PortalCustomDomainVerificationStatus
type: string
readOnly: true
enum:
- verified
- pending
- error
PortalCustomDomainCnameStatus:
title: PortalCustomDomainCnameStatus
type: string
readOnly: true
enum:
- verified
- pending
PortalCustomDomainValidationErrors:
title: PortalCustomDomainValidationErrors
type: array
readOnly: true
items:
type: string
CreatePortalCustomDomainRequest:
title: CreatePortalCustomDomainRequest
type: object
additionalProperties: false
properties:
hostname:
type: string
enabled:
type: boolean
ssl:
$ref: '#/components/schemas/CreatePortalCustomDomainSSL'
required:
- hostname
- enabled
- ssl
UpdatePortalCustomDomainRequest:
title: UpdatePortalCustomDomainRequest
type: object
additionalProperties: false
properties:
enabled:
type: boolean
x-speakeasy-param-computed: false
nullable: true
default: null
PortalClaimMappings:
title: PortalClaimMappings
description: Mappings from a portal developer atribute to an Identity Provider claim.
type: object
minProperties: 0
maxProperties: 3
properties:
name:
type: string
example: name
default: name
email:
type: string
example: email
default: email
groups:
type: string
default: groups
example: custom-group-claim
example:
name: name
email: email
groups: custom-group-claim
PortalOIDCConfig:
title: PortalOIDCConfig
description: Configuration properties for an OpenID Connect Identity Provider.
type: object
properties:
issuer:
type: string
example: https://identity.example.com/v2
client_id:
type: string
example: x7id0o42lklas0blidl2
scopes:
type: array
default:
- email
- openid
- profile
items:
type: string
default: openid
example:
- email
- openid
- profile
claim_mappings:
$ref: '#/components/schemas/PortalClaimMappings'
required:
- issuer
- client_id
example:
issuer: https://identity.example.com/v2
client_id: x7id0o42lklas0blidl2
scopes:
- email
- openid
- profile
claim_mappings:
name: name
email: email
groups: custom-group-claim
PortalAuthenticationSettingsResponse:
x-speakeasy-entity: PortalAuth
title: PortalAuthenticationSettingsResponse
description: The developer authentication settings for a portal.
type: object
properties:
basic_auth_enabled:
type: boolean
example: true
description: The portal has basic auth enabled or disabled.
oidc_auth_enabled:
type: boolean
example: false
description: The portal has OIDC enabled or disabled.
saml_auth_enabled:
type: boolean
example: false
description: The portal has SAML enabled or disabled.
x-speakeasy-param-computed: false
nullable: true
default: null
oidc_team_mapping_enabled:
type: boolean
example: true
description: IdP groups determine the Portal Teams a developer has.
idp_mapping_enabled:
type: boolean
example: true
description: >-
IdP groups determine the Portal Teams a developer has. This will
soon replace oidc_team_mapping_enabled.
x-speakeasy-param-computed: false
nullable: true
default: null
konnect_mapping_enabled:
type: boolean
example: false
description: A Konnect Identity Admin assigns teams to a developer.
oidc_config:
$ref: '#/components/schemas/PortalOIDCConfig'
required:
- basic_auth_enabled
- konnect_mapping_enabled
- oidc_auth_enabled
- oidc_team_mapping_enabled
example:
basic_auth_enabled: true
oidc_auth_enabled: true
oidc_team_mapping_enabled: true
konnect_mapping_enabled: false
oidc_config:
issuer: https://identity.example.com/v2
client_id: x7id0o42lklas0blidl2
scopes:
- email
- openid
- profile
claim_mappings:
name: name
email: email
groups: custom-group-claim
AssignedPortalRoleCollectionResponse:
title: AssignedPortalRoleCollectionResponse
description: A paginated list of roles assigned to a team.
type: object
required:
- meta
- data
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/PortalAssignedRoleResponse'
example:
meta:
page:
number: 1
size: 10
total: 3
data:
- id: b02e23c5-8ee4-4e5a-99f4-43329923adce
role_name: API Viewer
entity_id: 437c7192-fea0-4f35-8478-c8d57783f8c1
entity_type_name: Services
entity_region: us
- id: b02e23c5-8ee4-4e5a-99f4-43329923adce
role_name: API Consumer
entity_id: 437c7192-fea0-4f35-8478-c8d57783f8c1
entity_type: Services
entity_region: us
- id: 869d9402-f117-4f9a-840f-69acaf70a81a
role_name: API Viewer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Services
entity_region: us
ListPortalTeamsResponse:
title: ListPortalTeamsResponse
description: A paginated list of teams in a portal.
type: object
required:
- data
- meta
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/PortalTeamResponse'
example:
meta:
page:
number: 1
size: 10
total: 3
data:
- id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: Partner
description: Team with access to Partner APIs
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-09-25T13:00:00.00Z'
- id: af9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: Internal
description: Team with access to Internal APIs
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-09-25T13:00:00.00Z'
- id: 4f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: Root
description: Team with access to Internal Systems
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-09-25T13:00:00.00Z'
ListRolesResponse:
title: ListRolesResponse
description: >-
The set of roles available to associate with resources and assign to
teams.
type: object
properties:
services:
type: object
required:
- name
- roles
properties:
name:
type: string
enum:
- Services
roles:
type: object
required:
- apiviewer
- apiconsumer
properties:
apiviewer:
type: object
required:
- name
- description
properties:
name:
type: string
enum:
- API Viewer
description:
type: string
enum:
- >-
API Viewers have read-only access to the documentation
of a service in a portal
apiconsumer:
type: object
required:
- name
- description
properties:
name:
type: string
enum:
- API Consumer
description:
type: string
enum:
- API Consumers can make calls to the given service
required:
- services
example:
services:
name: Services
roles:
apiviewer:
name: API Viewer
description: >-
API Viewers have read-only access to the documentation of a
service in a portal
apiconsumer:
name: API Consumer
description: API Consumers can make calls to the given service
ListBasicDevelopersResponse:
title: ListBasicDevelopersResponse
description: A paginated list of basic information about a set of developers.
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/BasicDeveloper'
x-speakeasy-param-computed: false
nullable: true
default: null
example:
meta:
page:
number: 1
size: 10
total: 2
data:
- id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
email: james.woods@email.com
full_name: James Woods
active: true
created_at: '2022-08-17T17:46:57.52Z'
updated_at: '2022-10-03T17:00:00.00Z'
- id: 4f9fd312-a987-4628-b4c5-bb4f4fddd5f7
email: jill.stone@email.com
full_name: Jill Stone
active: false
created_at: '2022-07-17T17:46:57.52Z'
updated_at: '2022-10-03T17:00:00.00Z'
AddDeveloperToTeamRequest:
title: AddDeveloperToTeamRequest
description: Add a developer to a team by specifying the developer ID.
type: object
properties:
id:
type: string
example: df120cb4-f60b-47bc-a2f8-6a28e6a3c63b
format: uuid
writeOnly: true
required:
- id
example:
id: df120cb4-f60b-47bc-a2f8-6a28e6a3c63b
PortalAssignRoleRequest:
title: PortalAssignRoleRequest
description: An assigned role associates a service and an action to a team.
type: object
properties:
role_name:
type: string
example: API Viewer
x-speakeasy-param-computed: false
nullable: true
default: null
entity_id:
type: string
format: uuid
example: e67490ce-44dc-4cbd-b65e-b52c746fc26a
x-speakeasy-param-computed: false
nullable: true
default: null
entity_type_name:
type: string
example: Services
x-speakeasy-param-computed: false
nullable: true
default: null
entity_region:
type: string
enum:
- us
- eu
- au
- me
- in
- '*'
example: eu
description: Region of the entity.
example:
role_name: API Viewer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Services
entity_region: us
PortalAuthenticationSettingsUpdateRequest:
x-speakeasy-entity: PortalAuth
title: PortalAuthenticationSettingsUpdateRequest
description: Properties to update a portal's developer auth settings.
type: object
properties:
basic_auth_enabled:
type: boolean
example: true
description: The organization has basic auth enabled.
x-speakeasy-param-computed: false
nullable: true
default: null
oidc_auth_enabled:
type: boolean
example: false
description: The organization has OIDC disabled.
x-speakeasy-param-computed: false
nullable: true
default: null
saml_auth_enabled:
type: boolean
example: false
description: The portal has SAML enabled or disabled.
x-speakeasy-param-computed: false
nullable: true
default: null
oidc_team_mapping_enabled:
type: boolean
example: true
description: >-
Whether IdP groups determine the Konnect Portal teams a developer
has.
x-speakeasy-param-computed: false
nullable: true
default: null
konnect_mapping_enabled:
type: boolean
example: false
description: Whether a Konnect Identity Admin assigns teams to a developer.
x-speakeasy-param-computed: false
nullable: true
default: null
idp_mapping_enabled:
type: boolean
example: true
description: >-
Whether IdP groups determine the Konnect Portal teams a developer
has. This will soon replace oidc_team_mapping_enabled.
x-speakeasy-param-computed: false
nullable: true
default: null
oidc_issuer:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
oidc_client_id:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
oidc_client_secret:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
oidc_scopes:
type: array
default:
- email
- openid
- profile
items:
type: string
default: openid
oidc_claim_mappings:
$ref: '#/components/schemas/PortalClaimMappings'
example:
basic_auth_enabled: true
oidc_auth_enabled: true
oidc_team_mapping_enabled: true
konnect_mapping_enabled: false
oidc_issuer: https://identity.example.com/v2
oidc_client_id: x7id0o42lklas0blidl2
oidc_scopes:
- email
- openid
- profile
oidc_claim_mappings:
name: name
email: email
groups: custom-group-claim
PortalTeamGroupMappingsUpdateRequest:
title: PortalTeamGroupMappingsUpdateRequest
description: A set of mappings to update from a team to their groups.
type: object
properties:
data:
type: array
description: The IdP groups to map to the given team.
items:
type: object
properties:
team_id:
type: string
format: uuid
x-speakeasy-param-computed: false
nullable: true
default: null
groups:
type: array
items:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
example:
data:
- team_id: af91db4c-6e51-403e-a2bf-33d27ae50c0a
groups:
- Service Developer
PortalUpdateTeamRequest:
title: PortalUpdateTeamRequest
description: Properties to update on a team.
type: object
properties:
name:
type: string
example: IDM - Developers
pattern: ^[\w \W]+$
writeOnly: true
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
maxLength: 250
example: The Identity Management (IDM) API team.
writeOnly: true
x-speakeasy-param-computed: false
nullable: true
default: null
example:
name: IDM - Developers
description: The Identity Management (IDM) API team.
PortalCreateTeamRequest:
x-speakeasy-entity: PortalTeam
title: PortalCreateTeamRequest
description: Details about a team to create.
type: object
properties:
name:
type: string
example: IDM - Developers
pattern: ^[\w \W]+$
writeOnly: true
description:
type: string
maxLength: 250
example: The Identity Management (IDM) team.
writeOnly: true
x-speakeasy-param-computed: false
nullable: true
default: null
required:
- name
example:
name: IDM - Developers
description: The Identity Management (IDM) team.
PortalTeamResponse:
title: PortalTeamResponse
description: Details about a developer team.
type: object
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
readOnly: true
name:
type: string
pattern: ^[\w \W]+$
example: IDM - Developers
maxLength: 250
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
example: The developers for the IDM API.
maxLength: 250
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
type: string
format: date-time
example: '1992-02-07T17:46:57.52Z'
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-02-07T17:00:00.52Z'
readOnly: true
example:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: IDM - Developers
description: The developers for the IDM API.
created_at: '1992-02-07T17:46:57.52Z'
updated_at: '2022-08-31T17:00:00.52Z'
PortalTeamGroupMappingResponse:
title: PortalTeamGroupMappingResponse
description: A paginated list of portal team group mappings.
type: object
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/PortalTeamGroupMapping'
x-speakeasy-param-computed: false
nullable: true
default: null
example:
meta:
page:
number: 1
size: 10
total: 2
data:
- team_id: 6801e673-cc10-498a-94cd-4271de07a0d3
groups:
- Tech Leads
- API Engineers
- team_id: 7301e673-cc10-498a-94cd-4271de07a0d3
groups:
- Managers
- Directors
PortalTeamGroupMapping:
title: PortalTeamGroupMapping
description: A map of portal teams to Identity Provider groups.
type: object
properties:
team_id:
type: string
format: uuid
example: 6801e673-cc10-498a-94cd-4271de07a0d3
description: The Konnect team ID.
x-speakeasy-param-computed: false
nullable: true
default: null
groups:
type: array
uniqueItems: true
description: The IdP groups that are mapped to the specified team.
items:
type: string
example: API Engineers
x-speakeasy-param-computed: false
nullable: true
default: null
example:
team_id: 6801e673-cc10-498a-94cd-4271de07a0d3
groups:
- Tech Leads
- API Engineers
PortalAssignedRoleResponse:
title: PortalAssignedRoleResponse
description: An assigned role associates a service and an action to a team.
type: object
properties:
id:
type: string
format: uuid
example: eaf7adf1-32c8-4bbf-b960-d1f8456afe67
role_name:
type: string
example: API Viewer
x-speakeasy-param-computed: false
nullable: true
default: null
entity_id:
type: string
format: uuid
example: 817d0422-45c9-4d88-8d64-45aef05c1ae7
x-speakeasy-param-computed: false
nullable: true
default: null
entity_type_name:
type: string
example: Services
x-speakeasy-param-computed: false
nullable: true
default: null
entity_region:
type: string
enum:
- us
- eu
- au
- me
- in
- '*'
example: eu
description: Region of the entity.
example:
id: 1a3c2169-27f8-4594-926b-41df3432d5dc
role_name: API Viewer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Services
entity_region: us
ListDomains:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/EmailDomain'
meta:
$ref: '#/components/schemas/PaginatedMeta'
required:
- data
- meta
EmailDeliveryUpdatePayload:
type: object
properties:
enabled:
type: boolean
x-speakeasy-param-computed: false
nullable: true
default: null
from_email:
type: string
format: email
nullable: true
x-speakeasy-param-computed: false
default: null
reply_to_email:
type: string
format: email
nullable: true
x-speakeasy-param-computed: false
default: null
additionalProperties: false
EmailDelivery:
type: object
properties:
enabled:
type: boolean
from_email:
type: string
format: email
nullable: true
x-speakeasy-param-computed: false
default: null
reply_to_email:
type: string
format: email
nullable: true
x-speakeasy-param-computed: false
default: null
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
additionalProperties: false
required:
- enabled
- from_email
- reply_to_email
- created_at
- updated_at
PatchPortalEmailConfig:
type: object
properties:
domain_name:
type: string
nullable: true
description: The domain name to use for sending emails. Null means default.
x-speakeasy-param-computed: false
default: null
from_name:
type: string
nullable: true
description: The name to display in the 'From' field of emails.
x-speakeasy-param-computed: false
default: null
from_email:
type: string
format: email
nullable: true
description: The email address to use in the 'From' field.
x-speakeasy-param-computed: false
default: null
reply_to_email:
type: string
format: email
nullable: true
description: The email address to use in the 'Reply-To' field.
x-speakeasy-param-computed: false
default: null
additionalProperties: false
PostPortalEmailConfig:
type: object
properties:
domain_name:
type: string
nullable: true
description: The domain name to use for sending emails. Null means default.
x-speakeasy-param-computed: false
default: null
from_name:
type: string
nullable: true
description: The name to display in the 'From' field of emails.
x-speakeasy-param-computed: false
default: null
from_email:
type: string
format: email
nullable: true
description: The email address to use in the 'From' field.
x-speakeasy-param-computed: false
default: null
reply_to_email:
type: string
format: email
nullable: true
description: The email address to use in the 'Reply-To' field.
x-speakeasy-param-computed: false
default: null
additionalProperties: false
PortalEmailConfig:
type: object
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
readOnly: true
domain_name:
type: string
nullable: true
description: The domain name used for sending emails. Null means default.
x-speakeasy-param-computed: false
default: null
from_name:
type: string
description: The name displayed in the 'From' field of emails.
from_email:
type: string
format: email
description: The email address used in the 'From' field.
reply_to_email:
type: string
format: email
description: The email address used in the 'Reply-To' field.
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
additionalProperties: false
required:
- id
- from_name
- from_email
- reply_to_email
- created_at
- updated_at
EmailDomainPayload:
type: object
properties:
domain:
type: string
additionalProperties: false
required:
- domain
EmailVerificationStatus:
description: Specifies the status of the mail domain verification
type: string
enum:
- pending
- success
- failed
- temporary_failure
- not_started
readOnly: true
EmailDomainVerification:
type: object
properties:
status:
$ref: '#/components/schemas/EmailVerificationStatus'
last_time_checked:
description: >-
An ISO-8601 timestamp representation of the last time the
verification got checked.
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
readOnly: true
last_time_success:
description: >-
An ISO-8601 timestamp representation of the last time the
verification succeeded.
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
readOnly: true
additionalProperties: false
readOnly: true
required:
- status
- last_time_checked
- last_time_success
DNSRecord:
type: object
properties:
type:
type: string
readOnly: true
name:
type: string
readOnly: true
value:
type: string
readOnly: true
additionalProperties: false
required:
- type
- name
- value
EmailDomain:
type: object
properties:
domain:
type: string
verification:
$ref: '#/components/schemas/EmailDomainVerification'
dns_validation_records:
type: array
items:
$ref: '#/components/schemas/DNSRecord'
readOnly: true
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
additionalProperties: false
required:
- domain
- verification
- dns_validation_records
- created_at
- updated_at
EmailDomainFilterParameters:
title: EmailDomainFilterParameters
type: object
properties:
domain:
$ref: '#/components/schemas/StringFieldFilter'
verification_status:
$ref: '#/components/schemas/StringFieldFilter'
EmailTemplateName:
type: string
enum:
- confirm-email-address
- app-registration-approved
- app-registration-rejected
- app-registration-revoked
- reset-password
- account-access-approved
- account-access-rejected
- account-access-revoked
description: |
Short name email template name.
EmailTemplateVariableName:
type: string
enum:
- portal_display_name
- portal_domain
- developer_email
- developer_fullname
- dev_portal_reply_to
- developer_status
- api_documentation_url
- api_name
- api_version
- application_name
description: |
Enum for available portal email template variables.
DefaultEmailTemplate:
type: object
properties:
default_content:
$ref: '#/components/schemas/DefaultEmailTemplateContent'
variables:
type: array
items:
$ref: '#/components/schemas/EmailTemplateVariableName'
name:
$ref: '#/components/schemas/EmailTemplateName'
label:
type: string
description: The label of the email template
example: Confirm email Address
required:
- default_content
- variables
- name
- label
additionalProperties: false
DefaultEmailTemplateContent:
type: object
required:
- subject
- title
- body
properties:
subject:
type: string
nullable: false
title:
type: string
nullable: false
body:
type: string
nullable: false
button_label:
type: string
nullable: false
EmailTemplateContent:
type: object
nullable: true
properties:
subject:
type: string
nullable: true
maxLength: 1024
x-speakeasy-param-computed: false
default: null
title:
type: string
nullable: true
maxLength: 1024
x-speakeasy-param-computed: false
default: null
body:
type: string
nullable: true
maxLength: 4096
x-speakeasy-param-computed: false
default: null
button_label:
type: string
nullable: true
maxLength: 128
x-speakeasy-param-computed: false
default: null
x-speakeasy-param-computed: false
default: null
SendTestEmailTemplateContent:
type: object
required:
- subject
- title
- body
properties:
subject:
type: string
maxLength: 1024
nullable: false
title:
type: string
maxLength: 1024
nullable: false
body:
type: string
maxLength: 4096
nullable: false
button_label:
type: string
maxLength: 128
nullable: false
EmailTemplate:
type: object
properties:
label:
type: string
description: The label of the email template
example: App registration approved
name:
$ref: '#/components/schemas/EmailTemplateName'
default_content:
$ref: '#/components/schemas/DefaultEmailTemplateContent'
content:
$ref: '#/components/schemas/EmailTemplateContent'
variables:
type: array
items:
$ref: '#/components/schemas/EmailTemplateVariableName'
enabled:
type: boolean
description: Whether the email template is enabled or disabled for a portal
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- name
- label
- default_content
- variables
- enabled
- created_at
- updated_at
EmailTemplateVariablesList:
type: object
additionalProperties: false
properties:
data:
type: array
items:
$ref: '#/components/schemas/EmailTemplateVariable'
x-speakeasy-param-computed: false
nullable: true
default: null
EmailTemplateVariable:
type: object
properties:
name:
$ref: '#/components/schemas/EmailTemplateVariableName'
description:
type: string
scope:
type: array
items:
$ref: '#/components/schemas/EmailTemplateName'
example:
type: string
description: Example value of the email template variable
example: My Company Portal
required:
- name
- description
- scope
- example
PortalMenuItem:
type: object
additionalProperties: false
properties:
path:
description: The absolute path of a page in a portal with a leading slash.
type: string
example: /about/company
maxLength: 512
title:
description: The link display text
type: string
example: My Page
visibility:
description: >-
Whether a menu item is public or private. Private menu items are
only accessible to authenticated users.
type: string
example: public
enum:
- public
- private
external:
description: When clicked, open the link in a new window
type: boolean
required:
- path
- title
- visibility
- external
PortalFooterMenuSection:
type: object
additionalProperties: false
properties:
title:
description: The footer menu section title
type: string
maxLength: 512
items:
type: array
items:
$ref: '#/components/schemas/PortalMenuItem'
required:
- title
- items
PortalCustomization:
title: PortalCustomization
description: The custom settings of this portal
type: object
additionalProperties: false
properties:
theme:
type: object
additionalProperties: false
properties:
name:
type: string
nullable: false
mode:
type: string
enum:
- light
- dark
- system
colors:
type: object
additionalProperties: false
properties:
primary:
type: string
nullable: false
pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
x-validation-message: must be a valid hex color value
example: '#000000'
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
layout:
type: string
nullable: false
css:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
menu:
type: object
additionalProperties: false
properties:
main:
type: array
items:
$ref: '#/components/schemas/PortalMenuItem'
x-speakeasy-param-computed: false
nullable: true
default: null
footer_sections:
type: array
items:
$ref: '#/components/schemas/PortalFooterMenuSection'
x-speakeasy-param-computed: false
nullable: true
default: null
footer_bottom:
type: array
items:
$ref: '#/components/schemas/PortalMenuItem'
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
spec_renderer:
type: object
additionalProperties: false
properties:
try_it_ui:
description: >-
Enable in-browser testing for your APIs. All linked gateways
must have the CORS plugin configured.
type: boolean
default: true
try_it_insomnia:
description: >-
Enables users to open the API spec in Insomnia to explore and
send requests with the native client.
type: boolean
default: true
infinite_scroll:
description: >-
Display the full spec on a single, scrollable page. If disabled,
documentation, endpoints, and schemas appear on separate pages.
type: boolean
default: true
show_schemas:
description: >-
Control whether schemas are visible in your API specs. When
enabled, schemas appear in the side navigation below the
endpoints.
type: boolean
default: true
hide_internal:
description: Manage visibility of internal endpoints and models.
type: boolean
default: false
hide_deprecated:
description: Manage visibility of deprecated endpoints and models.
type: boolean
default: false
allow_custom_server_urls:
description: >-
Let users define a custom server URL for endpoints. This will be
used to generate code snippets and to test the API. The URL is
client-side only and is not saved.
type: boolean
default: true
x-speakeasy-param-computed: false
nullable: true
default: null
robots:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
AuthMethods:
type: array
items:
description: Auth Methods enabled for this strategy
type: string
example:
- bearer
AvailableScopes:
description: >-
Possible developer selectable scopes for an application. Only present
when using DCR Provider that supports it.
type: array
items:
type: string
example:
- scope1
- scope2
AuthStrategyClientCredentials:
description: Client Credential Auth strategy that the application uses.
type: object
required:
- id
- name
- credential_type
- auth_methods
additionalProperties: false
properties:
id:
type: string
format: uuid
example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8
description: The Application Auth Strategy ID.
readOnly: true
name:
type: string
example: name
default: name
credential_type:
type: string
enum:
- client_credentials
- self_managed_client_credentials
auth_methods:
$ref: '#/components/schemas/AuthMethods'
available_scopes:
$ref: '#/components/schemas/AvailableScopes'
AuthStrategyKeyAuth:
description: KeyAuth Auth strategy that the application uses.
type: object
required:
- id
- name
- credential_type
- key_names
additionalProperties: false
properties:
id:
type: string
format: uuid
example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8
description: The Application Auth Strategy ID.
readOnly: true
name:
type: string
example: name
default: name
credential_type:
type: string
enum:
- key_auth
key_names:
type: array
items:
type: string
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
ConfigStoreSecret:
type: object
properties:
key:
type: string
x-speakeasy-param-force-new: true
x-speakeasy-param-computed: false
nullable: true
default: null
value:
type: string
writeOnly: true
x-speakeasy-param-sensitive: true
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-force-new: true
value:
type: string
minLength: 1
maxLength: 5120
writeOnly: true
x-speakeasy-param-sensitive: true
UpdateConfigStoreSecret:
type: object
required:
- value
properties:
value:
type: string
minLength: 1
maxLength: 5120
writeOnly: true
x-speakeasy-param-sensitive: true
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
password:
type: string
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
password:
type: string
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Certificate for
grouping and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
cert: |-
-----BEGIN CERTIFICATE-----
certificate-content
-----END CERTIFICATE-----
cert_digest: 9b8aaf19a276885f6c8a6bc48a30700fdb3a351d8b05374d153bfb7b178e2a9f
created_at: 1706598432
id: b2f34145-0343-41a4-9602-4c69dec2f260
tags:
- trusted
- api
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
x-speakeasy-param-computed: false
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
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
x-speakeasy-param-computed: false
default: null
snis:
type: array
items:
description: A string representing a wildcard host name, such as *.example.com.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: >-
An optional set of strings associated with the Certificate for
grouping and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Consumer for grouping
and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
name:
description: The name of the consumer group.
type: string
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: The handler for the given custom plugin.
type: string
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
name:
description: The name to associate with the given custom plugin.
type: string
schema:
description: The schema for the given custom plugin.
type: string
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
methods:
type: array
items:
description: >-
A string representing an HTTP method, such as GET, POST, PUT, or
DELETE. The string must contain only uppercase letters.
type: string
default:
- GET
nullable: true
query:
type: string
service:
type: object
properties:
id:
type: string
x-foreign: true
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
methods:
type: array
items:
description: >-
A string representing an HTTP method, such as GET, POST, PUT, or
DELETE. The string must contain only uppercase letters.
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
secret:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
secret:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
default: HS256
enum:
- HS256
- HS384
- HS512
- RS256
- RS384
- RS512
- PS256
- PS384
- PS512
- ES256
- ES384
- ES512
- ESP256
- ESP384
- ESP512
- ESB256
- ESB320
- ESB384
- ESB512
- ES256K
- EdDSA
- Ed25519
- Ed448
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
key:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
rsa_public_key:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
secret:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
default: HS256
enum:
- HS256
- HS384
- HS512
- RS256
- RS384
- RS512
- PS256
- PS384
- PS512
- ES256
- ES384
- ES512
- ESP256
- ESP384
- ESP512
- ESB256
- ESB320
- ESB384
- ESB512
- ES256K
- EdDSA
- Ed25519
- Ed448
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
key:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
rsa_public_key:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
secret:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
jwk:
description: A JSON Web Key represented as a string.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
kid:
description: A unique identifier for a key.
type: string
name:
description: The name to associate with the given keys.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
pem:
description: A keypair in PEM format.
type: object
nullable: true
properties:
private_key:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
public_key:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
x5t:
description: X.509 certificate SHA-1 thumbprint.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
key:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
ttl:
description: key-auth ttl in seconds
type: integer
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
key:
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
ttl:
description: key-auth ttl in seconds
type: integer
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
name:
description: The name to associate with the given key-set.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
jwk:
description: A JSON Web Key represented as a string.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
kid:
description: A unique identifier for a key.
type: string
name:
description: The name to associate with the given keys.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
pem:
description: A keypair in PEM format.
type: object
nullable: true
properties:
private_key:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
public_key:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
x5t:
description: X.509 certificate SHA-1 thumbprint.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
subject_name:
type: string
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
subject_name:
type: string
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
discriminator:
mapping:
redis-ce: '#/components/schemas/PartialRedisCe'
redis-ee: '#/components/schemas/PartialRedisEe'
propertyName: type
oneOf:
- $ref: '#/components/schemas/PartialRedisCe'
- $ref: '#/components/schemas/PartialRedisEe'
PartialLink:
type: object
properties:
id:
description: The plugin's unique identifier
type: string
instance_name:
description: The instance name of the plugin
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
name:
description: The plugin's name
type: string
required:
- id
- name
PartialRedisCe:
type: object
properties:
config:
type: object
properties:
database:
description: >-
Database to use for the Redis connection when using the `redis`
strategy
type: integer
default: 0
host:
description: A string representing a host name, such as example.com.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
password:
description: >-
Password to use for Redis connections. If undefined, no AUTH
commands are sent to Redis.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
port:
description: >-
An integer representing a port number between 0 and 65535,
inclusive.
type: integer
default: 6379
server_name:
description: >-
A string representing an SNI (server name indication) value for
TLS.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
ssl:
description: If set to true, uses SSL to connect to Redis.
type: boolean
default: false
ssl_verify:
description: >-
If set to true, verifies the validity of the server SSL
certificate. If setting this parameter, also configure
`lua_ssl_trusted_certificate` in `kong.conf` to specify the CA
(or server) certificate used by your Redis server. You may also
need to configure `lua_ssl_verify_depth` accordingly.
type: boolean
default: false
timeout:
description: >-
An integer representing a timeout in milliseconds. Must be
between 0 and 2^31-2.
type: integer
default: 2000
username:
description: >-
Username to use for Redis connections. If undefined, ACL
authentication won't be performed. This requires Redis v6.0.0+.
To be compatible with Redis v5.x.y, you can set it to `default`.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
name:
description: A unique string representing a UTF-8 encoded name.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
type:
type: string
enum:
- redis-ce
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
config:
database: 0
host: localhost
password: password
port: 6379
server_name: redis
ssl: false
ssl_verify: false
timeout: 2000
username: username
type: redis-ce
additionalProperties: false
required:
- type
- config
PartialRedisEe:
type: object
properties:
config:
type: object
properties:
cluster_max_redirections:
description: Maximum retry attempts for redirection.
type: integer
default: 5
cluster_nodes:
description: >-
Cluster addresses to use for Redis connections when the `redis`
strategy is defined. Defining this field implies using a Redis
Cluster. The minimum length of the array is 1 element.
type: array
items:
properties:
ip:
description: A string representing a host name, such as example.com.
type: string
default: 127.0.0.1
port:
description: >-
An integer representing a port number between 0 and 65535,
inclusive.
type: integer
default: 6379
type: object
x-speakeasy-param-computed: false
nullable: true
default: null
connect_timeout:
description: >-
An integer representing a timeout in milliseconds. Must be
between 0 and 2^31-2.
type: integer
default: 2000
connection_is_proxied:
description: >-
If the connection to Redis is proxied (e.g. Envoy), set it
`true`. Set the `host` and `port` to point to the proxy address.
type: boolean
default: false
database:
description: >-
Database to use for the Redis connection when using the `redis`
strategy
type: integer
default: 0
host:
description: A string representing a host name, such as example.com.
type: string
default: 127.0.0.1
keepalive_backlog:
description: >-
Limits the total number of opened connections for a pool. If the
connection pool is full, connection queues above the limit go
into the backlog queue. If the backlog queue is full, subsequent
connect operations fail and return `nil`. Queued operations
(subject to set timeouts) resume once the number of connections
in the pool is less than `keepalive_pool_size`. If latency is
high or throughput is low, try increasing this value.
Empirically, this value is larger than `keepalive_pool_size`.
type: integer
x-speakeasy-param-computed: false
nullable: true
default: null
keepalive_pool_size:
description: >-
The size limit for every cosocket connection pool associated
with every remote server, per worker process. If neither
`keepalive_pool_size` nor `keepalive_backlog` is specified, no
pool is created. If `keepalive_pool_size` isn't specified but
`keepalive_backlog` is specified, then the pool uses the default
value. Try to increase (e.g. 512) this value if latency is high
or throughput is low.
type: integer
default: 256
password:
description: >-
Password to use for Redis connections. If undefined, no AUTH
commands are sent to Redis.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
port:
description: >-
An integer representing a port number between 0 and 65535,
inclusive.
type: integer
default: 6379
read_timeout:
description: >-
An integer representing a timeout in milliseconds. Must be
between 0 and 2^31-2.
type: integer
default: 2000
send_timeout:
description: >-
An integer representing a timeout in milliseconds. Must be
between 0 and 2^31-2.
type: integer
default: 2000
sentinel_master:
description: >-
Sentinel master to use for Redis connections. Defining this
value implies using Redis Sentinel.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
sentinel_nodes:
description: >-
Sentinel node addresses to use for Redis connections when the
`redis` strategy is defined. Defining this field implies using a
Redis Sentinel. The minimum length of the array is 1 element.
type: array
items:
properties:
host:
description: A string representing a host name, such as example.com.
type: string
default: 127.0.0.1
port:
description: >-
An integer representing a port number between 0 and 65535,
inclusive.
type: integer
default: 6379
type: object
x-speakeasy-param-computed: false
nullable: true
default: null
sentinel_password:
description: >-
Sentinel password to authenticate with a Redis Sentinel
instance. If undefined, no AUTH commands are sent to Redis
Sentinels.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
sentinel_role:
description: >-
Sentinel role to use for Redis connections when the `redis`
strategy is defined. Defining this value implies using Redis
Sentinel.
type: string
enum:
- master
- slave
- any
sentinel_username:
description: >-
Sentinel username to authenticate with a Redis Sentinel
instance. If undefined, ACL authentication won't be performed.
This requires Redis v6.2.0+.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
server_name:
description: >-
A string representing an SNI (server name indication) value for
TLS.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
ssl:
description: If set to true, uses SSL to connect to Redis.
type: boolean
default: false
ssl_verify:
description: >-
If set to true, verifies the validity of the server SSL
certificate. If setting this parameter, also configure
`lua_ssl_trusted_certificate` in `kong.conf` to specify the CA
(or server) certificate used by your Redis server. You may also
need to configure `lua_ssl_verify_depth` accordingly.
type: boolean
default: false
username:
description: >-
Username to use for Redis connections. If undefined, ACL
authentication won't be performed. This requires Redis v6.0.0+.
To be compatible with Redis v5.x.y, you can set it to `default`.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
name:
description: A unique string representing a UTF-8 encoded name.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tags:
description: A set of strings representing tags.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
type:
type: string
enum:
- redis-ee
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
config:
cluster_nodes:
- ip: 192.168.1.10
port: 6380
connect_timeout: 2000
database: 0
host: localhost
keepalive_pool_size: 256
password: password
port: 6379
read_timeout: 1000
send_timeout: 1000
sentinel_nodes:
- host: sentinel1.redis.server
port: 26379
server_name: redis-ee
ssl: false
ssl_verify: false
username: username
type: redis-ee
additionalProperties: false
required:
- type
- config
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
x-speakeasy-param-computed: false
default: null
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:
description: >-
If set, the plugin will activate only for requests where the
specified group has been authenticated
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
default: true
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
instance_name:
description: A unique string representing a UTF-8 encoded name.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
before:
type: object
properties:
access:
type: array
items:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
default: null
partials:
description: A list of partials to be used by the plugin.
type: array
items:
properties:
id:
description: A string representing a UUID (universally unique identifier).
type: string
name:
description: A unique string representing a UTF-8 encoded name.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
path:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
type: object
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a protocol, such as HTTP or HTTPS.
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:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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:
description: >-
If set, the plugin will activate only for requests where the
specified group has been authenticated
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
default: true
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
instance_name:
description: A unique string representing a UTF-8 encoded name.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
before:
type: object
properties:
access:
type: array
items:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
default: null
partials:
description: A list of partials to be used by the plugin.
type: array
items:
properties:
id:
description: A string representing a UUID (universally unique identifier).
type: string
name:
description: A unique string representing a UTF-8 encoded name.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
path:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
type: object
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a protocol, such as HTTP or HTTPS.
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:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
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
x-speakeasy-param-computed: false
default: null
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
default: 426
enum:
- 426
- 301
- 302
- 307
- 308
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
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
x-speakeasy-param-computed: false
default: null
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
default: v0
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
default: false
nullable: true
priority:
description: >-
A number used to specify the matching order for expression routes.
The higher the `priority`, the sooner an route will be evaluated.
This field is ignored unless `expression` field is set.
type: integer
default: 0
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:
description: A string representing a protocol, such as HTTP or HTTPS.
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
default: true
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
default: true
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
default: true
nullable: true
tags:
description: >-
An optional set of strings associated with the Route for grouping
and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: >-
A string representing an IP address or CIDR block, such as
192.168.1.1 or 192.168.0.0/16.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
port:
description: >-
An integer representing a port number between 0 and 65535,
inclusive.
type: integer
x-speakeasy-param-computed: false
nullable: true
default: null
type: object
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
default: 426
enum:
- 426
- 301
- 302
- 307
- 308
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
methods:
description: A list of HTTP methods that match this Route.
type: array
items:
description: >-
A string representing an HTTP method, such as GET, POST, PUT, or
DELETE. The string must contain only uppercase letters.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
default: v0
enum:
- v0
- v1
nullable: true
paths:
description: A list of paths that match this Route.
type: array
items:
description: >-
A string representing a router path. It must start with a forward
slash ('/') for a fixed path, or the sequence '~/' for a regex
path. It must not have empty segments.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
default: false
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:
description: A string representing a protocol, such as HTTP or HTTPS.
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
default: 0
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
default: true
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
default: true
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:
description: A string representing a wildcard host name, such as *.example.com.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: >-
A string representing an IP address or CIDR block, such as
192.168.1.1 or 192.168.0.0/16.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
port:
description: >-
An integer representing a port number between 0 and 65535,
inclusive.
type: integer
x-speakeasy-param-computed: false
nullable: true
default: null
type: object
nullable: 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
default: true
nullable: true
tags:
description: >-
An optional set of strings associated with the Route for grouping
and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
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:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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:
description: A string representing a UUID (universally unique identifier).
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:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
default: 60000
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
default: true
nullable: true
host:
description: >-
The host of the upstream server. Note that the host value is case
sensitive.
type: string
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
name:
description: The Service name.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
path:
description: The path to be used in requests to the upstream server.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
port:
description: The upstream server port.
type: integer
default: 80
nullable: true
protocol:
description: The protocol used to communicate with the upstream.
type: string
default: http
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
default: 60000
nullable: true
retries:
description: The number of retries to execute upon failure to proxy.
type: integer
default: 5
nullable: true
tags:
description: >-
An optional set of strings associated with the Service for grouping
and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
tls_sans:
type: object
nullable: true
properties:
dnsnames:
description: A dnsName for TLS verification.
type: array
items:
description: >-
A string representing an SNI (server name indication) value
for TLS.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
uris:
description: An URI for TLS verification.
type: array
items:
description: >-
A string representing a URL, such as
https://example.com/path/to/resource?q=search.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
write_timeout:
description: >-
The timeout in milliseconds between two successive write operations
for transmitting a request to the upstream server.
type: integer
default: 60000
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Target for grouping
and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
updated_at:
description: Unix epoch when the resource was last updated.
type: number
nullable: true
upstream:
description: >-
The unique identifier or the name of the upstream for which to
update the target.
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
default: 100
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:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Target for grouping
and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
updated_at:
description: Unix epoch when the resource was last updated.
type: number
nullable: true
upstream:
description: >-
The unique identifier or the name of the upstream for which to
update the target.
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
default: 100
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
default: round-robin
enum:
- consistent-hashing
- least-connections
- round-robin
- latency
- sticky-sessions
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
default: none
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
hash_on:
description: >-
What to use as hashing input. Using `none` results in a
weighted-round-robin scheme with no hashing.
type: string
default: none
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
x-speakeasy-param-computed: false
default: null
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
default: /
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
healthchecks:
type: object
nullable: true
properties:
active:
type: object
properties:
concurrency:
type: integer
default: 10
headers:
description: A map of header names to arrays of header values.
type: object
additionalProperties:
items:
type: string
type: array
x-speakeasy-param-computed: false
nullable: true
default: null
healthy:
type: object
properties:
http_statuses:
type: array
items:
type: integer
default:
- 200
- 302
interval:
type: number
default: 0
successes:
type: integer
default: 0
x-speakeasy-param-computed: false
nullable: true
default: null
http_path:
description: >-
A string representing a URL path, such as /path/to/resource.
Must start with a forward slash (/) and must not contain
empty segments (i.e., two consecutive forward slashes).
type: string
default: /
https_sni:
description: >-
A string representing an SNI (server name indication) value
for TLS.
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
https_verify_certificate:
type: boolean
default: true
timeout:
type: number
default: 1
type:
type: string
default: http
enum:
- tcp
- http
- https
- grpc
- grpcs
unhealthy:
type: object
properties:
http_failures:
type: integer
default: 0
http_statuses:
type: array
items:
type: integer
default:
- 429
- 404
- 500
- 501
- 502
- 503
- 504
- 505
interval:
type: number
default: 0
tcp_failures:
type: integer
default: 0
timeouts:
type: integer
default: 0
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
passive:
type: object
properties:
healthy:
type: object
properties:
http_statuses:
type: array
items:
type: integer
default:
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 226
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
successes:
type: integer
default: 0
x-speakeasy-param-computed: false
nullable: true
default: null
type:
type: string
default: http
enum:
- tcp
- http
- https
- grpc
- grpcs
unhealthy:
type: object
properties:
http_failures:
type: integer
default: 0
http_statuses:
type: array
items:
type: integer
default:
- 429
- 500
- 503
tcp_failures:
type: integer
default: 0
timeouts:
type: integer
default: 0
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
threshold:
type: number
default: 0
x-speakeasy-param-computed: false
default: null
host_header:
description: >-
The hostname to be used as `Host` header when proxying requests
through Kong.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
id:
description: A string representing a UUID (universally unique identifier).
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
default: 10000
nullable: true
sticky_sessions_cookie:
description: The cookie name to keep sticky sessions.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
sticky_sessions_cookie_path:
description: >-
A string representing a URL path, such as /path/to/resource. Must
start with a forward slash (/) and must not contain empty segments
(i.e., two consecutive forward slashes).
type: string
default: /
nullable: true
tags:
description: >-
An optional set of strings associated with the Upstream for grouping
and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
default: false
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
nullable: true
x-speakeasy-param-computed: false
default: null
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
x-speakeasy-param-computed: false
default: null
id:
description: A string representing a UUID (universally unique identifier).
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:
description: A string representing a tag.
type: string
nullable: true
x-speakeasy-param-computed: false
default: null
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
KonnectCPLegacyBaseError:
type: object
title: Error
description: standard error
properties:
message:
type: string
description: |
A short summary of the problem.
readOnly: true
KonnectCPLegacyUnauthorizedError:
allOf:
- $ref: '#/components/schemas/KonnectCPLegacyBaseError'
- type: object
properties:
message:
example: Unauthorized
KonnectCPLegacyForbiddenError:
allOf:
- $ref: '#/components/schemas/KonnectCPLegacyBaseError'
- type: object
properties:
message:
example: Forbidden
KonnectCPLegacyNotFoundError:
allOf:
- $ref: '#/components/schemas/KonnectCPLegacyBaseError'
- type: object
properties:
message:
example: Not Found
KonnectCPLegacyBadRequestError:
allOf:
- $ref: '#/components/schemas/KonnectCPLegacyBaseError'
- type: object
properties:
message:
example: Bad Request
KonnectCPLegacyConflictError:
allOf:
- $ref: '#/components/schemas/KonnectCPLegacyBaseError'
- type: object
properties:
message:
example: Conflict
CursorMeta:
type: object
description: Pagination metadata.
required:
- page
properties:
page:
$ref: '#/components/schemas/CursorMetaPage'
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.
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
preferred_name:
type: string
maxLength: 250
example: Jimmy
description: The user's desired name.
writeOnly: true
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
maxLength: 250
example: The Identity Management (IDM) API team.
description: The description of the team.
writeOnly: true
x-speakeasy-param-computed: false
nullable: true
default: null
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
x-speakeasy-param-computed: false
nullable: true
default: null
team_ids:
type: array
items:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
description: The request schema for updating IdP team mappings.
PatchTeamGroupMappings:
content:
application/json:
schema:
type: object
example:
data:
- team_id: af91db4c-6e51-403e-a2bf-33d27ae50c0a
groups:
- Service Developers
properties:
data:
type: array
description: The IdP groups to map to the given team.
items:
type: object
properties:
team_id:
type: string
format: uuid
x-speakeasy-param-computed: false
nullable: true
default: null
groups:
type: array
items:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
x-speakeasy-param-computed: false
nullable: true
default: null
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
- Scorecard Admin
- Scorecard Viewer
- 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.
x-speakeasy-param-computed: false
nullable: true
default: null
entity_type_name:
type: string
example: Control Planes
description: The type of entity.
enum:
- APIs
- API Products
- Application Auth Strategies
- Audit Logs
- Control Planes
- Dashboards
- 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).
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
description: Description of the system account.
x-speakeasy-param-computed: false
nullable: true
default: null
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.
x-speakeasy-param-computed: false
nullable: true
default: null
CreateSystemAccountAccessToken:
content:
application/json:
schema:
x-speakeasy-entity: SystemAccountAccessToken
type: object
properties:
name:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
expires_at:
type: string
format: date-time
x-speakeasy-param-computed: false
nullable: true
default: null
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
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.
x-speakeasy-param-computed: false
nullable: true
default: null
oidc_auth_enabled:
type: boolean
example: false
description: The organization has OIDC disabled.
x-speakeasy-param-computed: false
nullable: true
default: null
saml_auth_enabled:
type: boolean
example: false
description: The organization has SAML disabled.
x-speakeasy-param-computed: false
nullable: true
default: null
idp_mapping_enabled:
type: boolean
example: true
description: Whether IdP groups determine the Konnect teams a user has.
x-speakeasy-param-computed: false
nullable: true
default: null
konnect_mapping_enabled:
type: boolean
example: false
description: Whether a Konnect Identity Admin assigns teams to a user.
x-speakeasy-param-computed: false
nullable: true
default: null
UpdateIdPConfiguration:
content:
application/json:
schema:
type: object
properties:
issuer:
type: string
format: uri
example: https://myidp.com/oauth2
x-speakeasy-param-computed: false
nullable: true
default: null
login_path:
type: string
example: myapp
x-speakeasy-param-computed: false
nullable: true
default: null
client_id:
type: string
example: YOUR_CLIENT_ID
x-speakeasy-param-computed: false
nullable: true
default: null
client_secret:
type: string
example: YOUR_CLIENT_SECRET
x-speakeasy-param-computed: false
nullable: true
default: null
scopes:
type: array
default:
- email
- openid
- profile
items:
type: string
default: openid
claim_mappings:
type: object
minProperties: 3
properties:
name:
type: string
example: name
default: name
email:
type: string
example: email
default: email
groups:
type: string
default: groups
example: custom-group-claim
x-speakeasy-param-computed: false
nullable: true
default: null
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'
CreateApiRequest:
required: true
content:
application/json:
schema:
title: API
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 9f5061ce-78f6-4452-9108-ad7c02821fd5
description: The API identifier.
readOnly: true
name:
type: string
maxLength: 255
minLength: 1
description: >
The name of your API. The `name + version` combination must be
unique for each API you publish.
example: MyAPI
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
description: >-
A description of your API. Will be visible on your live
Portal.
nullable: true
x-speakeasy-param-computed: false
default: null
version:
type: string
maxLength: 255
minLength: 1
description: >-
An optional version for your API. Leave this empty if your API
is unversioned.
nullable: true
x-speakeasy-param-computed: true
current_version_summary:
$ref: '#/components/schemas/ApiVersionSummary'
slug:
type: string
pattern: ^[\w-]+$
description: >
The `slug` is used in generated URLs to provide human readable
paths.
Defaults to `slugify(name + version)`
example: my-api-v1
nullable: true
x-speakeasy-param-computed: true
api_spec_ids:
readOnly: true
type: array
description: The list of API specification ids for the API.
deprecated: true
items:
type: string
format: uuid
description: The id of the API specification.
example: 123e4567-e89b-12d3-a456-426614174000
portals:
readOnly: true
type: array
nullable: false
uniqueItems: true
description: The list of portals which this API is published to.
items:
type: object
additionalProperties: false
required:
- id
- name
- display_name
properties:
id:
type: string
format: uuid
example: 25a2624c-49fc-4764-99e1-224ed819f200
description: The portal identifier.
name:
type: string
example: My Portal
description: >-
The name of the portal, used to distinguish it from
other portals.
display_name:
type: string
example: My Portal
description: >-
The display name of the portal. This value will be the
portal's `name` in Portal API.
labels:
$ref: '#/components/schemas/Labels'
attributes:
$ref: '#/components/schemas/ApiAttributes'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
spec_content:
description: >-
The content of the API specification. This is the raw content
of the API specification, in json or yaml. By including this
field, you can add a API specification without having to make
a separate call to update the API specification.
type: string
nullable: false
writeOnly: true
required:
- name
CreateApiSpecRequest:
required: true
content:
application/json:
schema:
title: API Specification
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The API specification identifier.
readOnly: true
content:
type: string
description: >
The raw content of your API specification, in json or yaml
format (OpenAPI or AsyncAPI).
example: >-
{"openapi":"3.0.3","info":{"title":"Example
API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example
endpoint","responses":{"200":{"description":"Successful
response"}}}}}}
x-speakeasy-param-computed: false
nullable: true
default: null
validation_messages:
type: array
description: The errors that occurred while parsing the API specification.
readOnly: true
items:
type: object
additionalProperties: false
required:
- message
properties:
message:
type: string
type:
title: API Spec Type
type: string
example: oas3
description: >
The type of specification being stored. This allows us to
render the specification correctly.
enum:
- oas2
- oas3
- asyncapi
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- content
CreateApiVersionRequest:
required: true
content:
application/json:
schema:
title: API Version
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 7710d5c4-d902-410b-992f-18b814155b53
description: The API version identifier.
readOnly: true
version:
type: string
description: The version of the api.
example: 1.0.0
x-speakeasy-param-computed: false
nullable: true
default: null
spec:
type: object
additionalProperties: false
properties:
content:
type: string
description: >
The raw content of your API spec, in json or yaml format
(OpenAPI or AsyncAPI).
example: >-
{"openapi":"3.0.3","info":{"title":"Example
API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example
endpoint","responses":{"200":{"description":"Successful
response"}}}}}}
x-speakeasy-param-computed: false
nullable: true
default: null
type:
title: API Spec Type
type: string
example: oas3
description: >
The type of specification being stored. This allows us to
render the specification correctly.
enum:
- oas2
- oas3
- asyncapi
readOnly: true
validation_messages:
type: array
description: >-
The errors that occurred while parsing the API version
spec.
readOnly: true
items:
type: object
additionalProperties: false
required:
- message
properties:
message:
type: string
x-speakeasy-param-computed: false
nullable: true
default: null
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- spec
CreateApiDocumentRequest:
required: true
content:
application/json:
schema:
type: object
title: API Document
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/ApiDocumentId'
content:
$ref: '#/components/schemas/ApiDocumentContent'
title:
$ref: '#/components/schemas/ApiDocumentTitle'
slug:
$ref: '#/components/schemas/ApiDocumentSlug'
status:
$ref: '#/components/schemas/ApiDocumentStatus'
parent_document_id:
$ref: '#/components/schemas/ApiDocumentParentDocumentId'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
required:
- content
UpdateApiRequest:
required: true
content:
application/json:
schema:
title: API
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
example: 9f5061ce-78f6-4452-9108-ad7c02821fd5
description: The API identifier.
readOnly: true
name:
type: string
maxLength: 255
minLength: 1
description: >
The name of your API. The `name + version` combination must be
unique for each API you publish.
example: MyAPI
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
description: >-
A description of your API. Will be visible on your live
Portal.
nullable: true
x-speakeasy-param-computed: false
default: null
version:
type: string
maxLength: 255
minLength: 1
description: >-
An optional version for your API. Leave this empty if your API
is unversioned.
nullable: true
x-speakeasy-param-computed: true
current_version_summary:
$ref: '#/components/schemas/ApiVersionSummary'
slug:
type: string
pattern: ^[\w-]+$
description: >
The `slug` is used in generated URLs to provide human readable
paths.
Defaults to `slugify(name + version)`
example: my-api-v1
nullable: true
x-speakeasy-param-computed: true
api_spec_ids:
readOnly: true
type: array
description: The list of API specification ids for the API.
deprecated: true
items:
type: string
format: uuid
description: The id of the API specification.
example: 123e4567-e89b-12d3-a456-426614174000
portals:
readOnly: true
type: array
nullable: false
uniqueItems: true
description: The list of portals which this API is published to.
items:
type: object
additionalProperties: false
required:
- id
- name
- display_name
properties:
id:
type: string
format: uuid
example: 25a2624c-49fc-4764-99e1-224ed819f200
description: The portal identifier.
name:
type: string
example: My Portal
description: >-
The name of the portal, used to distinguish it from
other portals.
display_name:
type: string
example: My Portal
description: >-
The display name of the portal. This value will be the
portal's `name` in Portal API.
labels:
$ref: '#/components/schemas/LabelsUpdate'
attributes:
$ref: '#/components/schemas/ApiAttributes'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
UpdateApiDocumentRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiDocument'
UpdateApiSpecRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSpec'
UpdateApiVersionRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiVersion'
PutApiPublicationRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPublication'
CreateApiImplementationRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiImplementation'
MoveDocumentRequest:
required: true
description: move document
content:
application/json:
schema:
$ref: '#/components/schemas/MoveDocumentRequestPayload'
ValidateApiSpecRequest:
required: true
description: Specification content and type for validation.
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateApiSpecRequestPayload'
CreatePortalCustomDomain:
description: Create a portal custom domain.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePortalCustomDomainRequest'
UpdatePortalCustomDomain:
description: Create a portal custom domain.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePortalCustomDomainRequest'
CreatePortal:
description: Create a portal.
required: true
content:
application/json:
schema:
x-speakeasy-entity: Portal
title: Portal
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
name:
type: string
maxLength: 255
minLength: 1
description: >-
The name of the portal, used to distinguish it from other
portals. Name must be unique.
x-speakeasy-param-computed: false
nullable: true
default: null
display_name:
type: string
maxLength: 255
minLength: 1
description: >-
The display name of the portal. This value will be the
portal's `name` in Portal API.
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
nullable: true
maxLength: 512
description: A description of the portal.
x-speakeasy-param-computed: false
default: null
authentication_enabled:
type: boolean
description: >-
Whether the portal supports developer authentication. If
disabled, developers cannot register for accounts or create
applications.
default: true
rbac_enabled:
type: boolean
description: >-
Whether the portal resources are protected by Role Based
Access Control (RBAC). If enabled, developers view or register
for APIs until unless assigned to teams with access to view
and consume specific APIs. Authentication must be enabled to
use RBAC.
default: false
default_api_visibility:
type: string
description: >-
The default visibility of APIs in the portal. If set to
`public`, newly published APIs are visible to unauthenticated
developers. If set to `private`, newly published APIs are
hidden from unauthenticated developers.
enum:
- public
- private
default_page_visibility:
type: string
description: >-
The default visibility of pages in the portal. If set to
`public`, newly created pages are visible to unauthenticated
developers. If set to `private`, newly created pages are
hidden from unauthenticated developers.
enum:
- public
- private
default_application_auth_strategy_id:
type: string
format: uuid
description: >-
The default authentication strategy for APIs published to the
portal. Newly published APIs will use this authentication
strategy unless overridden during publication. If set to
`null`, API publications will not use an authentication
strategy unless set during publication.
nullable: true
x-speakeasy-param-computed: false
default: null
auto_approve_developers:
type: boolean
description: >-
Whether developer account registrations will be automatically
approved, or if they will be set to pending until approved by
an admin.
default: false
auto_approve_applications:
type: boolean
description: >-
Whether requests from applications to register for APIs will
be automatically approved, or if they will be set to pending
until approved by an admin.
default: false
default_domain:
description: >-
The domain assigned to the portal by Konnect. This is the
default place to access the portal and its API if not using a
`custom_domain``.
type: string
format: hostname
readOnly: true
canonical_domain:
type: string
format: hostname
description: The canonical domain of the developer portal
nullable: false
readOnly: true
labels:
$ref: '#/components/schemas/LabelsUpdate'
required:
- name
UpdatePortal:
description: Update a portal's settings.
required: true
content:
application/json:
schema:
x-speakeasy-entity: Portal
title: Portal
type: object
additionalProperties: false
properties:
id:
$ref: '#/components/schemas/UUID'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
name:
type: string
maxLength: 255
minLength: 1
description: >-
The name of the portal, used to distinguish it from other
portals. Name must be unique.
x-speakeasy-param-computed: false
nullable: true
default: null
display_name:
type: string
maxLength: 255
minLength: 1
description: >-
The display name of the portal. This value will be the
portal's `name` in Portal API.
x-speakeasy-param-computed: false
nullable: true
default: null
description:
type: string
nullable: true
maxLength: 512
description: A description of the portal.
x-speakeasy-param-computed: false
default: null
authentication_enabled:
type: boolean
description: >-
Whether the portal supports developer authentication. If
disabled, developers cannot register for accounts or create
applications.
default: true
rbac_enabled:
type: boolean
description: >-
Whether the portal resources are protected by Role Based
Access Control (RBAC). If enabled, developers view or register
for APIs until unless assigned to teams with access to view
and consume specific APIs. Authentication must be enabled to
use RBAC.
default: false
default_api_visibility:
type: string
description: >-
The default visibility of APIs in the portal. If set to
`public`, newly published APIs are visible to unauthenticated
developers. If set to `private`, newly published APIs are
hidden from unauthenticated developers.
enum:
- public
- private
default_page_visibility:
type: string
description: >-
The default visibility of pages in the portal. If set to
`public`, newly created pages are visible to unauthenticated
developers. If set to `private`, newly created pages are
hidden from unauthenticated developers.
enum:
- public
- private
default_application_auth_strategy_id:
type: string
format: uuid
description: >-
The default authentication strategy for APIs published to the
portal. Newly published APIs will use this authentication
strategy unless overridden during publication. If set to
`null`, API publications will not use an authentication
strategy unless set during publication.
nullable: true
x-speakeasy-param-computed: false
default: null
auto_approve_developers:
type: boolean
description: >-
Whether developer account registrations will be automatically
approved, or if they will be set to pending until approved by
an admin.
default: false
auto_approve_applications:
type: boolean
description: >-
Whether requests from applications to register for APIs will
be automatically approved, or if they will be set to pending
until approved by an admin.
default: false
default_domain:
description: >-
The domain assigned to the portal by Konnect. This is the
default place to access the portal and its API if not using a
`custom_domain``.
type: string
format: hostname
readOnly: true
canonical_domain:
type: string
format: hostname
description: The canonical domain of the developer portal
nullable: false
readOnly: true
labels:
$ref: '#/components/schemas/LabelsUpdate'
UpdateDeveloper:
description: Update a developer.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDeveloperRequest'
ReplacePortalImageAsset:
description: Update an image asset for the portal.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReplacePortalImageAsset'
ReplacePortalCustomization:
content:
application/json:
schema:
$ref: '#/components/schemas/PortalCustomization'
CreatePortalPage:
description: Create a page in a portal.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePortalPageRequest'
UpdatePortalPage:
description: Update a page in a portal.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePortalPageRequest'
MovePage:
description: move page
content:
application/json:
schema:
$ref: '#/components/schemas/MovePageRequestPayload'
CreatePortalSnippet:
description: Create a snippet in a portal.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePortalSnippetRequest'
UpdatePortalSnippet:
description: Update a snippet in a portal.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePortalSnippetRequest'
UpdateApplicationRegistration:
description: Update an application registration.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateApplicationRegistrationRequest'
ReplacePortalAuditLogReplayJob:
description: The request schema to replace a portal audit log replay job.
content:
application/json:
schema:
type: object
required:
- start_at
- end_at
properties:
start_at:
type: string
format: date-time
description: >-
The start of a date-time range in RFC3339 format e.g.
2017-07-21T17:32:28Z.
Must be within the last 7 days.
end_at:
type: string
format: date-time
description: >-
The end of a date-time range in RFC3339 format e.g.
2017-07-21T17:32:28Z.
Must be within the last 7 days.
UpdatePortalAuditLogWebhook:
description: The request schema to modify an portal audit log webhook.
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
example: true
description: >-
Indicates if the data should be sent to the configured
destination.
default: false
audit_log_destination_id:
type: string
format: uuid
description: ID of the audit log destination.
x-speakeasy-param-computed: false
nullable: true
default: null
PortalUpdateTeam:
description: Update a team in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalUpdateTeamRequest'
PortalCreateTeam:
description: Create a team in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalCreateTeamRequest'
UpdatePortalTeamGroupMappings:
content:
application/json:
schema:
$ref: '#/components/schemas/PortalTeamGroupMappingsUpdateRequest'
UpdatePortalAuthenticationSettings:
description: Update a portal's developer authentication settings.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalAuthenticationSettingsUpdateRequest'
PortalAssignRole:
description: Assign a role to a team.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalAssignRoleRequest'
AddDeveloperToTeam:
description: Add a developer to a team.
content:
application/json:
schema:
$ref: '#/components/schemas/AddDeveloperToTeamRequest'
PatchCustomPortalEmailTemplatePayload:
description: Update a custom portal email template.
required: true
content:
application/json:
schema:
type: object
properties:
content:
$ref: '#/components/schemas/EmailTemplateContent'
enabled:
type: boolean
description: Whether the email template is enabled or disabled for a portal
default: true
PatchPortalEmailConfigPayload:
description: Update a portal email configured.
content:
application/json:
schema:
$ref: '#/components/schemas/PatchPortalEmailConfig'
PostPortalEmailConfigPayload:
description: Create a portal email configuration.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostPortalEmailConfig'
PostSendTestEmailPayload:
description: Send a test email using a custom email template.
required: true
content:
application/json:
schema:
type: object
required:
- content
properties:
content:
$ref: '#/components/schemas/SendTestEmailTemplateContent'
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