openapi: 3.1.0
info:
title: Konnect API - Go SDK
version: 3.0.22
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.\nFor instance, they will be able to perform dynamic client registration (DCR) with the provider. \nThe 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.\n"
- name: App Auth Strategies
description: "Application Auth Strategies are sets of plugin configurations that represent how the gateway will perform authentication and authorization for a Product Version. \nCalled “Auth Strategy” for short in the context of portals/applications. \nThe plugins are synced to any Gateway Service that is currently linked or becomes linked to the Product Version.\n"
- 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/
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: GatewayControlPlaneList#read
summary: List Control Planes
responses:
'200':
$ref: '#/components/responses/ListControlPlanesResponse'
'400':
$ref: '#/components/responses/ControlPlanesBadRequest'
'401':
$ref: '#/components/responses/ControlPlaneUnauthenticated'
'403':
$ref: '#/components/responses/ControlPlanePermissionDenied'
'500':
$ref: '#/components/responses/Internal'
'503':
$ref: '#/components/responses/ServiceUnavailable'
operationId: list-control-planes
description: >-
Returns an array of control plane objects containing information about the Konnect Control Planes.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/ControlPlaneFilter'
- $ref: '#/components/parameters/FilterByLabels'
- $ref: '#/components/parameters/ControlPlaneSort'
tags:
- Control Planes
parameters: []
post:
x-speakeasy-entity-operation:
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'
examples:
Example Request Body:
$ref: '#/components/examples/CreateControlPlaneRequestExample'
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'
examples:
ConfigStoreNameBadRequestExample:
$ref: '#/components/examples/ConfigStoreNameBadRequestExample'
'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'
examples:
ConfigStoreNameBadRequestExample:
$ref: '#/components/examples/ConfigStoreNameBadRequestExample'
'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'
examples:
DeleteConfigStoreBadRequestExample:
$ref: '#/components/examples/DeleteConfigStoreBadRequestExample'
'401':
$ref: '#/components/responses/ConfigStoreUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
tags:
- Config Stores
/v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
- $ref: '#/components/parameters/configStoreId'
post:
summary: Create Config Store Secret
description: Creates a secret for a Config Store.
operationId: create-config-store-secret
responses:
'201':
$ref: '#/components/responses/ConfigStoreSecretResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
examples:
ConfigStoreSecretBadRequestExample:
$ref: '#/components/examples/ConfigStoreSecretBadRequestExample'
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
requestBody:
$ref: '#/components/requestBodies/CreateConfigStoreSecretRequest'
tags:
- Config Store Secrets
get:
summary: List Config Store Secrets
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageAfter'
description: Returns a collection of all secrets for a Config Store.
operationId: list-config-store-secrets
responses:
'200':
$ref: '#/components/responses/ListConfigStoreSecretsResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
tags:
- Config Store Secrets
/v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets/{key}:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
- $ref: '#/components/parameters/configStoreId'
- schema:
type: string
example: ConfigStoreSecretKey
name: key
in: path
required: true
description: Config Store Secret key
get:
summary: Fetch Config Store Secret
description: Returns a secret for the Config Store.
operationId: get-config-store-secret
responses:
'200':
$ref: '#/components/responses/ConfigStoreSecretResponse'
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
tags:
- Config Store Secrets
put:
summary: Update Config Store Secret
description: Updates a secret for a Config Store.
operationId: update-config-store-secret
responses:
'200':
$ref: '#/components/responses/ConfigStoreSecretResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
examples:
ConfigStoreSecretBadRequestExample:
$ref: '#/components/examples/ConfigStoreSecretBadRequestExample'
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
requestBody:
$ref: '#/components/requestBodies/UpdateConfigStoreSecretRequest'
tags:
- Config Store Secrets
delete:
summary: Delete Config Store Secret
description: Removes a secret from a Config Store.
operationId: delete-config-store-secret
responses:
'204':
description: Secret for the Config Store was deleted successfully.
'401':
$ref: '#/components/responses/ConfigStoreSecretUnauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/ConfigStoreSecretNotFound'
tags:
- Config Store Secrets
/v2/control-planes/{controlPlaneId}/core-entities/acls:
get:
operationId: list-acl
summary: List all ACLs
description: List all ACLs
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing ACLs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ACL'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- ACLs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/acls/{ACLId}:
get:
operationId: get-acl
summary: Fetch an ACL
description: Get an ACL using ID.
responses:
'200':
description: Successfully fetched ACL
content:
application/json:
schema:
$ref: '#/components/schemas/ACL'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- ACLs
parameters:
- $ref: '#/components/parameters/ACLId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/basic-auths:
get:
operationId: list-basic-auth
summary: List all Basic-auth credentials
description: List all Basic-auth credentials
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Basic-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BasicAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Basic-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/basic-auths/{BasicAuthId}:
get:
operationId: get-basic-auth
summary: Fetch a Basic-auth credential
description: Get a Basic-auth credential using ID.
responses:
'200':
description: Successfully fetched Basic-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuth'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Basic-auth credentials
parameters:
- $ref: '#/components/parameters/BasicAuthId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/ca_certificates:
get:
operationId: list-ca_certificate
summary: List all CA Certificates
description: List all CA Certificates
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing CA Certificates
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CACertificate'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CA Certificates
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-ca_certificate
summary: Create a new CA Certificate
description: Create a new CA Certificate
requestBody:
description: Description of the new CA Certificate for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
responses:
'201':
description: Successfully created CA Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CA Certificates
/v2/control-planes/{controlPlaneId}/core-entities/ca_certificates/{CACertificateId}:
delete:
operationId: delete-ca_certificate
summary: Delete a CA Certificate
description: Delete a CA Certificate
parameters:
- $ref: '#/components/parameters/CACertificateId'
responses:
'204':
description: Successfully deleted CA Certificate or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CA Certificates
get:
operationId: get-ca_certificate
summary: Fetch a CA Certificate
description: Get a CA Certificate using ID.
responses:
'200':
description: Successfully fetched CA Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- CA Certificates
parameters:
- $ref: '#/components/parameters/CACertificateId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-ca_certificate
summary: Upsert a CA Certificate
description: Create or Update CA Certificate using ID.
requestBody:
description: Description of the CA Certificate
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
responses:
'200':
description: Successfully upserted CA Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/CACertificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CA Certificates
/v2/control-planes/{controlPlaneId}/core-entities/certificates:
get:
operationId: list-certificate
summary: List all Certificates
description: List all Certificates
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Certificates
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Certificate'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-certificate
summary: Create a new Certificate
description: Create a new Certificate
requestBody:
description: Description of the new Certificate for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
responses:
'201':
description: Successfully created Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}:
delete:
operationId: delete-certificate
summary: Delete a Certificate
description: Delete a Certificate
parameters:
- $ref: '#/components/parameters/CertificateId'
responses:
'204':
description: Successfully deleted Certificate or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
get:
operationId: get-certificate
summary: Fetch a Certificate
description: Get a Certificate using ID.
responses:
'200':
description: Successfully fetched Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Certificates
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-certificate
summary: Upsert a Certificate
description: Create or Update Certificate using ID.
requestBody:
description: Description of the Certificate
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
responses:
'200':
description: Successfully upserted Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}/snis:
get:
operationId: list-sni-with-certificate
summary: List all SNIs associated with a Certificate
description: List all SNIs associated with a Certificate
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing SNIs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/SNI'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- SNIs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-sni-with-certificate
summary: Create a new SNI associated with a Certificate
description: Create a new SNI associated with a Certificate
parameters:
- $ref: '#/components/parameters/CertificateId'
requestBody:
description: Description of new SNI for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SNIWithoutParents'
responses:
'201':
description: Successfully created SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
tags:
- SNIs
/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}/snis/{SNIId}:
delete:
operationId: delete-sni-with-certificate
summary: Delete a an SNI associated with a Certificate
description: Delete a an SNI associated with a Certificate using ID or name.
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/SNIId'
responses:
'204':
description: Successfully deleted SNI or the resource didn't exist
tags:
- SNIs
get:
operationId: get-sni-with-certificate
summary: Fetch an SNI associated with a Certificate
description: Get an SNI associated with a Certificate using ID or name.
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/SNIId'
responses:
'200':
description: Successfully fetched SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
'404':
description: Resource does not exist
tags:
- SNIs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-sni-with-certificate
summary: Upsert an SNI associated with a Certificate
description: Create or Update an SNI associated with a Certificate using ID or name.
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/SNIId'
requestBody:
description: Description of the SNI
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SNIWithoutParents'
responses:
'200':
description: Successfully upserted SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
tags:
- SNIs
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups:
get:
operationId: list-consumer_group
summary: List all Consumer Groups
description: List all Consumer Groups
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Consumer Groups
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ConsumerGroup'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-consumer_group
summary: Create a new Consumer Group
description: Create a new Consumer Group
requestBody:
description: Description of the new Consumer Group for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroup'
responses:
'201':
description: Successfully created Consumer Group
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroup'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumer Groups
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}:
delete:
operationId: delete-consumer_group
summary: Delete a Consumer Group
description: Delete a Consumer Group
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
responses:
'204':
description: Successfully deleted Consumer Group or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumer Groups
get:
operationId: get-consumer_group
summary: Fetch a Consumer Group
description: Get a Consumer Group using ID.
responses:
'200':
description: Successfully fetched Consumer Group
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroupInsideWrapper'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-consumer_group
summary: Upsert a Consumer Group
description: Create or Update Consumer Group using ID.
requestBody:
description: Description of the Consumer Group
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroup'
responses:
'200':
description: Successfully upserted Consumer Group
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroup'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumer Groups
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/consumers:
delete:
operationId: remove-all-consumers-from-consumer-group
summary: Remove consumers from consumer group
description: >-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Removes all consumers from a Consumer Groups. This operation does not delete the consumer group.
responses:
'204':
description: Consumers removed from group
'404':
description: Consumer group or consumer association does not exist
tags:
- Consumer Groups
get:
operationId: list-consumers-for-consumer-group
summary: List all Consumers in a Consumer Group
description: List all consumers in a consumer group
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing of consumers
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Consumer'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/ConsumerGroupIdManageConsumers'
- $ref: '#/components/parameters/controlPlaneId'
post:
x-speakeasy-entity-operation: GatewayConsumerGroupMember#create
operationId: add-consumer-to-group
summary: Add consumer to consumer group
description: Add a consumer to a consumer group
requestBody:
content:
application/json:
schema:
type: object
properties:
consumer:
type: string
example: cf4c7e60-11db-49dd-b300-7c7e5f0f7e6b
x-speakeasy-name-override: consumer_id
responses:
'201':
description: Consumer added to group
content:
application/json:
schema:
type: object
properties:
consumer_group:
$ref: '#/components/schemas/ConsumerGroup'
consumers:
type: array
items:
$ref: '#/components/schemas/Consumer'
tags:
- Consumer Groups
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/consumers/{ConsumerId}:
delete:
x-speakeasy-entity-operation: GatewayConsumerGroupMember#delete
operationId: remove-consumer-from-group
summary: Remove consumer from consumer group
description: Remove a consumer from a consumer group
responses:
'204':
description: Consumer removed from group
tags:
- Consumer Groups
parameters:
- $ref: '#/components/parameters/ConsumerGroupIdManageConsumers'
- name: ConsumerId
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins:
get:
operationId: list-plugin-with-consumer_group
summary: List all Plugins associated with a Consumer Group
description: List all Plugins associated with a Consumer Group
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Plugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Plugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin-with-consumer_group
summary: Create a new Plugin associated with a Consumer Group
description: Create a new Plugin associated with a Consumer Group
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
requestBody:
description: Description of new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins/{PluginId}:
delete:
operationId: delete-plugin-with-consumer_group
summary: Delete a a Plugin associated with a Consumer Group
description: Delete a a Plugin associated with a Consumer Group using ID.
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
tags:
- Plugins
get:
operationId: get-plugin-with-consumer_group
summary: Fetch a Plugin associated with a Consumer Group
description: Get a Plugin associated with a Consumer Group using ID.
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/PluginId'
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin-with-consumer_group
summary: Upsert a Plugin associated with a Consumer Group
description: Create or Update a Plugin associated with a Consumer Group using ID.
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
- $ref: '#/components/parameters/PluginId'
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/consumers:
get:
operationId: list-consumer
summary: List all Consumers
description: List all Consumers
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Consumers
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Consumer'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumers
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-consumer
summary: Create a new Consumer
description: Create a new Consumer
requestBody:
description: Description of the new Consumer for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
responses:
'201':
description: Successfully created Consumer
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumers
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}:
delete:
operationId: delete-consumer
summary: Delete a Consumer
description: Delete a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerId'
responses:
'204':
description: Successfully deleted Consumer or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumers
get:
operationId: get-consumer
summary: Fetch a Consumer
description: Get a Consumer using ID or username.
responses:
'200':
description: Successfully fetched Consumer
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Consumers
parameters:
- $ref: '#/components/parameters/ConsumerId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-consumer
summary: Upsert a Consumer
description: Create or Update Consumer using ID or username.
requestBody:
description: Description of the Consumer
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
responses:
'200':
description: Successfully upserted Consumer
content:
application/json:
schema:
$ref: '#/components/schemas/Consumer'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Consumers
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}/consumer_groups:
delete:
operationId: remove-consumer-from-all-consumer-groups
summary: Remove consumer from 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'
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
responses:
'201':
description: Consumer added to a specific group
content:
application/json:
schema:
type: object
properties:
consumer:
$ref: '#/components/schemas/Consumer'
consumer_groups:
type: array
items:
$ref: '#/components/schemas/ConsumerGroup'
tags:
- 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'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- ACLs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-acl-with-consumer
summary: Create a new ACL associated with a Consumer
description: Create a new ACL associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new ACL for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ACLWithoutParents'
responses:
'201':
description: Successfully created ACL
content:
application/json:
schema:
$ref: '#/components/schemas/ACL'
tags:
- ACLs
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/acls/{ACLId}:
delete:
operationId: delete-acl-with-consumer
summary: Delete a an ACL associated with a Consumer
description: Delete a an ACL associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/ACLId'
responses:
'204':
description: Successfully deleted ACL or the resource didn't exist
tags:
- ACLs
get:
operationId: get-acl-with-consumer
summary: Fetch an ACL associated with a Consumer
description: Get an ACL associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/ACLId'
responses:
'200':
description: Successfully fetched ACL
content:
application/json:
schema:
$ref: '#/components/schemas/ACL'
'404':
description: Resource does not exist
tags:
- ACLs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-acl-with-consumer
summary: Upsert an ACL associated with a Consumer
description: Create or Update an ACL associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/ACLId'
requestBody:
description: Description of the ACL
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ACLWithoutParents'
responses:
'200':
description: Successfully upserted ACL
content:
application/json:
schema:
$ref: '#/components/schemas/ACL'
tags:
- ACLs
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/basic-auth:
get:
operationId: list-basic-auth-with-consumer
summary: List all Basic-auth credentials associated with a Consumer
description: List all Basic-auth credentials associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Basic-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BasicAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Basic-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-basic-auth-with-consumer
summary: Create a new Basic-auth credential associated with a Consumer
description: Create a new Basic-auth credential associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new Basic-auth credential for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuthWithoutParents'
responses:
'201':
description: Successfully created Basic-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuth'
tags:
- Basic-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/basic-auth/{BasicAuthId}:
delete:
operationId: delete-basic-auth-with-consumer
summary: Delete a a Basic-auth credential associated with a Consumer
description: Delete a a Basic-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/BasicAuthId'
responses:
'204':
description: >-
Successfully deleted Basic-auth credential or the resource didn't exist
tags:
- Basic-auth credentials
get:
operationId: get-basic-auth-with-consumer
summary: Fetch a Basic-auth credential associated with a Consumer
description: Get a Basic-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/BasicAuthId'
responses:
'200':
description: Successfully fetched Basic-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuth'
'404':
description: Resource does not exist
tags:
- Basic-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-basic-auth-with-consumer
summary: Upsert a Basic-auth credential associated with a Consumer
description: >-
Create or Update a Basic-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/BasicAuthId'
requestBody:
description: Description of the Basic-auth credential
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuthWithoutParents'
responses:
'200':
description: Successfully upserted Basic-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/BasicAuth'
tags:
- Basic-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth:
get:
operationId: list-hmac-auth-with-consumer
summary: List all HMAC-auth credentials associated with a Consumer
description: List all HMAC-auth credentials associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing HMAC-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/HMACAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-hmac-auth-with-consumer
summary: Create a new HMAC-auth credential associated with a Consumer
description: Create a new HMAC-auth credential associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new HMAC-auth credential for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuthWithoutParents'
responses:
'201':
description: Successfully created HMAC-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuth'
tags:
- HMAC-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth/{HMACAuthId}:
delete:
operationId: delete-hmac-auth-with-consumer
summary: Delete a a HMAC-auth credential associated with a Consumer
description: Delete a a HMAC-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/HMACAuthId'
responses:
'204':
description: >-
Successfully deleted HMAC-auth credential or the resource didn't exist
tags:
- HMAC-auth credentials
get:
operationId: get-hmac-auth-with-consumer
summary: Fetch a HMAC-auth credential associated with a Consumer
description: Get a HMAC-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/HMACAuthId'
responses:
'200':
description: Successfully fetched HMAC-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuth'
'404':
description: Resource does not exist
tags:
- HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-hmac-auth-with-consumer
summary: Upsert a HMAC-auth credential associated with a Consumer
description: >-
Create or Update a HMAC-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/HMACAuthId'
requestBody:
description: Description of the HMAC-auth credential
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuthWithoutParents'
responses:
'200':
description: Successfully upserted HMAC-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuth'
tags:
- HMAC-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/jwt:
get:
operationId: list-jwt-with-consumer
summary: List all JWTs associated with a Consumer
description: List all JWTs associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing JWTs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/JWT'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- JWTs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-jwt-with-consumer
summary: Create a new JWT associated with a Consumer
description: Create a new JWT associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new JWT for creation
content:
application/json:
schema:
$ref: '#/components/schemas/JWTWithoutParents'
responses:
'201':
description: Successfully created JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWT'
tags:
- JWTs
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/jwt/{JWTId}:
delete:
operationId: delete-jwt-with-consumer
summary: Delete a a JWT associated with a Consumer
description: Delete a a JWT associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/JWTId'
responses:
'204':
description: Successfully deleted JWT or the resource didn't exist
tags:
- JWTs
get:
operationId: get-jwt-with-consumer
summary: Fetch a JWT associated with a Consumer
description: Get a JWT associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/JWTId'
responses:
'200':
description: Successfully fetched JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWT'
'404':
description: Resource does not exist
tags:
- JWTs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-jwt-with-consumer
summary: Upsert a JWT associated with a Consumer
description: Create or Update a JWT associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/JWTId'
requestBody:
description: Description of the JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWTWithoutParents'
responses:
'200':
description: Successfully upserted JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWT'
tags:
- JWTs
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth:
get:
operationId: list-key-auth-with-consumer
summary: List all API-keys associated with a Consumer
description: List all API-keys associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing API-keys
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/KeyAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- API-keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-key-auth-with-consumer
summary: Create a new API-key associated with a Consumer
description: Create a new API-key associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new API-key for creation
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuthWithoutParents'
responses:
'201':
description: Successfully created API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuth'
tags:
- API-keys
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth/{KeyAuthId}:
delete:
operationId: delete-key-auth-with-consumer
summary: Delete a an API-key associated with a Consumer
description: Delete a an API-key associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/KeyAuthId'
responses:
'204':
description: Successfully deleted API-key or the resource didn't exist
tags:
- API-keys
get:
operationId: get-key-auth-with-consumer
summary: Fetch an API-key associated with a Consumer
description: Get an API-key associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/KeyAuthId'
responses:
'200':
description: Successfully fetched API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuth'
'404':
description: Resource does not exist
tags:
- API-keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-key-auth-with-consumer
summary: Upsert an API-key associated with a Consumer
description: Create or Update an API-key associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/KeyAuthId'
requestBody:
description: Description of the API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuthWithoutParents'
responses:
'200':
description: Successfully upserted API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuth'
tags:
- API-keys
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth:
get:
operationId: list-mtls-auth-with-consumer
summary: List all MTLS-auth credentials associated with a Consumer
description: List all MTLS-auth credentials associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing MTLS-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MTLSAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-mtls-auth-with-consumer
summary: Create a new MTLS-auth credential associated with a Consumer
description: Create a new MTLS-auth credential associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new MTLS-auth credential for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuthWithoutParents'
responses:
'201':
description: Successfully created MTLS-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuth'
tags:
- MTLS-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth/{MTLSAuthId}:
delete:
operationId: delete-mtls-auth-with-consumer
summary: Delete a a MTLS-auth credential associated with a Consumer
description: Delete a a MTLS-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/MTLSAuthId'
responses:
'204':
description: >-
Successfully deleted MTLS-auth credential or the resource didn't exist
tags:
- MTLS-auth credentials
get:
operationId: get-mtls-auth-with-consumer
summary: Fetch a MTLS-auth credential associated with a Consumer
description: Get a MTLS-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/MTLSAuthId'
responses:
'200':
description: Successfully fetched MTLS-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuth'
'404':
description: Resource does not exist
tags:
- MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-mtls-auth-with-consumer
summary: Upsert a MTLS-auth credential associated with a Consumer
description: >-
Create or Update a MTLS-auth credential associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/MTLSAuthId'
requestBody:
description: Description of the MTLS-auth credential
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuthWithoutParents'
responses:
'200':
description: Successfully upserted MTLS-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuth'
tags:
- MTLS-auth credentials
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins:
get:
operationId: list-plugin-with-consumer
summary: List all Plugins associated with a Consumer
description: List all Plugins associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Plugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Plugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin-with-consumer
summary: Create a new Plugin associated with a Consumer
description: Create a new Plugin associated with a Consumer
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
requestBody:
description: Description of new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins/{PluginId}:
delete:
operationId: delete-plugin-with-consumer
summary: Delete a a Plugin associated with a Consumer
description: Delete a a Plugin associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
tags:
- Plugins
get:
operationId: get-plugin-with-consumer
summary: Fetch a Plugin associated with a Consumer
description: Get a Plugin associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PluginId'
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin-with-consumer
summary: Upsert a Plugin associated with a Consumer
description: Create or Update a Plugin associated with a Consumer using ID.
parameters:
- $ref: '#/components/parameters/ConsumerIdForNestedEntities'
- $ref: '#/components/parameters/PluginId'
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/custom-plugins:
get:
operationId: list-custom-plugin
summary: List all CustomPlugins
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
List all CustomPlugins
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing CustomPlugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CustomPlugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CustomPlugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-custom-plugin
summary: Create a new CustomPlugin
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Create a new CustomPlugin
requestBody:
description: Description of the new CustomPlugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
responses:
'201':
description: Successfully created CustomPlugin
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CustomPlugins
/v2/control-planes/{controlPlaneId}/core-entities/custom-plugins/{CustomPluginId}:
delete:
operationId: delete-custom-plugin
summary: Delete a CustomPlugin
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Delete a CustomPlugin
parameters:
- $ref: '#/components/parameters/CustomPluginId'
responses:
'204':
description: Successfully deleted CustomPlugin or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CustomPlugins
get:
operationId: get-custom-plugin
summary: Fetch a CustomPlugin
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Get a CustomPlugin using ID or name.
responses:
'200':
description: Successfully fetched CustomPlugin
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- CustomPlugins
parameters:
- $ref: '#/components/parameters/CustomPluginId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-custom-plugin
summary: Upsert a CustomPlugin
description: |-
**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.
Create or Update CustomPlugin using ID or name.
requestBody:
description: Description of the CustomPlugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
responses:
'200':
description: Successfully upserted CustomPlugin
content:
application/json:
schema:
$ref: '#/components/schemas/CustomPlugin'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- CustomPlugins
/v2/control-planes/{controlPlaneId}/core-entities/degraphql_routes:
get:
operationId: list-degraphql_route
summary: List all Degraphql_routes
description: List all Degraphql_routes
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Degraphql_routes
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Degraphql_route'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Degraphql_routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/degraphql_routes/{Degraphql_routeId}:
get:
operationId: get-degraphql_route
summary: Fetch a Degraphql_route
description: Get a Degraphql_route using ID or name.
responses:
'200':
description: Successfully fetched Degraphql_route
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_route'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Degraphql_routes
parameters:
- $ref: '#/components/parameters/Degraphql_routeId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/hmac-auths:
get:
operationId: list-hmac-auth
summary: List all HMAC-auth credentials
description: List all HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing HMAC-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/HMACAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/hmac-auths/{HMACAuthId}:
get:
operationId: get-hmac-auth
summary: Fetch a HMAC-auth credential
description: Get a HMAC-auth credential using ID.
responses:
'200':
description: Successfully fetched HMAC-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/HMACAuth'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- HMAC-auth credentials
parameters:
- $ref: '#/components/parameters/HMACAuthId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/jwts:
get:
operationId: list-jwt
summary: List all JWTs
description: List all JWTs
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing JWTs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/JWT'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- JWTs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/jwts/{JWTId}:
get:
operationId: get-jwt
summary: Fetch a JWT
description: Get a JWT using ID.
responses:
'200':
description: Successfully fetched JWT
content:
application/json:
schema:
$ref: '#/components/schemas/JWT'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- JWTs
parameters:
- $ref: '#/components/parameters/JWTId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/key-auths:
get:
operationId: list-key-auth
summary: List all API-keys
description: List all API-keys
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing API-keys
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/KeyAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- API-keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/key-auths/{KeyAuthId}:
get:
operationId: get-key-auth
summary: Fetch an API-key
description: Get an API-key using ID.
responses:
'200':
description: Successfully fetched API-key
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuth'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- API-keys
parameters:
- $ref: '#/components/parameters/KeyAuthId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/key-sets:
get:
operationId: list-key-set
summary: List all KeySets
description: List all KeySets
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing KeySets
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/KeySet'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- KeySets
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-key-set
summary: Create a new KeySet
description: Create a new KeySet
requestBody:
description: Description of the new KeySet for creation
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'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-key-with-key-set
summary: Create a new Key associated with a KeySet
description: Create a new Key associated with a KeySet
parameters:
- $ref: '#/components/parameters/KeySetId'
requestBody:
description: Description of new Key for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/KeyWithoutParents'
responses:
'201':
description: Successfully created Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
tags:
- Keys
/v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}/keys/{KeyId}:
delete:
operationId: delete-key-with-key-set
summary: Delete a a Key associated with a KeySet
description: Delete a a Key associated with a KeySet using ID or name.
parameters:
- $ref: '#/components/parameters/KeySetId'
- $ref: '#/components/parameters/KeyId'
responses:
'204':
description: Successfully deleted Key or the resource didn't exist
tags:
- Keys
get:
operationId: get-key-with-key-set
summary: Fetch a Key associated with a KeySet
description: Get a Key associated with a KeySet using ID or name.
parameters:
- $ref: '#/components/parameters/KeySetId'
- $ref: '#/components/parameters/KeyId'
responses:
'200':
description: Successfully fetched Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
'404':
description: Resource does not exist
tags:
- Keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-key-with-key-set
summary: Upsert a Key associated with a KeySet
description: Create or Update a Key associated with a KeySet using ID or name.
parameters:
- $ref: '#/components/parameters/KeySetId'
- $ref: '#/components/parameters/KeyId'
requestBody:
description: Description of the Key
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/KeyWithoutParents'
responses:
'200':
description: Successfully upserted Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
tags:
- Keys
/v2/control-planes/{controlPlaneId}/core-entities/keys:
get:
operationId: list-key
summary: List all Keys
description: List all Keys
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Keys
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Key'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Keys
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-key
summary: Create a new Key
description: Create a new Key
requestBody:
description: Description of the new Key for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
responses:
'201':
description: Successfully created Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Keys
/v2/control-planes/{controlPlaneId}/core-entities/keys/{KeyId}:
delete:
operationId: delete-key
summary: Delete a Key
description: Delete a Key
parameters:
- $ref: '#/components/parameters/KeyId'
responses:
'204':
description: Successfully deleted Key or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Keys
get:
operationId: get-key
summary: Fetch a Key
description: Get a Key using ID or name.
responses:
'200':
description: Successfully fetched Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Keys
parameters:
- $ref: '#/components/parameters/KeyId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-key
summary: Upsert a Key
description: Create or Update Key using ID or name.
requestBody:
description: Description of the Key
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
responses:
'200':
description: Successfully upserted Key
content:
application/json:
schema:
$ref: '#/components/schemas/Key'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Keys
/v2/control-planes/{controlPlaneId}/core-entities/mtls-auths:
get:
operationId: list-mtls-auth
summary: List all MTLS-auth credentials
description: List all MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing MTLS-auth credentials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MTLSAuth'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/mtls-auths/{MTLSAuthId}:
get:
operationId: get-mtls-auth
summary: Fetch a MTLS-auth credential
description: Get a MTLS-auth credential using ID.
responses:
'200':
description: Successfully fetched MTLS-auth credential
content:
application/json:
schema:
$ref: '#/components/schemas/MTLSAuth'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- MTLS-auth credentials
parameters:
- $ref: '#/components/parameters/MTLSAuthId'
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/partials:
get:
operationId: list-partial
summary: List all Partials
description: List all Partials
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Partials
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Partial'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Partials
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-partial
summary: Create a new Partial
description: Create a new Partial
requestBody:
description: Description of the new Partial for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
responses:
'201':
description: Successfully created Partial
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Partials
/v2/control-planes/{controlPlaneId}/core-entities/partials/{PartialId}:
delete:
operationId: delete-partial
summary: Delete a Partial
description: Delete a Partial
parameters:
- $ref: '#/components/parameters/PartialId'
responses:
'204':
description: Successfully deleted Partial or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Partials
get:
operationId: get-partial
summary: Fetch a Partial
description: Get a Partial using ID.
responses:
'200':
description: Successfully fetched Partial
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Partials
parameters:
- $ref: '#/components/parameters/PartialId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-partial
summary: Upsert a Partial
description: Create or Update Partial using ID.
requestBody:
description: Description of the Partial
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
responses:
'200':
description: Successfully upserted Partial
content:
application/json:
schema:
$ref: '#/components/schemas/Partial'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Partials
/v2/control-planes/{controlPlaneId}/core-entities/partials/{PartialId}/links:
get:
operationId: list-partial-link
summary: List partial links
description: List all plugins linked to the partial
parameters:
- $ref: '#/components/parameters/PartialId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: The plugins linked to the partial
content:
application/json:
schema:
type: object
properties:
count:
description: The total number of plugins linked to the partial
type: integer
example: 10
data:
type: array
items:
$ref: '#/components/schemas/PartialLink'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Partial Links
parameters:
- $ref: '#/components/parameters/controlPlaneId'
/v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
get:
summary: List Custom Plugin Schemas
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'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin
summary: Create a new Plugin
description: Create a new Plugin
requestBody:
description: Description of the new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/plugins/{PluginId}:
delete:
operationId: delete-plugin
summary: Delete a Plugin
description: Delete a Plugin
parameters:
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Plugins
get:
operationId: get-plugin
summary: Fetch a Plugin
description: Get a Plugin using ID.
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/PluginId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin
summary: Upsert a Plugin
description: Create or Update Plugin using ID.
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/routes:
get:
operationId: list-route
summary: List all Routes
description: List all Routes
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Routes
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Route'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-route
summary: Create a new Route
description: Create a new Route
requestBody:
description: Description of the new Route for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
responses:
'201':
description: Successfully created Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Routes
/v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}:
delete:
operationId: delete-route
summary: Delete a Route
description: Delete a Route
parameters:
- $ref: '#/components/parameters/RouteId'
responses:
'204':
description: Successfully deleted Route or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Routes
get:
operationId: get-route
summary: Fetch a Route
description: Get a Route using ID or name.
responses:
'200':
description: Successfully fetched Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Routes
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-route
summary: Upsert a Route
description: Create or Update Route using ID or name.
requestBody:
description: Description of the Route
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
responses:
'200':
description: Successfully upserted Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Routes
/v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}/plugins:
get:
operationId: list-plugin-with-route
summary: List all Plugins associated with a Route
description: List all Plugins associated with a Route
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Plugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Plugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin-with-route
summary: Create a new Plugin associated with a Route
description: Create a new Plugin associated with a Route
parameters:
- $ref: '#/components/parameters/RouteId'
requestBody:
description: Description of new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}/plugins/{PluginId}:
delete:
operationId: delete-plugin-with-route
summary: Delete a a Plugin associated with a Route
description: Delete a a Plugin associated with a Route using ID.
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
tags:
- Plugins
get:
operationId: get-plugin-with-route
summary: Fetch a Plugin associated with a Route
description: Get a Plugin associated with a Route using ID.
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/PluginId'
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin-with-route
summary: Upsert a Plugin associated with a Route
description: Create or Update a Plugin associated with a Route using ID.
parameters:
- $ref: '#/components/parameters/RouteId'
- $ref: '#/components/parameters/PluginId'
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/schemas/{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:
$ref: '#/components/schemas/EntityBody'
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'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Services
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-service
summary: Create a new Service
description: Create a new Service
requestBody:
description: Description of the new Service for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
responses:
'201':
description: Successfully created Service
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Services
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}:
delete:
operationId: delete-service
summary: Delete a Service
description: Delete a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
responses:
'204':
description: Successfully deleted Service or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Services
get:
operationId: get-service
summary: Fetch a Service
description: Get a Service using ID or name.
responses:
'200':
description: Successfully fetched Service
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Services
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-service
summary: Upsert a Service
description: Create or Update Service using ID or name.
requestBody:
description: Description of the Service
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
responses:
'200':
description: Successfully upserted Service
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Services
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/degraphql/routes:
get:
operationId: list-degraphql_route-with-service
summary: List all Degraphql_routes associated with a Service
description: List all Degraphql_routes associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Degraphql_routes
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Degraphql_route'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Degraphql_routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-degraphql_route-with-service
summary: Create a new Degraphql_route associated with a Service
description: Create a new Degraphql_route associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
requestBody:
description: Description of new Degraphql_route for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_routeWithoutParents'
responses:
'201':
description: Successfully created Degraphql_route
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_route'
tags:
- Degraphql_routes
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/degraphql/routes/{Degraphql_routeId}:
delete:
operationId: delete-degraphql_route-with-service
summary: Delete a a Degraphql_route associated with a Service
description: Delete a a Degraphql_route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/Degraphql_routeId'
responses:
'204':
description: Successfully deleted Degraphql_route or the resource didn't exist
tags:
- Degraphql_routes
get:
operationId: get-degraphql_route-with-service
summary: Fetch a Degraphql_route associated with a Service
description: Get a Degraphql_route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/Degraphql_routeId'
responses:
'200':
description: Successfully fetched Degraphql_route
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_route'
'404':
description: Resource does not exist
tags:
- Degraphql_routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-degraphql_route-with-service
summary: Upsert a Degraphql_route associated with a Service
description: >-
Create or Update a Degraphql_route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/Degraphql_routeId'
requestBody:
description: Description of the Degraphql_route
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_routeWithoutParents'
responses:
'200':
description: Successfully upserted Degraphql_route
content:
application/json:
schema:
$ref: '#/components/schemas/Degraphql_route'
tags:
- Degraphql_routes
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/plugins:
get:
operationId: list-plugin-with-service
summary: List all Plugins associated with a Service
description: List all Plugins associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Plugins
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Plugin'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-plugin-with-service
summary: Create a new Plugin associated with a Service
description: Create a new Plugin associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
requestBody:
description: Description of new Plugin for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'201':
description: Successfully created Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/plugins/{PluginId}:
delete:
operationId: delete-plugin-with-service
summary: Delete a a Plugin associated with a Service
description: Delete a a Plugin associated with a Service using ID.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PluginId'
responses:
'204':
description: Successfully deleted Plugin or the resource didn't exist
tags:
- Plugins
get:
operationId: get-plugin-with-service
summary: Fetch a Plugin associated with a Service
description: Get a Plugin associated with a Service using ID.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PluginId'
responses:
'200':
description: Successfully fetched Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
'404':
description: Resource does not exist
tags:
- Plugins
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-plugin-with-service
summary: Upsert a Plugin associated with a Service
description: Create or Update a Plugin associated with a Service using ID.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PluginId'
requestBody:
description: Description of the Plugin
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PluginWithoutParents'
responses:
'200':
description: Successfully upserted Plugin
content:
application/json:
schema:
$ref: '#/components/schemas/Plugin'
tags:
- Plugins
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/routes:
get:
operationId: list-route-with-service
summary: List all Routes associated with a Service
description: List all Routes associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Routes
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Route'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-route-with-service
summary: Create a new Route associated with a Service
description: Create a new Route associated with a Service
parameters:
- $ref: '#/components/parameters/ServiceId'
requestBody:
description: Description of new Route for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RouteWithoutParents'
responses:
'201':
description: Successfully created Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
tags:
- Routes
/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/routes/{RouteId}:
delete:
operationId: delete-route-with-service
summary: Delete a a Route associated with a Service
description: Delete a a Route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/RouteId'
responses:
'204':
description: Successfully deleted Route or the resource didn't exist
tags:
- Routes
get:
operationId: get-route-with-service
summary: Fetch a Route associated with a Service
description: Get a Route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/RouteId'
responses:
'200':
description: Successfully fetched Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
'404':
description: Resource does not exist
tags:
- Routes
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-route-with-service
summary: Upsert a Route associated with a Service
description: Create or Update a Route associated with a Service using ID or name.
parameters:
- $ref: '#/components/parameters/ServiceId'
- $ref: '#/components/parameters/RouteId'
requestBody:
description: Description of the Route
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RouteWithoutParents'
responses:
'200':
description: Successfully upserted Route
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
tags:
- Routes
/v2/control-planes/{controlPlaneId}/core-entities/snis:
get:
operationId: list-sni
summary: List all SNIs
description: List all SNIs
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing SNIs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/SNI'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- SNIs
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-sni
summary: Create a new SNI
description: Create a new SNI
requestBody:
description: Description of the new SNI for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
responses:
'201':
description: Successfully created SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- SNIs
/v2/control-planes/{controlPlaneId}/core-entities/snis/{SNIId}:
delete:
operationId: delete-sni
summary: Delete an SNI
description: Delete an SNI
parameters:
- $ref: '#/components/parameters/SNIId'
responses:
'204':
description: Successfully deleted SNI or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- SNIs
get:
operationId: get-sni
summary: Fetch an SNI
description: Get an SNI using ID or name.
responses:
'200':
description: Successfully fetched SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- SNIs
parameters:
- $ref: '#/components/parameters/SNIId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-sni
summary: Upsert a SNI
description: Create or Update SNI using ID or name.
requestBody:
description: Description of the SNI
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
responses:
'200':
description: Successfully upserted SNI
content:
application/json:
schema:
$ref: '#/components/schemas/SNI'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- SNIs
/v2/control-planes/{controlPlaneId}/core-entities/upstreams:
get:
operationId: list-upstream
summary: List all Upstreams
description: List all Upstreams
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Upstreams
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Upstream'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Upstreams
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-upstream
summary: Create a new Upstream
description: Create a new Upstream
requestBody:
description: Description of the new Upstream for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
responses:
'201':
description: Successfully created Upstream
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Upstreams
/v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamId}:
delete:
operationId: delete-upstream
summary: Delete an Upstream
description: Delete an Upstream
parameters:
- $ref: '#/components/parameters/UpstreamId'
responses:
'204':
description: Successfully deleted Upstream or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Upstreams
get:
operationId: get-upstream
summary: Fetch an Upstream
description: Get an Upstream using ID or name.
responses:
'200':
description: Successfully fetched Upstream
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Upstreams
parameters:
- $ref: '#/components/parameters/UpstreamId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-upstream
summary: Upsert a Upstream
description: Create or Update Upstream using ID or name.
requestBody:
description: Description of the Upstream
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
responses:
'200':
description: Successfully upserted Upstream
content:
application/json:
schema:
$ref: '#/components/schemas/Upstream'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Upstreams
/v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamIdForTarget}/targets:
get:
operationId: list-target-with-upstream
summary: List all Targets associated with an Upstream
description: List all Targets associated with an Upstream
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Targets
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Target'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
tags:
- Targets
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-target-with-upstream
summary: Create a new Target associated with an Upstream
description: Create a new Target associated with an Upstream
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
requestBody:
description: Description of new Target for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TargetWithoutParents'
responses:
'201':
description: Successfully created Target
content:
application/json:
schema:
$ref: '#/components/schemas/Target'
tags:
- Targets
/v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamIdForTarget}/targets/{TargetId}:
delete:
operationId: delete-target-with-upstream
summary: Delete a a Target associated with an Upstream
description: Delete a a Target associated with an Upstream using ID or target.
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
- $ref: '#/components/parameters/TargetId'
responses:
'204':
description: Successfully deleted Target or the resource didn't exist
tags:
- Targets
get:
operationId: get-target-with-upstream
summary: Fetch a Target associated with an Upstream
description: Get a Target associated with an Upstream using ID or target.
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
- $ref: '#/components/parameters/TargetId'
responses:
'200':
description: Successfully fetched Target
content:
application/json:
schema:
$ref: '#/components/schemas/Target'
'404':
description: Resource does not exist
tags:
- Targets
parameters:
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-target-with-upstream
summary: Upsert a Target associated with an Upstream
description: >-
Create or Update a Target associated with an Upstream using ID or target.
parameters:
- $ref: '#/components/parameters/UpstreamIdForTarget'
- $ref: '#/components/parameters/TargetId'
requestBody:
description: Description of the Target
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TargetWithoutParents'
responses:
'200':
description: Successfully upserted Target
content:
application/json:
schema:
$ref: '#/components/schemas/Target'
tags:
- Targets
/v2/control-planes/{controlPlaneId}/core-entities/vaults:
get:
operationId: list-vault
summary: List all Vaults
description: List all Vaults
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Vaults
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Vault'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Vaults
parameters:
- $ref: '#/components/parameters/controlPlaneId'
post:
operationId: create-vault
summary: Create a new Vault
description: Create a new Vault
requestBody:
description: Description of the new Vault for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
responses:
'201':
description: Successfully created Vault
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Vaults
/v2/control-planes/{controlPlaneId}/core-entities/vaults/{VaultId}:
delete:
operationId: delete-vault
summary: Delete a Vault
description: Delete a Vault
parameters:
- $ref: '#/components/parameters/VaultId'
responses:
'204':
description: Successfully deleted Vault or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Vaults
get:
operationId: get-vault
summary: Fetch a Vault
description: Get a Vault using ID or prefix.
responses:
'200':
description: Successfully fetched Vault
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Vaults
parameters:
- $ref: '#/components/parameters/VaultId'
- $ref: '#/components/parameters/controlPlaneId'
put:
operationId: upsert-vault
summary: Upsert a Vault
description: Create or Update Vault using ID or prefix.
requestBody:
description: Description of the Vault
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
responses:
'200':
description: Successfully upserted Vault
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Vaults
/v2/control-planes/{controlPlaneId}/dp-client-certificates:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
get:
summary: List DP Client Certificates
responses:
'200':
$ref: '#/components/responses/ListDataPlaneCertificatesResponse'
'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'
examples:
Example Request Body:
$ref: '#/components/examples/UpdateControlPlaneRequestExample'
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'
examples:
ApiNameBadRequestExample:
$ref: '#/components/examples/ApiNameBadRequestExample'
'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'
examples:
InvalidApiSortQueryBadRequestExample:
$ref: >-
#/components/examples/InvalidApiSortQueryNameBadRequestExample
'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'
examples:
InvalidApiSortQueryBadRequestExample:
$ref: >-
#/components/examples/InvalidApiSortQueryNameBadRequestExample
'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'
examples:
ApiNameBadRequestExample:
$ref: '#/components/examples/ApiNameBadRequestExample'
'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/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'
examples:
ApiNameBadRequestExample:
$ref: '#/components/examples/ApiDocumentBadRequestExample'
'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'
examples:
InvalidApiSortQueryBadRequestExample:
$ref: '#/components/examples/InvalidApiSortQueryBadRequestExample'
'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'
examples:
ApiNameBadRequestExample:
$ref: '#/components/examples/ApiDocumentBadRequestExample'
'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'
examples:
ApiImplementationBadRequestExample:
$ref: '#/components/examples/ApiImplementationBadRequestExample'
'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'
examples:
ApiSpecContentBadRequestExample:
$ref: '#/components/examples/ApiSpecContentBadRequestExample'
'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'
examples:
ApiSpecContentBadRequestExample:
$ref: '#/components/examples/ApiSpecContentBadRequestExample'
'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'
examples:
ApiVersionBadRequestExample:
$ref: '#/components/examples/ApiVersionBadRequestExample'
'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'
examples:
ApiVersionBadRequestExample:
$ref: '#/components/examples/ApiVersionBadRequestExample'
'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 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'
examples:
ApiSpecContentBadRequestExample:
$ref: '#/components/examples/ApiSpecContentBadRequestExample'
ApiSpecValidationFailedBadRequestExample:
$ref: '#/components/examples/ValidateApiSpecBadRequestExample'
'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/
parameters: []
patch:
summary: Update IdP Configuration
operationId: update-idp-configuration
responses:
'200':
$ref: '#/components/responses/IdPConfiguration'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
description: Update the IdP configuration.
requestBody:
$ref: '#/components/requestBodies/UpdateIdPConfiguration'
tags:
- Auth Settings
servers:
- url: https://global.api.konghq.com/
/v3/identity-provider/team-group-mappings:
get:
summary: Fetch Team Group Mappings
operationId: get-team-group-mappings
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/TeamGroupMappingCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
tags:
- Auth Settings
description: >-
Retrieves the mappings between Konnect Teams and Identity Provider Groups.
Returns a 400 error if an Identity Provider has not yet been configured.
servers:
- url: https://global.api.konghq.com/
patch:
summary: Patch Mappings by Team ID
operationId: patch-team-group-mappings
responses:
'200':
$ref: '#/components/responses/TeamGroupMappingCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
tags:
- Auth Settings
description: >-
Allows partial updates to the mappings between Konnect Teams and Identity Provider Groups.
The request body must be keyed on team ID. For a given team ID, the given group list is a
complete replacement. To remove all mappings for a given team, provide an empty group list.
Returns a 400 error if an Identity Provider has not yet been configured, or if a team ID in
the request body is not found or is not a UUID.
requestBody:
$ref: '#/components/requestBodies/PatchTeamGroupMappings'
servers:
- url: https://global.api.konghq.com/
/v3/identity-provider/team-mappings:
put:
summary: Update Team Mappings
operationId: update-idp-team-mappings
responses:
'200':
$ref: '#/components/responses/TeamMappingCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
'412':
$ref: '#/components/responses/PreconditionFailed'
tags:
- Auth Settings
description: Updates the IdP group to Konnect team mapping.
requestBody:
$ref: '#/components/requestBodies/UpdateTeamMappings'
servers:
- url: https://global.api.konghq.com/
get:
summary: Fetch Team Mapping
operationId: get-idp-team-mappings
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
responses:
'200':
$ref: '#/components/responses/TeamMappingResponse'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
'412':
$ref: '#/components/responses/PreconditionFailed'
tags:
- Auth Settings
description: Fetch the IdP group to Konnect team mapping.
servers:
- url: https://global.api.konghq.com/
/v3/identity-providers:
get:
summary: Retrieve Identity Providers
description: "Retrieves the identity providers available within the organization. This operation provides information about \nvarious identity providers for SAML or OIDC authentication integrations.\n"
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 \nauthentication purposes.\n"
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 \nspecific identity provider's settings and authentication integration details.\n"
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 \nto an existing identity provider's configuration.\n"
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 \nfrom the organization.\n"
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:
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'
examples:
ListPortalsBadRequestExample1:
$ref: '#/components/examples/ListPortalsBadRequestExample1'
ListPortalsBadRequestExample2:
$ref: '#/components/examples/ListPortalsBadRequestExample2'
ListPortalsBadRequestExample3:
$ref: '#/components/examples/ListPortalsBadRequestExample3'
'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'
examples:
UpdatePortalBadRequestExample1:
$ref: '#/components/examples/UpdatePortalBadRequestExample1'
UpdatePortalBadRequestExample2:
$ref: '#/components/examples/UpdatePortalBadRequestExample2'
UpdatePortalBadRequestExample3:
$ref: '#/components/examples/UpdatePortalBadRequestExample3'
UpdatePortalBadRequestExample4:
$ref: '#/components/examples/UpdatePortalBadRequestExample4'
UpdatePortalBadRequestExample5:
$ref: '#/components/examples/UpdatePortalBadRequestExample5'
'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'
examples:
UpdatePortalBadRequestExample1:
$ref: '#/components/examples/UpdatePortalBadRequestExample1'
UpdatePortalBadRequestExample2:
$ref: '#/components/examples/UpdatePortalBadRequestExample2'
UpdatePortalBadRequestExample3:
$ref: '#/components/examples/UpdatePortalBadRequestExample3'
UpdatePortalBadRequestExample4:
$ref: '#/components/examples/UpdatePortalBadRequestExample4'
UpdatePortalBadRequestExample5:
$ref: '#/components/examples/UpdatePortalBadRequestExample5'
'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'
examples:
ListApplicationRegistrationsByPortalBadRequestExample1:
$ref: >-
#/components/examples/ListApplicationRegistrationsByPortalBadRequestExample1
ListApplicationRegistrationsByPortalBadRequestExample2:
$ref: >-
#/components/examples/ListApplicationRegistrationsByPortalBadRequestExample2
ListApplicationRegistrationsByPortalBadRequestExample3:
$ref: >-
#/components/examples/ListApplicationRegistrationsByPortalBadRequestExample3
ListApplicationRegistrationsByPortalBadRequestExample4:
$ref: >-
#/components/examples/ListApplicationRegistrationsByPortalBadRequestExample4
'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'
examples:
ListApplicationsBadRequestExample1:
$ref: '#/components/examples/ListApplicationsBadRequestExample1'
ListApplicationsBadRequestExample2:
$ref: '#/components/examples/ListApplicationsBadRequestExample2'
ListApplicationsBadRequestExample3:
$ref: '#/components/examples/ListApplicationsBadRequestExample3'
ListApplicationsBadRequestExample4:
$ref: '#/components/examples/ListApplicationsBadRequestExample4'
'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'
examples:
ListDevelopersByApplicationBadRequestExample1:
$ref: >-
#/components/examples/ListDevelopersByApplicationBadRequestExample1
ListDevelopersByApplicationBadRequestExample2:
$ref: >-
#/components/examples/ListDevelopersByApplicationBadRequestExample2
ListDevelopersByApplicationBadRequestExample3:
$ref: >-
#/components/examples/ListDevelopersByApplicationBadRequestExample3
ListDevelopersByApplicationBadRequestExample4:
$ref: >-
#/components/examples/ListDevelopersByApplicationBadRequestExample4
'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'
examples:
ListRegistrationsByApplicationBadRequestExample1:
$ref: >-
#/components/examples/ListRegistrationsByApplicationBadRequestExample1
ListRegistrationsByApplicationBadRequestExample2:
$ref: >-
#/components/examples/ListRegistrationsByApplicationBadRequestExample2
ListRegistrationsByApplicationBadRequestExample3:
$ref: >-
#/components/examples/ListRegistrationsByApplicationBadRequestExample3
ListRegistrationsByApplicationBadRequestExample4:
$ref: >-
#/components/examples/ListRegistrationsByApplicationBadRequestExample4
'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'
examples:
UpdateApplicationRegistrationBadRequestExample1:
$ref: >-
#/components/examples/UpdateApplicationRegistrationBadRequestExample1
'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'
examples:
ReplacePortalImageAssetBadRequestExample1:
$ref: >-
#/components/examples/ReplacePortalImageAssetBadRequestExample1
'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'
examples:
ReplacePortalImageAssetBadRequestExample1:
$ref: >-
#/components/examples/ReplacePortalImageAssetBadRequestExample1
'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'
examples:
UpdateAuthSettingsBadRequestExample1:
$ref: '#/components/examples/UpdateAuthSettingsBadRequestExample1'
UpdateAuthSettingsBadRequestExample2:
$ref: '#/components/examples/UpdateAuthSettingsBadRequestExample2'
UpdateAuthSettingsBadRequestExample3:
$ref: '#/components/examples/UpdateAuthSettingsBadRequestExample3'
UpdateAuthSettingsBadRequestExample4:
$ref: '#/components/examples/UpdateAuthSettingsBadRequestExample4'
UpdateAuthSettingsBadRequestExample5:
$ref: '#/components/examples/UpdateAuthSettingsBadRequestExample5'
UpdateAuthSettingsBadRequestExample6:
$ref: '#/components/examples/UpdateAuthSettingsBadRequestExample6'
UpdateAuthSettingsBadRequestExample7:
$ref: '#/components/examples/UpdateAuthSettingsBadRequestExample7'
UpdateAuthSettingsBadRequestExample8:
$ref: '#/components/examples/UpdateAuthSettingsBadRequestExample8'
'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'
examples:
ReplacePortalImageAssetBadRequestExample1:
$ref: >-
#/components/examples/ReplacePortalCustomizationBadRequestExample1
'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'
examples:
ReplacePortalImageAssetBadRequestExample1:
$ref: >-
#/components/examples/UpdatePortalCustomizationBadRequestExample1
'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'
examples:
ListDevelopersBadRequestExample1:
$ref: '#/components/examples/ListDevelopersBadRequestExample1'
ListDevelopersBadRequestExample2:
$ref: '#/components/examples/ListDevelopersBadRequestExample2'
ListDevelopersBadRequestExample3:
$ref: '#/components/examples/ListDevelopersBadRequestExample3'
ListDevelopersBadRequestExample4:
$ref: '#/components/examples/ListDevelopersBadRequestExample4'
'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'
examples:
UpdateDeveloperBadRequestExample1:
$ref: '#/components/examples/UpdateDeveloperBadRequestExample1'
'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'
examples:
ListTeamGroupMappingsBadRequestExample1:
$ref: >-
#/components/examples/ListTeamGroupMappingsBadRequestExample1
ListTeamGroupMappingsBadRequestExample2:
$ref: >-
#/components/examples/ListTeamGroupMappingsBadRequestExample2
'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'
examples:
UpdateTeamGroupMappingsBadRequestExample1:
$ref: >-
#/components/examples/UpdateTeamGroupMappingsBadRequestExample1
'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/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'
examples:
ListPortalPagesBadRequestExample1:
$ref: '#/components/examples/ListPortalPagesBadRequestExample1'
ListPortalPagesBadRequestExample2:
$ref: '#/components/examples/ListPortalPagesBadRequestExample2'
'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'
examples:
UpdatePortalPageBadRequestExample1:
$ref: '#/components/examples/UpdatePortalPageBadRequestExample1'
'UpdatePortalPageBadRequestExample2:':
$ref: '#/components/examples/UpdatePortalPageBadRequestExample2'
'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'
examples:
'UpdatePortalPageBadRequestExample1:':
$ref: '#/components/examples/UpdatePortalPageBadRequestExample1'
'UpdatePortalPageBadRequestExample2:':
$ref: '#/components/examples/UpdatePortalPageBadRequestExample2'
'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'
examples:
ListPortalSnippetsBadRequestExample1:
$ref: '#/components/examples/ListPortalSnippetsBadRequestExample1'
ListPortalSnippetsBadRequestExample2:
$ref: '#/components/examples/ListPortalSnippetsBadRequestExample2'
'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'
examples:
UpdatePortalPageBadRequestExample1:
$ref: '#/components/examples/UpdatePortalSnippetBadRequestExample1'
UpdatePortalSnippetBadRequestExample2:
$ref: '#/components/examples/UpdatePortalSnippetBadRequestExample2'
'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'
examples:
'UpdatePortalPageBadRequestExample1:':
$ref: '#/components/examples/UpdatePortalPageBadRequestExample1'
'UpdatePortalPageBadRequestExample2:':
$ref: '#/components/examples/UpdatePortalPageBadRequestExample2'
'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'
examples:
CreateTeamBadRequestExample1:
$ref: '#/components/examples/CreateTeamBadRequestExample1'
CreateTeamBadRequestExample2:
$ref: '#/components/examples/CreateTeamBadRequestExample2'
CreateTeamBadRequestExample3:
$ref: '#/components/examples/CreateTeamBadRequestExample3'
'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'
examples:
AssignRoleBadRequestExample1:
$ref: '#/components/examples/AssignRoleBadRequestExample1'
AssignRoleBadRequestExample2:
$ref: '#/components/examples/AssignRoleBadRequestExample2'
AssignRoleBadRequestExample3:
$ref: '#/components/examples/AssignRoleBadRequestExample3'
AssignRoleBadRequestExample4:
$ref: '#/components/examples/AssignRoleBadRequestExample4'
'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'
examples:
AddDeveloperToTeamBadRequestExample1:
$ref: '#/components/examples/AddDeveloperToTeamBadRequestExample1'
AddDeveloperToTeamBadRequestExample2:
$ref: '#/components/examples/AddDeveloperToTeamBadRequestExample2'
'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/StringFieldFilter'
description:
$ref: '#/components/schemas/StringFieldFilter'
konnect_managed:
$ref: '#/components/schemas/BooleanFieldFilter'
in: query
name: filter
description: Filter system accounts returned in the response.
required: false
style: deepObject
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-entity-operation:
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/StringFieldFilter'
in: query
name: filter
description: Filter access tokens returned in the response.
required: false
style: deepObject
servers:
- url: https://global.api.konghq.com/
parameters:
- schema:
type: string
name: accountId
in: path
required: true
description: ID of the system account.
post:
x-speakeasy-entity-operation:
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.
parameters: []
tags:
- System Accounts - Access Tokens
servers:
- url: https://global.api.konghq.com/
parameters:
- schema:
type: string
name: accountId
in: path
required: true
description: ID of the system account.
- schema:
type: string
name: tokenId
in: path
required: true
description: ID of the system account access token.
x-speakeasy-match: id
patch:
x-speakeasy-entity-operation:
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/StringFieldFilter'
in: query
name: filter
description: Filter teams returned in the response.
required: false
style: deepObject
tags:
- System Accounts - Team Membership
servers:
- url: https://global.api.konghq.com/
/v3/teams:
get:
summary: List Teams
responses:
'200':
$ref: '#/components/responses/TeamCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: list-teams
description: >-
Returns an array of team objects containing information about the Konnect Teams.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
name:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter teams returned in the response.
required: false
style: deepObject
tags:
- Teams
servers:
- url: https://global.api.konghq.com/
parameters: []
post:
x-speakeasy-entity-operation:
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/StringFieldFilter'
in: query
name: filter
description: Filter system accounts returned in the response.
required: false
style: deepObject
tags:
- System Accounts - Team Membership
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-entity-operation:
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/StringFieldFilter'
full_name:
$ref: '#/components/schemas/StringFieldFilter'
active:
$ref: '#/components/schemas/BooleanFieldFilter'
in: query
name: filter
description: Filter users returned in the response.
required: false
style: deepObject
tags:
- Team Membership
servers:
- url: https://global.api.konghq.com/
post:
x-speakeasy-entity-operation:
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/StringFieldFilter'
full_name:
$ref: '#/components/schemas/StringFieldFilter'
active:
$ref: '#/components/schemas/BooleanFieldFilter'
in: query
name: filter
description: Filter users returned in the response.
required: false
style: deepObject
servers:
- url: https://global.api.konghq.com/
/v3/users/{userId}:
parameters:
- schema:
type: string
format: uuid
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
name: userId
in: path
required: true
description: The ID of the user being deleted.
get:
summary: Fetch User
tags:
- Users
responses:
'200':
$ref: '#/components/responses/UserSingle'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: get-user
description: Returns the user object for the user ID specified as a path parameter.
servers:
- url: https://global.api.konghq.com/
patch:
summary: Update User
operationId: update-user
responses:
'200':
$ref: '#/components/responses/UserSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
description: Update an individual user.
requestBody:
$ref: '#/components/requestBodies/UpdateUser'
tags:
- Users
servers:
- url: https://global.api.konghq.com/
delete:
summary: Delete User
operationId: delete-user
responses:
'204':
description: No Content
'404':
$ref: '#/components/responses/IdentityNotFound'
description: >-
Deletes an individual user. Returns 404 if the requested user was not found.
tags:
- Users
servers:
- url: https://global.api.konghq.com/
/v3/users/{userId}/assigned-roles:
parameters:
- schema:
type: string
format: uuid
example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe
name: userId
in: path
required: true
description: The user ID
get:
summary: List User Roles
tags:
- Roles
responses:
'200':
$ref: '#/components/responses/AssignedRoleCollection'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: list-user-roles
description: >-
Lists the roles assigned to a user. Returns 400 if any filter parameters are invalid.
parameters:
- schema:
type: object
properties:
role_name:
$ref: '#/components/schemas/StringFieldEqualsFilter'
entity_type_name:
$ref: '#/components/schemas/StringFieldEqualsFilter'
in: query
name: filter
description: Filter roles returned in the response.
required: false
style: deepObject
servers:
- url: https://global.api.konghq.com/
post:
summary: Assign Role
operationId: users-assign-role
responses:
'201':
$ref: '#/components/responses/AssignedRoleSingle'
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'403':
$ref: '#/components/responses/IdentityPermissionDenied'
'404':
$ref: '#/components/responses/IdentityNotFound'
'409':
$ref: '#/components/responses/IdentityConflict'
description: Assigns a role to a user. Returns 409 if role is already assigned.
requestBody:
$ref: '#/components/requestBodies/AssignRole'
tags:
- Roles
servers:
- url: https://global.api.konghq.com/
/v3/users/{userId}/assigned-roles/{roleId}:
parameters:
- schema:
type: string
format: uuid
example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe
name: userId
in: path
required: true
description: ID of the user.
- schema:
type: string
example: 8350205f-a305-4e39-abe9-bc082a80091a
format: uuid
name: roleId
in: path
required: true
description: ID of the role.
delete:
summary: Remove Role
operationId: users-remove-role
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/IdentityBadRequest'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
'404':
$ref: '#/components/responses/IdentityNotFound'
tags:
- Roles
description: >-
Removes an assigned role from a user. Returns 404 if the requested user or assigned role were not found.
servers:
- url: https://global.api.konghq.com/
/v3/users/{userId}/teams:
parameters:
- schema:
type: string
example: d32d905a-ed33-46a3-a093-d8f536af9a8a
format: uuid
name: userId
in: path
required: true
description: The user ID.
get:
summary: List User Teams
responses:
'200':
$ref: '#/components/responses/TeamCollection'
'404':
$ref: '#/components/responses/IdentityNotFound'
operationId: list-user-teams
description: Returns a paginated list of a teams that the user belongs to.
parameters:
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageNumber'
- schema:
type: object
properties:
name:
$ref: '#/components/schemas/StringFieldFilter'
in: query
name: filter
description: Filter teams returned in the response.
required: false
style: deepObject
tags:
- Team Membership
servers:
- url: https://global.api.konghq.com/
/v3/users/me:
get:
summary: Retrieve My User Account
tags:
- Me
responses:
'200':
$ref: '#/components/responses/UserSingle'
'401':
$ref: '#/components/responses/IdentityUnauthenticated'
operationId: get-users-me
security:
- personalAccessToken: []
- konnectAccessToken: []
description: >-
Returns the user account for the user identified in the token of the request.
servers:
- url: https://global.api.konghq.com/
components:
parameters:
ControlPlaneFilter:
name: filter
description: Filters a collection of control-planes.
required: false
in: query
schema:
$ref: '#/components/schemas/ControlPlaneFilterParameters'
style: deepObject
FilterByLabels:
name: labels
description: Filter control planes in the response by associated labels.
in: query
required: false
schema:
type: string
example: key:value,existCheck
ControlPlaneSort:
name: sort
description: |
Sorts a collection of control-planes. Supported sort attributes are:
- created_at
required: false
in: query
schema:
$ref: '#/components/schemas/SortQuery'
PageSize:
name: page[size]
description: >-
The maximum number of items to include per page. The last page of a collection may include fewer items.
required: false
in: query
allowEmptyValue: true
schema:
type: integer
example: 10
PageNumber:
name: page[number]
description: Determines which page of the entities to retrieve.
required: false
in: query
allowEmptyValue: true
schema:
type: integer
example: 1
PageAfter:
name: page[after]
description: >-
Request the next page of data, starting with the item after this parameter.
required: false
in: query
allowEmptyValue: true
schema:
type: string
example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ
NetworksFilter:
name: filter
description: Filters supported for networks.
required: false
in: query
schema:
$ref: '#/components/schemas/NetworksFilterParameters'
style: deepObject
ProviderAccountsFilter:
name: filter
description: Filters supported for provider accounts.
required: false
in: query
schema:
$ref: '#/components/schemas/ProviderAccountsFilterParameters'
style: deepObject
ConfigurationsFilter:
name: filter
description: Filters supported for configurations.
required: false
in: query
schema:
$ref: '#/components/schemas/ConfigurationsFilterParameters'
style: deepObject
TransitGatewaysFilter:
name: filter
description: Filters supported for transit gateways.
required: false
in: query
schema:
$ref: '#/components/schemas/TransitGatewaysFilterParameters'
style: deepObject
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:
in: path
name: ConsumerGroupId
required: true
schema:
type: string
x-speakeasy-name-override: consumer_group_id
ConsumerId:
description: ID of the Consumer to lookup
example: c1059869-6fa7-4329-a5f5-5946d14ca2c5
in: path
name: ConsumerId
required: true
schema:
type: string
ConsumerIdForNestedEntities:
description: Consumer ID for nested entities
example: f28acbfa-c866-4587-b688-0208ac24df21
in: path
name: ConsumerIdForNestedEntities
required: true
schema:
type: string
CustomPluginId:
description: ID of the CustomPlugin to lookup
example: ''
in: path
name: CustomPluginId
required: true
schema:
type: string
Degraphql_routeId:
description: ID of the Degraphql_route to lookup
example: ''
in: path
name: Degraphql_routeId
required: true
schema:
type: string
HMACAuthId:
description: ID of the HMAC-auth credential to lookup
example: 70e7b00b-72f2-471b-a5ce-9c4171775360
in: path
name: HMACAuthId
required: true
schema:
type: string
JWTId:
description: ID of the JWT to lookup
example: 4a7f5faa-8c96-46d6-8214-c87573ef2ac4
in: path
name: JWTId
required: true
schema:
type: string
KeyAuthId:
description: ID of the API-key to lookup
example: ''
in: path
name: KeyAuthId
required: true
schema:
type: string
KeyId:
description: ID of the Key to lookup
example: bba22c06-a632-42be-a018-1b9ff357b5b9
in: path
name: KeyId
required: true
schema:
type: string
KeySetId:
description: ID of the KeySet to lookup
example: 6cc34248-50b4-4a81-9201-3bdf7a83f712
in: path
name: KeySetId
required: true
schema:
type: string
MTLSAuthId:
description: ID of the MTLS-auth credential to lookup
example: ''
in: path
name: MTLSAuthId
required: true
schema:
type: string
PaginationOffset:
allowEmptyValue: true
description: >-
Offset from which to return the next set of resources. Use the value of the 'offset' field from the response of a list operation as input here to paginate through all the resources
in: query
name: offset
schema:
type: string
PaginationSize:
description: Number of resources to be returned.
in: query
name: size
schema:
type: integer
default: 100
maximum: 1000
minimum: 1
PaginationTagsFilter:
allowEmptyValue: true
description: >-
A list of tags to filter the list of resources on. Multiple tags can be concatenated using ',' to mean AND or using '/' to mean OR.
example: tag1,tag2
in: query
name: tags
schema:
type: string
PartialId:
description: ID of the Partial to lookup
example: ''
in: path
name: PartialId
required: true
schema:
type: string
PluginId:
description: ID of the Plugin to lookup
example: 3473c251-5b6c-4f45-b1ff-7ede735a366d
in: path
name: PluginId
required: true
schema:
type: string
RouteId:
description: ID of the Route to lookup
example: a4326a41-aa12-44e3-93e4-6b6e58bfb9d7
in: path
name: RouteId
required: true
schema:
type: string
SNIId:
description: ID of the SNI to lookup
example: 64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f
in: path
name: SNIId
required: true
schema:
type: string
ServiceId:
description: ID of the Service to lookup
example: 7fca84d6-7d37-4a74-a7b0-93e576089a41
in: path
name: ServiceId
required: true
schema:
type: string
TargetId:
description: ID of the Target to lookup
example: 5a078780-5d4c-4aae-984a-bdc6f52113d8
in: path
name: TargetId
required: true
schema:
type: string
UpstreamId:
description: ID of the Upstream to lookup
example: 426d620c-7058-4ae6-aacc-f85a3204a2c5
in: path
name: UpstreamId
required: true
schema:
type: string
UpstreamIdForTarget:
description: ID or target of the Target to lookup
example: 5a078780-5d4c-4aae-984a-bdc6f52113d8
in: path
name: UpstreamIdForTarget
required: true
schema:
type: string
VaultId:
description: ID of the Vault to lookup
example: 9d4d6d19-77c6-428e-a965-9bc9647633e9
in: path
name: VaultId
required: true
schema:
type: string
responses:
RetrieveControlPlaneResponse:
description: A response to retrieving a single control plane.
content:
application/json:
schema:
$ref: '#/components/schemas/ControlPlane'
examples:
Single control plane response:
$ref: '#/components/examples/ControlPlaneExample'
CreateControlPlaneResponse:
description: A response to creating a control plane.
content:
application/json:
schema:
$ref: '#/components/schemas/ControlPlane'
examples:
Create Control Plane Response:
$ref: '#/components/examples/ControlPlaneExample'
UpdateControlPlaneResponse:
description: A response to updating a control plane.
content:
application/json:
schema:
$ref: '#/components/schemas/ControlPlane'
examples:
Update Control Plane Response:
$ref: '#/components/examples/ControlPlaneExample'
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'
examples:
Request Format Invalid:
$ref: '#/components/examples/400RequestFormatInvalidExample'
Cannot Be Blank:
$ref: '#/components/examples/400CannotBeBlankExample'
Invalid ID Format:
$ref: '#/components/examples/400InvalidIDFormatExample'
Usage Limits Reached:
$ref: '#/components/examples/400UsageLimitsReachedExample'
Unknown Property:
$ref: '#/components/examples/400UnknownPropertyExample'
ControlPlanePermissionDenied:
description: Permission denied
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
examples:
Permission Denied:
$ref: '#/components/examples/403PermissionDeniedExample'
ControlPlaneUnauthenticated:
description: Unauthenticated
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
examples:
Unauthorized:
$ref: '#/components/examples/401UnauthenticatedExample'
ControlPlaneNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
examples:
Not Found:
$ref: '#/components/examples/404NotFoundExample'
ControlPlaneConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
examples:
Conflict:
$ref: '#/components/examples/409ConflictExample'
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
examples:
Internal Server Error:
$ref: '#/components/examples/500InternalErrorExample'
ServiceUnavailable:
description: Service Unavailable
content:
application/problem+json:
schema:
title: ServiceUnavailableError
type: object
description: Error response for temporary service unavailability.
properties:
status:
type: integer
format: int32
x-go-type: int32
description: The HTTP status code.
example: 503
enum:
- 503
title:
type: string
description: The error response code.
example: Service Unavailable
instance:
type: string
example: konnect:trace:2287285207635123011
description: The Konnect traceback code
detail:
type: string
example: >-
Could not retrieve permissions to check resource accessibility.
description: Details about the error.
required:
- status
- title
- instance
examples:
Service Unavailable:
$ref: '#/components/examples/503PermissionReadFailureExample'
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'
examples:
List Group Memberships Example:
$ref: '#/components/examples/ListGroupMembershipsExample'
GetGroupStatus:
description: Status of a control plane group, including existing conflicts.
content:
application/json:
schema:
type: object
properties:
item:
$ref: '#/components/schemas/GroupStatus'
examples:
Group Conflict Status Example:
$ref: '#/components/examples/GroupConflictStatusExample'
Group No Conflict Status Example:
$ref: '#/components/examples/GroupNoConflictStatusExample'
GetGroupMemberStatus:
description: Determines the group membership status of a control plane.
content:
application/json:
schema:
$ref: '#/components/schemas/GroupMemberStatus'
Internal:
description: Internal
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BaseError'
BadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
Unauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
type: object
title: Unauthorized Response
description: The error response object.
properties:
status:
type: integer
example: 403
description: The HTTP status code.
title:
type: string
description: The Error Response.
example: Unauthorized
instance:
type: string
description: The Konnect traceback code.
example: konnect:trace:952172606039454040
detail:
type: string
description: Details about the error response.
example: You do not have permission to perform this action
examples:
UnauthorizedExample:
$ref: '#/components/examples/UnauthorizedExample'
Unauthorized:
$ref: '#/components/examples/403-permission-denied'
Forbidden:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
examples:
UnauthorizedExample:
$ref: '#/components/examples/ForbiddenExample'
NotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
examples:
NotFoundExample:
$ref: '#/components/examples/NotFoundExample'
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.
examples:
Get Impersonation Settings:
$ref: '#/components/examples/GetImpersonationSettings'
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.
examples:
Update Impersonation Settings:
$ref: '#/components/examples/UpdateImpersonationSettings'
UserSingle:
description: A get action response of a single user.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
examples:
Example:
$ref: '#/components/examples/Get-User-Response'
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'
examples:
User Collection Response:
$ref: '#/components/examples/user-collection-response-example'
TeamSingle:
description: A response including a single team.
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
examples:
Single team response:
$ref: '#/components/examples/single-team-response'
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'
examples:
Team Collection:
value:
meta:
page:
number: 1
size: 1
total: 10
data:
- id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: IDM - Developers
description: The developers for the IDM API.
system_team: false
labels:
env: test
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-09-25T13:00:00.00Z'
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'
examples:
Team Mapping Collection:
$ref: '#/components/examples/team-mapping-collection'
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'
examples:
Team Mapping Collection:
$ref: '#/components/examples/team-group-mapping-collection'
AssignedRoleSingle:
description: A get action response of a single assigned role.
content:
application/json:
schema:
$ref: '#/components/schemas/AssignedRole'
examples:
Assigned Role Example:
$ref: '#/components/examples/Assigned-Role-Example'
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'
examples:
CollectionExample:
$ref: '#/components/examples/collection-example'
AuthenticationSettings:
description: Response for authentication settings endpoint
content:
application/json:
schema:
type: object
title: Authentication Settings Response
properties:
basic_auth_enabled:
type: boolean
example: true
description: The organization has basic auth enabled.
oidc_auth_enabled:
type: boolean
example: false
description: The organization has OIDC disabled.
saml_auth_enabled:
type: boolean
example: false
description: The organization has SAML disabled.
idp_mapping_enabled:
type: boolean
example: true
description: IdP groups determine the Konnect teams a user has.
konnect_mapping_enabled:
type: boolean
example: false
description: A Konnect Identity Admin assigns teams to a user.
examples:
Get Authorization Settings:
$ref: '#/components/examples/Get-Authentication-Settings'
IdentityBadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
examples:
Request Format is Invalid:
$ref: '#/components/examples/400-request-format-is-invalid'
Cannot be Blank:
$ref: '#/components/examples/400-cannot-be-blank'
Invalid ID format:
$ref: '#/components/examples/400-invalid-id-format'
Must be a valid UUID v4:
$ref: '#/components/examples/400-valid-uuid'
System teams cannot be modified:
$ref: '#/components/examples/400-systems-team-modified'
Password Complexity:
$ref: '#/components/examples/400-password-complexity'
Authentication Settings cannot be all Disabled:
$ref: >-
#/components/examples/400-authentication-settings-cannot-be-all-disabled
OIDC needs an IdP configuration:
$ref: '#/components/examples/400-oidc-auth-enabled-needs-idp'
IdP configuration is required:
$ref: '#/components/examples/400-idp-config-is-required'
Unsupported filter operation:
value:
status: 400
title: Bad Request
detail: ''
instance: konnect:trace:3674017986744198214
invalid_parameters:
- field: '[filter][actions][contains]'
reason: '[contains] is not a supported filter operation'
IdentityConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
examples:
User is Already Active:
$ref: '#/components/examples/409-user-is-already-active'
CreateIdentityProviderPermissionDenied:
description: Permission denied
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
examples:
Permission Denied:
$ref: '#/components/examples/403-permission-denied'
IdentityPermissionDenied:
description: Permission denied
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
examples:
Permission Denied:
$ref: '#/components/examples/403-permission-denied'
Invalid Permissions:
$ref: '#/components/examples/403-invalid-permissions'
Username or Password invalid:
$ref: '#/components/examples/403-auth-invalid'
PreconditionFailed:
description: Precondition Failed
content:
application/problem+json:
schema:
type: object
title: Precondition Failed Response
description: The error response object.
properties:
status:
type: integer
description: The HTTP status code.
example: 412
title:
type: string
description: The error response code.
example: Precondition Failed
instance:
type: string
description: The Konnect traceback code.
example: konnect:trace:1896611024257578096
detail:
type: string
description: Details about the error response.
example: IdP configuration not found
examples:
Precondition Failed:
$ref: '#/components/examples/412-precondition-failed'
RateLimited:
description: Rate Limited
content:
application/problem+json:
schema:
type: object
title: Rate Limited Response
description: The error object
properties:
status:
type: integer
description: The HTTP response code
example: 429
title:
type: string
example: Rate Limited
description: The Error response
instance:
type: string
description: The Konnect traceback ID.
example: konnect:trace:3674017986744198214
detail:
type: string
description: Detailed explanation of the error response.
example: Too many requests
examples:
Rate Limited:
$ref: '#/components/examples/429-rate-limited'
IdentityUnauthenticated:
description: Unauthenticated
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
examples:
Unauthorized:
$ref: '#/components/examples/401-unauthenticated'
IdentityNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
examples:
Not Found:
$ref: '#/components/examples/404-not-found'
TeamMappingResponse:
description: A paginated list response for a collection of team mappings.
content:
application/json:
schema:
type: object
title: Team Mapping Response
properties:
meta:
type: object
description: Contains pagination data.
properties:
page:
type: object
description: The page object.
properties:
number:
type: integer
description: Page number.
example: 1
size:
type: integer
description: Page size.
example: 9
total:
type: integer
description: Total number of results.
example: 5
data:
type: array
items:
type: object
properties:
group:
type: string
description: Group names.
example: 111(@&*$)(@*#_@(gfds re gdsf dfg
team_ids:
type: array
description: Team ID's that belong to the specified group.
items:
type: string
example: 3df49db8-39ff-490d-9fe1-251a3361fb13
examples:
Group Collection:
$ref: '#/components/examples/group-collection-example'
Roles:
description: The predefined, or system managed, roles.
content:
application/json:
schema:
type: object
title: Roles Response
properties:
control_planes:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- Control Planes
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to all entities within a control plane.
enum:
- >-
This role grants full write access to all entities within a control plane.
certificate_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Certificate Admin
description:
type: string
example: >-
This role grants full write access to administer certificates.
enum:
- >-
This role grants full write access to administer certificates.
consumer_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Consumer Admin
description:
type: string
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.
creator:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Creator
description:
type: string
example: >-
Creates a new Control Plane in an organization. The creator becomes the owner of the Control Plane they create.
enum:
- >-
Creates a new Control Plane in an organization. The creator becomes the owner of the Control Plane they create.
deployer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Deployer
description:
type: string
example: >-
This role grants full write access to administer services, routes and plugins necessary to deploy services in Service Hub.
enum:
- >-
This role grants full write access to administer services, routes and plugins necessary to deploy services in Service Hub.
gateway_service_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Gateway Service Admin
description:
type: string
example: >-
This role grants full write access to administer gateway services.
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.
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.
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.
sni_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- SNI Admin
description:
type: string
example: >-
This role grants full write access to administer SNIs.
enum:
- >-
This role grants full write access to administer SNIs.
upstream_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Upstream Admin
description:
type: string
example: >-
This role grants full write access to administer upstreams.
enum:
- >-
This role grants full write access to administer upstreams.
viewer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Viewer
description:
type: string
example: >-
This role grants read only access to all entities within a control plane.
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.
api_products:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- API Products
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to an API product and its versions.
enum:
- >-
This role grants full write access to an API product and its versions.
application_registration:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Application Registration
description:
type: string
example: >-
This role grants permission to enable and disable application registration on an API product.
enum:
- >-
This role grants permission to enable and disable application registration on an API product.
creator:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Creator
description:
type: string
example: >-
This access is required to create API products. This access is not for creating sub-entities such as versions, API specs, etc.
enum:
- >-
This access is required to create API products. This access is not for creating sub-entities such as versions, API specs, etc.
deployer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Deployer
description:
type: string
example: >-
This role grants permission to deploy and remove an API product from a control plane.
enum:
- >-
This role grants permission to deploy and remove an API product from a control plane.
maintainer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Maintainer
description:
type: string
example: >-
This role grants all write permission to manage an API product and to administer plugins.
enum:
- >-
This role grants all write permission to manage an API product and to administer plugins.
plugins_admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Plugins Admin
description:
type: string
example: >-
This role grants full write permission to administer plugins.
enum:
- >-
This role grants full write permission to administer plugins.
publisher:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Publisher
description:
type: string
example: >-
This role grants permission to publish an API product to one or more portals.
enum:
- >-
This role grants permission to publish an API product to one or more portals.
viewer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Viewer
description:
type: string
example: >-
Viewer has read-only access to an API product and its sub-entities.
enum:
- >-
Viewer has read-only access to an API product and its sub-entities.
audit_logs:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- Audit Logs
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to the Audit log configuration.
enum:
- >-
This role grants full write access to the Audit log configuration.
identity:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- Identity
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to the Identity configuration.
enum:
- >-
This role grants full write access to the Identity configuration.
mesh_control_planes:
type: object
additionalProperties: false
required:
- name
- roles
properties:
name:
type: string
enum:
- Mesh Control Plane
roles:
type: object
properties:
admin:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Admin
description:
type: string
example: >-
This role grants full write access to the related to Mesh control planes.
enum:
- >-
This role grants full write access to the related to Mesh control planes.
connector:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Connector
description:
type: string
example: >-
This role grants a mesh zone to connect to the mesh control plane in Konnect.
enum:
- >-
This role grants a mesh zone to connect to the mesh control plane in Konnect.
creator:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Creator
description:
type: string
example: >-
This role grants access to create new Mesh control planes.
enum:
- >-
This role grants access to create new Mesh control planes.
viewer:
type: object
additionalProperties: false
required:
- name
- description
properties:
name:
type: string
enum:
- Viewer
description:
type: string
example: >-
This role grants access to read-only permissions to Mesh control planes.
enum:
- >-
This role grants access to read-only permissions to Mesh control planes.
examples:
Predefined Roles:
value:
control_planes:
name: Control Planes
roles:
admin:
name: Admin
description: >-
This role grants full write access to all entities within a control plane.
certificate_admin:
name: Certificate Admin
description: >-
This role grants full write access to administer certificates.
consumer_admin:
name: Consumer Admin
description: >-
This role grants full write access to administer consumers.
creator:
name: Creator
description: >-
Creates a new Control Plane in an organization. The creator becomes the owner of the Control Plane they create.
deployer:
name: Deployer
description: >-
This role grants full write access to administer services, routes and plugins necessary to deploy services in Service Hub.
gateway_service_admin:
name: Gateway Service Admin
description: >-
This role grants full write access to administer gateway services.
plugin_admin:
name: Plugin Admin
description: >-
This role grants full write access to administer plugins.
route_admin:
name: Route Admin
description: This role grants full write access to administer routes.
sni_admin:
name: SNI Admin
description: This role grants full write access to administer SNIs.
upstream_admin:
name: Upstream Admin
description: >-
This role grants full write access to administer upstreams.
viewer:
name: Viewer
description: >-
This role grants read only access to all entities within a control plane.
api_products:
name: API Products
roles:
admin:
name: Admin
description: >-
This role grants full write access to an API product and its versions.
application_registration:
name: Application Registration
description: >-
This role grants permission to enable and disable application registration on an API product.
creator:
name: Creator
description: >-
This access is required to create API products. This access is not for creating sub-entities such as versions, API specs, etc.
deployer:
name: Deployer
description: >-
This role grants permission to deploy and remove an API product from a control plane.
maintainer:
name: Maintainer
description: >-
This role grants all write permission to manage an API product and to administer plugins.
plugins_admin:
name: Plugins Admin
description: >-
This role grants full write permission to administer plugins.
publisher:
name: Publisher
description: >-
This role grants permission to publish an API product to one or more portals.
viewer:
name: Viewer
description: >-
Viewer has read-only access to an API product and its sub-entities.
audit_logs:
name: Audit Logs
roles:
admin:
name: Admin
description: >-
This role grants full write access to the Audit log configuration.
identity:
name: Identity
roles:
admin:
name: Admin
description: >-
This role grants full write access to the Identity configuration.
mesh_control_planes:
name: Mesh Control Plane
roles:
admin:
name: Admin
description: >-
This role grants full write access to the related to Mesh control planes.
connector:
name: Connector
description: >-
This role grants a mesh zone to connect to the mesh control plane in Konnect.
creator:
name: Creator
description: >-
This role grants access to create new Mesh control planes.
viewer:
name: Viewer
description: >-
This role grants access to read-only permissions to Mesh control planes.
SystemAccountCollection:
description: A paginated list response for a collection of system accounts.
content:
application/json:
schema:
type: object
title: System Account Collection Response
properties:
meta:
$ref: '#/components/schemas/PaginatedMeta'
data:
type: array
items:
$ref: '#/components/schemas/SystemAccount'
examples:
Sample System Accounts:
value:
meta:
page:
number: 1
size: 10
total: 100
data:
- id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Sample System Account
created_at: '2019-08-24T14:15:22Z'
updated_at: '2019-08-24T14:15:22Z'
konnect_managed: false
SystemAccountSingle:
description: A response including a single system account.
content:
application/json:
schema:
$ref: '#/components/schemas/SystemAccount'
examples:
Sample System Account:
value:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Sample System Account
description: This is a sample system account description.
created_at: '2019-08-24T14:15:22Z'
updated_at: '2019-08-24T14:15:22Z'
konnect_managed: false
SystemAccountAccessTokenSingle:
description: A response including a single system account access token.
content:
application/json:
schema:
$ref: '#/components/schemas/SystemAccountAccessToken'
examples:
Sample System Account Access Token:
value:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Sample Access Token
created_at: '2019-08-24T14:15:22Z'
updated_at: '2019-08-24T14:15:22Z'
expires_at: '2019-08-24T14:15:22Z'
last_used_at: '2019-08-24T14:15:22Z'
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'
examples:
Sample System Account Access Token:
value:
meta:
page:
number: 1
size: 10
total: 100
data:
- id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Sample Access Token
created_at: '2019-08-24T14:15:22Z'
updated_at: '2019-08-24T14:15:22Z'
expires_at: '2019-08-24T14:15:22Z'
last_used_at: '2019-08-24T14:15:22Z'
SystemAccountAccessTokenCreated:
description: >-
A response including a single system account access token with the token.
content:
application/json:
schema:
x-speakeasy-entity: SystemAccountAccessToken
type: object
title: System Account Access Token Created Response
example:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Sample Access Token
created_at: '2022-08-01T14:16:09Z'
updated_at: '2022-08-02T08:35:49Z'
expires_at: '2022-12-31T12:52:23Z'
last_used_at: '2022-10-24T13:05:42Z'
properties:
id:
type: string
description: ID of the system account access token.
format: uuid
readOnly: true
name:
type: string
description: Name of the system account access token.
created_at:
type: string
description: Timestamp of when the system account access token was created.
format: date-time
readOnly: true
updated_at:
type: string
description: >-
Timestamp of when the system account access token was last updated.
format: date-time
readOnly: true
expires_at:
type: string
description: Timestamp of when the system account access token will expire.
format: date-time
readOnly: true
last_used_at:
type: string
description: >-
Timestamp of when the system account access token was last used.
format: date-time
readOnly: true
token:
type: string
description: The token of the system account access token.
readOnly: true
x-speakeasy-param-sensitive: true
examples:
Sample Access Token:
value:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Sample Access Token
created_at: '2019-08-24T14:15:22Z'
updated_at: '2019-08-24T14:15:22Z'
expires_at: '2019-08-24T14:15:22Z'
last_used_at: '2019-08-24T14:15:22Z'
token: npat_12345678901234567890123456789012345678901234567890
MeOrganization:
description: Me Organization
content:
application/json:
schema:
type: object
title: Me Organization Response
example:
id: d99c041a-c7cf-46a2-bf3a-44bb5f75400e
name: string
owner_id: 1c9c3848-5897-4f2c-beed-df6f3e3adb37
created_at: '2023-01-23T17:22:52.150Z'
updated_at: '2023-01-23T17:22:52.150Z'
state: active
retention_period_days: 90
properties:
id:
type: string
description: UUID of the organization.
format: uuid
readOnly: true
name:
type: string
description: Name of the organization.
owner_id:
type: string
description: Owner ID of the organization.
login_path:
type: string
description: >-
Path to organization-specific login when single sign on (SSO) is enabled. Blank otherwise.
created_at:
type: string
description: Date the organization was created.
format: date-time
readOnly: true
updated_at:
type: string
description: Date the organization was last updated.
format: date-time
readOnly: true
state:
type: string
description: State of the organization
enum:
- active
- inactive
- deleting
- deleted
retention_period_days:
type: integer
description: >-
The number of days an organization spends inactive before being deleted.
examples:
Example:
value:
created_at: '2023-01-18T11:35:45.130Z'
id: 023bfa42-3513-4cbf-b059-a9ddb4ea995d
name: Acme Co.
owner_id: e02c829c-0e2d-44b5-9057-07714ea613a3
login_path: acme
updated_at: '2023-01-23T17:22:52.150Z'
state: active
retention_period_days: 90
IdPConfiguration:
description: A get action response of the IdP configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/IdP'
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'
examples:
Identity Provider Collection:
$ref: '#/components/examples/IdentityProviders'
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'
examples:
OIDC Identity Provider:
$ref: '#/components/examples/OIDCIdentityProvider'
SAML Identity Provider With Meta Data URL:
$ref: '#/components/examples/SAMLIdentityProvider'
SAML Identity Provider With Meta Data:
$ref: '#/components/examples/SAMLIdentityProviderWithMetadata'
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'
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'
examples:
Network Name Length Exceeded:
$ref: '#/components/examples/NetworkNameLengthCheckBadRequestExample'
Transit Gateway Name Length Exceeded:
$ref: >-
#/components/examples/TransitGatewayNameLengthCheckBadRequestExample
Custom Domain Domain Length Too Short:
$ref: '#/components/examples/CustomDomainLengthCheckBadRequestExample'
Configuration Api Access Enum Validation:
$ref: '#/components/examples/ConfigurationApiAccessBadRequestExample'
Configuration Data-Plane Group Static Request Instances Minimum:
$ref: >-
#/components/examples/ConfigurationDataPlaneGroupStaticRequestedInstancesBadRequestExample
Configuration Data-Plane Group Autopilot Base RPS Minimum:
$ref: >-
#/components/examples/ConfigurationDataPlaneGroupAutopilotBaseRpsBadRequestExample
CloudGatewaysForbidden:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
examples:
Permission Denied:
$ref: '#/components/examples/PermissionDeniedExample'
Quota Exceeded:
$ref: '#/components/examples/QuotaExceededExample'
CloudGatewaysConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
examples:
Configuration Conflict:
$ref: '#/components/examples/ConfigurationConflictExample'
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'
examples:
Notification:
$ref: '#/components/examples/NotificationResponse'
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'
examples:
Notifications List:
$ref: '#/components/examples/NotificationListResponse'
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'
examples:
User Configurations List:
$ref: '#/components/examples/UserConfigurationListResponse'
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'
examples:
Event Subscriptions List:
$ref: '#/components/examples/EventSubscriptionListResponse'
EventSubscriptionResponse:
description: >-
Response containing specific subscription details associated with an event.
content:
application/json:
schema:
$ref: '#/components/schemas/EventSubscriptionResponse'
examples:
Event Subscription:
$ref: '#/components/examples/EventSubscriptionResponse'
CreateDcrProvider:
description: A response containing the newly created DCR provider object.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDcrProviderResponse'
examples:
DcrProviderOkta:
$ref: '#/components/examples/DcrProviderOktaResponse'
DcrProviderAuth0:
$ref: '#/components/examples/DcrProviderAuth0Response'
DcrProviderAzureAd:
$ref: '#/components/examples/DcrProviderAzureAdResponse'
DcrProviderCurity:
$ref: '#/components/examples/DcrProviderCurityResponse'
DcrProviderHttp:
$ref: '#/components/examples/DcrProviderHttpResponse'
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'
examples:
DcrProviderAuth0:
$ref: '#/components/examples/DcrProviderAuth0Response'
DcrProviderAzureAd:
$ref: '#/components/examples/DcrProviderAzureAdResponse'
DcrProviderCurity:
$ref: '#/components/examples/DcrProviderCurityResponse'
DcrProviderHttp:
$ref: '#/components/examples/DcrProviderHttpResponse'
DcrProviderOkta:
$ref: '#/components/examples/DcrProviderOktaResponse'
ListDcrProviders:
description: A paginated list response for a collection of DCR providers
content:
application/json:
schema:
$ref: '#/components/schemas/ListDcrProvidersResponse'
examples:
ListDcrProviders:
$ref: '#/components/examples/ListDcrProvidersResponse'
VerifyDcrProvider:
description: >-
A response containing the result of attempting to verify a DCR provider configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyDcrProviderResponse'
examples:
VerifyDcrProviderSuccess:
$ref: '#/components/examples/VerifyDcrProviderResponseSuccess'
VerifyDcrProviderFailed:
$ref: '#/components/examples/VerifyDcrProviderResponseFailed'
CreateAppAuthStrategy:
description: >-
A response containing the newly created application auth strategy object.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAppAuthStrategyResponse'
examples:
AppAuthStrategyResponseExample1:
$ref: '#/components/examples/AppAuthStrategyResponseExample1'
GetAppAuthStrategy:
description: A response containing a single application auth strategy object.
content:
application/json:
schema:
$ref: '#/components/schemas/GetAppAuthStrategyResponse'
examples:
AppAuthStrategyResponseExample1:
$ref: '#/components/examples/AppAuthStrategyResponseExample1'
UpdateAppAuthStrategy:
description: A response containing a single updated application auth strategy object.
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAppAuthStrategyResponse'
examples:
AppAuthStrategyResponseExample1:
$ref: '#/components/examples/AppAuthStrategyResponseExample1'
ListAppAuthStrategies:
description: >-
A paginated list response for a collection of application auth strategies.
content:
application/json:
schema:
$ref: '#/components/schemas/ListAppAuthStrategiesResponse'
examples:
AppAuthStrategyResponseExample1:
$ref: '#/components/examples/ListAppAuthStrategyResponseExample1'
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
instance:
type: string
examples:
ApiSlugConflictExample:
$ref: '#/components/examples/ApiSlugConflictExample'
ApiSpecConflict:
description: Conflict - An API may only have one specification
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
examples:
ApiSpecConflictExample:
$ref: '#/components/examples/ApiSpecConflictExample'
ApiSpecHiddenConflict:
description: Conflict - name attribute must be unique across specifications
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
examples:
ApiSpecConflictExample:
$ref: '#/components/examples/ApiSpecHiddenConflictExample'
ApiImplementationConflict:
description: Conflict - A gateway service can only be linked to a single API
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
examples:
ApiImplementationServiceConflictExample:
$ref: '#/components/examples/ApiImplementationServiceConflictExample'
ApiImplementationCountConflictExample:
$ref: '#/components/examples/ApiImplementationCountConflictExample'
ApiUnauthorized:
description: ApiUnauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
examples:
ApiUnauthorizedExample:
$ref: '#/components/examples/ApiUnauthorizedExample'
ApiNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
examples:
ApiNotFoundExample:
$ref: '#/components/examples/ApiNotFoundExample'
ApiForbidden:
description: ApiForbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ForbiddenError'
examples:
ApiForbiddenExample:
$ref: '#/components/examples/ApiForbiddenExample'
ApiPublicationBadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/BadRequestError'
ApiResponse:
description: API
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseSchema'
examples:
CreateApiResponse:
$ref: '#/components/examples/ApiExample'
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'
examples:
ApiCollection:
value:
data:
- id: 9f5061ce-78f6-4452-9108-ad7c02821fd5
name: myAPI
version: v1
labels:
env: test
slug: my-api-v1
current_version_summary:
id: 7710d5c4-d902-410b-992f-18b814155b53
version: v1
spec:
type: oas3
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
api_spec_ids:
- 123e4567-e89b-12d3-a456-426614174000
portals:
- id: 25a2624c-49fc-4764-99e1-224ed819f200
name: My-Portal
display_name: My Portal
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
meta:
page:
number: 1
size: 1
total: 10
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:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiDocument'
- required:
- id
- parent_document_id
- title
- slug
- status
- content
- updated_at
- created_at
examples:
CreateApiDocumentResponse:
$ref: '#/components/examples/ApiDocumentExample'
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:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiSpec'
- required:
- id
- content
- type
- created_at
- updated_at
- validation_messages
examples:
ApiSpecResponse:
$ref: '#/components/examples/ApiSpecExample'
ApiSpecResponseAsyncApi:
$ref: '#/components/examples/ApiSpecExampleAsyncApi'
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:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiSpecSummary'
- required:
- id
- type
- created_at
- updated_at
examples:
ListApiSpecResponse:
$ref: '#/components/examples/ListApiSpecExample'
ListApiSpecResponseAsyncApi:
$ref: '#/components/examples/ListApiSpecExampleAsyncApi'
ApiVersionResponse:
description: API version (OpenAPI or AsyncAPI)
content:
application/json:
schema:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiVersion'
- required:
- id
- version
- created_at
- updated_at
examples:
ApiSpecResponse:
$ref: '#/components/examples/ApiVersionExample'
ApiSpecResponseAsyncApi:
$ref: '#/components/examples/ApiVersionExampleAsyncApi'
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:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiVersionSummary'
- nullable: false
- required:
- id
- version
- created_at
- updated_at
examples:
ListApiSpecResponse:
$ref: '#/components/examples/ListApiVersionExample'
ListApiSpecResponseAsyncApi:
$ref: '#/components/examples/ListApiVersionExampleAsyncApi'
ApiPublicationResponse:
description: An API publication in a portal
content:
application/json:
schema:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiPublication'
- 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:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiImplementation'
- 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'
examples:
ValidateApiSpecSuccessResponseExample:
$ref: '#/components/examples/ValidateApiSpecSuccessResponseExample'
ValidateApiSpecSuccessResponseWithWarningExample:
$ref: >-
#/components/examples/ValidateApiSpecSuccessResponseWithWarningExample
UnsupportedMediaType:
description: Unsupported Media Type
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnsupportedMediaTypeError'
examples:
UnsupportedMediaTypeExample:
$ref: '#/components/examples/UnsupportedMediaTypeExample'
PortalTeamGroupMappingCollection:
description: A paginated collection of mappings grouped by team ID.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalTeamGroupMappingResponse'
examples:
Example 1:
$ref: '#/components/examples/PortalTeamGroupMappingCollectionExample1'
PortalAuthenticationSettings:
description: Details about a portal's authentication settings.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalAuthenticationSettingsResponse'
examples:
Example 1:
$ref: '#/components/examples/PortalAuthenticationSettingsExample1'
PortalAssignedRole:
description: Details about the role assignment.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalAssignedRoleResponse'
examples:
US Example:
$ref: '#/components/examples/PortalAssignedRoleUSExample'
All Regions Example:
$ref: '#/components/examples/PortalAssignedRoleAllRegionsExample'
PortalTeam:
description: Details about a team of developers in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalTeamResponse'
examples:
PortalTeamExample1:
$ref: '#/components/examples/PortalTeamExample1'
AssignedPortalRoleCollection:
description: A paginated collection of assigned roles.
content:
application/json:
schema:
$ref: '#/components/schemas/AssignedPortalRoleCollectionResponse'
examples:
Example 1:
$ref: '#/components/examples/AssignedPortalRoleCollectionExample1'
GetDeveloper:
description: Details about a developer in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalDeveloper'
examples:
Example 1:
$ref: '#/components/examples/GetDeveloperExample1'
UpdateDeveloper:
description: Details about the developer being updated.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalDeveloper'
examples:
Example 1:
$ref: '#/components/examples/UpdateDeveloperResponseExample1'
ListDevelopers:
description: A paginated list of developers in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDevelopersResponse'
examples:
Example 1:
$ref: '#/components/examples/ListDevelopersExample1'
ListPortalTeams:
description: A paginated list of teams in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPortalTeamsResponse'
examples:
Example 1:
$ref: '#/components/examples/ListPortalTeamsExample1'
ListRoles:
description: A set of roles available in portals.
content:
application/json:
schema:
$ref: '#/components/schemas/ListRolesResponse'
examples:
Example 1:
$ref: '#/components/examples/ListRolesExample1'
ListBasicDevelopers:
description: A paginated list of basic developer information.
content:
application/json:
schema:
$ref: '#/components/schemas/ListBasicDevelopersResponse'
examples:
Example 1:
$ref: '#/components/examples/ListBasicDevelopersExample1'
PortalCustomDomain:
description: Portal custom domain
content:
application/json:
schema:
$ref: '#/components/schemas/PortalCustomDomain'
examples:
Example 1:
$ref: '#/components/examples/PortalCustomDomainExample1'
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-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/Portal'
- 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'
examples:
Example 1:
$ref: '#/components/examples/ListPortalsExample1'
PortalResponse:
description: Details about a portal.
content:
application/json:
schema:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/Portal'
- 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
examples:
Example 1:
$ref: '#/components/examples/PortalExample1'
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'
examples:
Example 1:
$ref: '#/components/examples/DefaultContentExample1'
PortalPage:
description: Details about a page in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalPageResponse'
examples:
Example 1:
$ref: '#/components/examples/PortalPageExample1'
ListPortalPages:
description: A paginated list of custom pages in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPortalPagesResponse'
examples:
Example 1:
$ref: '#/components/examples/ListPortalPagesExample1'
PortalSnippet:
description: Details about a snippet in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalSnippetResponse'
examples:
Example 1:
$ref: '#/components/examples/PortalSnippetExample1'
ListPortalSnippets:
description: A paginated list of custom snippets in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPortalSnippetsResponse'
examples:
Example 1:
$ref: '#/components/examples/ListPortalSnippetsExample1'
ListApplications:
description: A paginated list of applications in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/ListApplicationsResponse'
examples:
Example 1:
$ref: '#/components/examples/ListApplicationsExample1'
GetApplication:
description: Details about an application in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/GetApplicationResponse'
examples:
Key Auth Application:
$ref: '#/components/examples/GetApplicationExampleBasic'
Client Credentials Application with DCR:
$ref: '#/components/examples/GetApplicationExampleDcr'
Client Credentials Application without DCR:
$ref: '#/components/examples/GetApplicationExampleOIDC'
ListApplicationDevelopers:
description: A paginated list developers of an application.
content:
application/json:
schema:
$ref: '#/components/schemas/ListApplicationDevelopersResponse'
examples:
Example 1:
$ref: '#/components/examples/ListApplicationDevelopersExample1'
ListApplicationRegistrations:
description: A paginated list of application registrations.
content:
application/json:
schema:
$ref: '#/components/schemas/ListApplicationRegistrationsResponse'
examples:
Example 1:
$ref: '#/components/examples/ListApplicationRegistrationsExample1'
GetApplicationRegistration:
description: Details about an application registration.
content:
application/json:
schema:
$ref: '#/components/schemas/GetApplicationRegistrationResponse'
examples:
Example 1:
$ref: '#/components/examples/GetApplicationRegistrationExample1'
UpdateApplicationRegistration:
description: Details about the application registration being updated.
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateApplicationRegistrationResponse'
examples:
Example 1:
$ref: >-
#/components/examples/UpdateApplicationRegistrationResponseExample1
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.
examples:
Get Portal Audit Log Webhook:
$ref: '#/components/examples/Get-Portal-Audit-Log-Webhook'
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.
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.
last_response_code:
type: integer
example: 401
description: The last response code received from the webhook.
last_response_message:
type: string
example: Unauthenticated
description: >-
The last message received from the webhook. Useful for debugging.
examples:
Get Audit Log Webhook Status:
$ref: '#/components/examples/Get-Portal-Audit-Log-Webhook-Status'
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.
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.
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'
examples:
Request Format is Invalid:
$ref: '#/components/examples/400-request-format-is-invalid'
Authorization Cannot be Blank:
$ref: '#/components/examples/400-authorization-cannot-be-blank'
Endpoint Cannot be Blank:
$ref: '#/components/examples/400-endpoint-cannot-be-blank'
Endpoint Must be a valid URL:
$ref: '#/components/examples/400-endpoint-must-be-valid-url'
PortalReplayJobConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConflictError'
examples:
Job Running:
$ref: '#/components/examples/409-job-running'
EmailTemplate:
description: Successful Retrieval for a portal email template.
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplate'
examples:
Example 1:
$ref: '#/components/examples/EmailTemplateExample1'
EmailTemplateVariables:
description: >-
Successful response of usable variables for use in portal email templates.
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplateVariablesList'
examples:
Example 1:
$ref: '#/components/examples/EmailTemplateVariable1'
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'
examples:
Example 1:
$ref: '#/components/examples/ListDefaultEmailTemplatesExample1'
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'
examples:
Example 1:
$ref: '#/components/examples/ListEmailTemplateExample1'
DefaultEmailTemplate:
description: Details about a default email template.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultEmailTemplate'
examples:
Example 1:
$ref: '#/components/examples/GetDefaultEmailTemplateExample1'
PatchEmailTemplateResponse:
description: Modifying an email template.
content:
application/json:
schema:
$ref: '#/components/schemas/EmailTemplate'
examples:
Example 1:
$ref: '#/components/examples/PatchEmailTemplateResponseExample1'
PortalEmailConfigResponse:
description: Portal email config.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalEmailConfig'
examples:
Example Portal Email Config Response:
$ref: '#/components/examples/PortalEmailConfigExample'
DataPlaneClientCertificateResponse:
description: Response body for retrieving a dp-client-certificate.
content:
application/json:
schema:
type: object
properties:
item:
$ref: '#/components/schemas/DataPlaneClientCertificate'
GetExpectedConfigHashResponse:
description: >-
Response body for retrieving the expected config hash of the control plane.
content:
application/json:
schema:
type: object
required:
- expected_hash
- created_at
- updated_at
properties:
expected_hash:
type: string
description: The expected configuration hash.
created_at:
type: integer
description: Date the control plane configuration was created.
updated_at:
type: integer
description: Date the control plane configuration was last updated.
ListDataPlaneCertificatesResponse:
description: Example response
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/DataPlaneClientCertificate'
page:
type: object
properties:
total:
type: integer
list-nodes:
description: Example response
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
id:
type: string
version:
type: string
hostname:
type: string
last_ping:
type: integer
type:
type: string
created_at:
type: integer
updated_at:
type: integer
config_hash:
type: string
compatibility_status:
type: object
properties:
state:
type: string
page:
type: object
properties:
total:
type: integer
next:
type: string
list-nodes-eol:
description: Example response
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
node_id:
type: string
node_version:
type: string
message:
type: string
page:
type: object
properties:
total:
type: integer
get-node:
description: Example response
content:
application/json:
schema:
type: object
properties:
item:
type: object
properties:
id:
type: string
version:
type: string
hostname:
type: string
last_ping:
type: integer
type:
type: string
created_at:
type: integer
updated_at:
type: integer
config_hash:
type: string
compatibility_status:
type: object
properties:
state:
type: string
list-plugin-schemas:
description: A paginated list response for a collection of custom plugin schemas.
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
lua_schema:
type: string
description: The custom plugin schema; `jq -Rs '.' schema.lua`.
example: >-
return { name = \"myplugin\", fields = { { config = { type = \"record\", fields = { } } } } }
name:
type: string
description: >-
The custom plugin name determined by the custom plugin schema.
example: myplugin
created_at:
type: integer
description: >-
An ISO-8604 timestamp representation of custom plugin schema creation date.
example: 1422386534
updated_at:
type: integer
description: >-
An ISO-8604 timestamp representation of custom plugin schema update date.
example: 1422412345
page:
type: object
properties:
total:
type: integer
plugin-schemas:
description: A response for a single custom plugin schema.
content:
application/json:
schema:
type: object
properties:
item:
x-speakeasy-entity: GatewayCustomPluginSchema
type: object
properties:
lua_schema:
type: string
description: The custom plugin schema; `jq -Rs '.' schema.lua`.
example: >-
return { name = \"myplugin\", fields = { { config = { type = \"record\", fields = { } } } } }
name:
type: string
description: >-
The custom plugin name determined by the custom plugin schema.
example: myplugin
created_at:
type: integer
description: >-
An ISO-8604 timestamp representation of custom plugin schema creation date.
example: 1422386534
updated_at:
type: integer
description: >-
An ISO-8604 timestamp representation of custom plugin schema update date.
example: 1422412345
ListConfigStoresResponse:
description: List of Config Stores
content:
application/json:
schema:
title: ListConfigStoresResponse
type: object
required:
- data
- meta
properties:
meta:
$ref: '#/components/schemas/CursorMeta'
data:
type: array
items:
$ref: '#/components/schemas/ConfigStore'
examples:
Config Stores:
value:
data:
- id: e7a4f6c0-5777-4a37-bcb9-2d37d3b362ee
name: Config Store
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
meta:
page:
size: 1
previous: null
next: /config-stores?page[after]=dXVpZC01
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'
examples:
Config Store Secrets:
value:
data:
- key: ConfigStoreSecretKey
value: ConfigStoreSecretValue
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
meta:
page:
size: 1
previous: null
next: >-
/config-stores/e7a4f6c0-5777-4a37-bcb9-2d37d3b362ee/secrets?page[after]=dXVpZC01
ConfigStoreResponse:
description: Config Store
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigStore'
examples:
Create Config Store Response:
$ref: '#/components/examples/ConfigStoreExample'
ConfigStoreSecretResponse:
description: Config Store Secret
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigStoreSecret'
examples:
Create Config Store Secret Response:
$ref: '#/components/examples/ConfigStoreSecretExample'
ConfigStoreUnauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
examples:
UnauthorizedExample:
$ref: '#/components/examples/UnauthorizedExample'
ConfigStoreSecretUnauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
examples:
UnauthorizedExample:
$ref: '#/components/examples/UnauthorizedExample'
ConfigStoreNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
examples:
NotFoundExample:
$ref: '#/components/examples/NotFoundExample'
ConfigStoreSecretNotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/NotFoundError'
examples:
NotFoundExample:
$ref: '#/components/examples/NotFoundExample'
GetPartialSchemaResponse:
description: The schema for a partial
content:
application/json:
schema:
type: object
properties:
fields:
type: array
items:
additionalProperties: true
type: object
GetPluginSchemaResponse:
description: The schema for the plugin
content:
application/json:
schema:
type: object
properties:
fields:
type: array
items:
additionalProperties: true
type: object
HTTP401Error:
description: Unauthorized
content:
application/json:
examples:
DuplicateApiKey:
summary: Duplicate API key found
value:
message: Duplicate API key found
status: 401
InvalidAuthCred:
summary: Invalid authentication credentials
value:
message: Unauthorized
status: 401
NoAPIKey:
summary: No API key found
value:
message: No API key found in request
status: 401
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
KonnectCPLegacyUnauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyUnauthorizedError'
examples:
UnauthorizedExample:
$ref: '#/components/examples/KonnectCPLegacyUnauthorizedExample'
KonnectCPLegacyForbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyForbiddenError'
examples:
UnauthorizedExample:
$ref: '#/components/examples/KonnectCPLegacyForbiddenExample'
KonnectCPLegacyNotFound:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyNotFoundError'
examples:
UnauthorizedExample:
$ref: '#/components/examples/KonnectCPLegacyNotFoundExample'
KonnectCPLegacyBadRequest:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyBadRequestError'
examples:
UnauthorizedExample:
$ref: '#/components/examples/KonnectCPLegacyBadRequestExample'
KonnectCPLegacyConflict:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectCPLegacyConflictError'
examples:
UnauthorizedExample:
$ref: '#/components/examples/KonnectCPLegacyConflictExample'
schemas:
GroupMembership:
x-speakeasy-entity: GatewayControlPlaneMembership
type: object
required:
- members
properties:
members:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
CreateControlPlaneRequest:
x-speakeasy-entity: GatewayControlPlane
title: CreateControlPlaneRequest
description: The request schema for the create control plane request.
type: object
additionalProperties: false
properties:
name:
type: string
example: Test Control Plane
description: The name of the control plane.
description:
type: string
example: A test control plane for exploration.
description: The description of the control plane in Konnect.
cluster_type:
type: string
description: >-
The ClusterType value of the cluster associated with the Control Plane.
example: CLUSTER_TYPE_CONTROL_PLANE
enum:
- CLUSTER_TYPE_CONTROL_PLANE
- CLUSTER_TYPE_K8S_INGRESS_CONTROLLER
- CLUSTER_TYPE_CONTROL_PLANE_GROUP
- CLUSTER_TYPE_SERVERLESS
- CLUSTER_TYPE_KAFKA_NATIVE_EVENT_PROXY
auth_type:
type: string
description: >-
The auth type value of the cluster associated with the Runtime Group.
example: pinned_client_certs
enum:
- pinned_client_certs
- pki_client_certs
cloud_gateway:
type: boolean
description: Whether this control-plane can be used for cloud-gateways.
example: false
proxy_urls:
$ref: '#/components/schemas/ProxyURLs'
labels:
$ref: '#/components/schemas/Labels'
required:
- name
UpdateControlPlaneRequest:
title: UpdateControlPlaneRequest
description: The request schema for the update control plane request.
type: object
additionalProperties: false
properties:
name:
type: string
example: Test Control Plane
description: The name of the control plane.
description:
type: string
example: A test control plane for exploration.
description: The description of the control plane in Konnect.
auth_type:
type: string
description: >-
The auth type value of the cluster associated with the Runtime Group.
example: pinned_client_certs
enum:
- pinned_client_certs
- pki_client_certs
proxy_urls:
$ref: '#/components/schemas/ProxyURLs'
labels:
$ref: '#/components/schemas/Labels'
ControlPlane:
x-speakeasy-entity: GatewayControlPlane
type: object
description: >-
The control plane object contains information about a Kong control plane.
additionalProperties: false
properties:
id:
x-speakeasy-param-suppress-computed-diff: true
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The control plane ID.
readOnly: true
name:
type: string
example: Test Control Plane
description: The name of the control plane.
description:
type: string
example: A test control plane for exploration.
description: The description of the control plane in Konnect.
labels:
$ref: '#/components/schemas/Labels'
config:
type: object
description: CP configuration object for related access endpoints.
additionalProperties: false
properties:
control_plane_endpoint:
type: string
format: url
example: https://acfe5f253f.cp0.konghq.com
description: Control Plane Endpoint.
readOnly: true
telemetry_endpoint:
type: string
format: url
example: https://acfe5f253f.tp0.konghq.com
description: Telemetry Endpoint.
readOnly: true
cluster_type:
type: string
description: >-
The ClusterType value of the cluster associated with the Control Plane.
example: CLUSTER_TYPE_CONTROL_PLANE
enum:
- CLUSTER_TYPE_CONTROL_PLANE
- CLUSTER_TYPE_K8S_INGRESS_CONTROLLER
- CLUSTER_TYPE_CONTROL_PLANE_GROUP
- CLUSTER_TYPE_SERVERLESS
- CLUSTER_TYPE_KAFKA_NATIVE_EVENT_PROXY
readOnly: true
auth_type:
type: string
description: >-
The auth type value of the cluster associated with the Runtime Group.
example: pinned_client_certs
enum:
- pinned_client_certs
- pki_client_certs
readOnly: true
cloud_gateway:
type: boolean
description: Whether the Control Plane can be used for cloud-gateways.
readOnly: true
proxy_urls:
$ref: '#/components/schemas/ProxyURLs'
required:
- control_plane_endpoint
- telemetry_endpoint
- cluster_type
- auth_type
- cloud_gateway
created_at:
x-speakeasy-terraform-ignore: true
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An ISO-8604 timestamp representation of control plane creation date.
readOnly: true
updated_at:
x-speakeasy-terraform-ignore: true
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An ISO-8604 timestamp representation of control plane update date.
readOnly: true
required:
- id
- name
- config
- created_at
- updated_at
x-examples:
Example 1:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: Test Control Plane
description: A test control plane for exploration.
labels:
env: test
config:
control_plane_endpoint: https://acfe5f253f.cp0.konghq.com
telemetry_endpoint: https://acfe5f253f.tp0.konghq.com
cluster_type: CLUSTER_TYPE_CONTROL_PLANE
auth_type: pinned_client_certs
cloud_gateway: false
proxy_urls:
- host: example.com
port: 443
protocol: https
created_at: '2022-11-04T20:10:06.927Z'
updated_at: '2022-11-04T20:10:06.927Z'
GroupStatus:
title: GroupStatus
type: object
description: >-
The Group Status object contains information about the status of a control plane group.
required:
- id
- created_at
- updated_at
- state
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The control plane group ID.
readOnly: true
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An ISO-8604 timestamp representation of control plane group status creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An ISO-8604 timestamp representation of control plane group status update date.
readOnly: true
conflicts:
type: array
maxItems: 256
items:
$ref: '#/components/schemas/GroupConflict'
state:
type: string
description: The state of the control plane group.
example: CONFLICT
readOnly: true
enum:
- OK
- CONFLICT
- UNKNOWN
GroupConflict:
title: GroupConflict
type: object
description: >-
The Group Conflict object contains information about a conflict in a control plane group.
required:
- cluster_id
- description
- resource
properties:
cluster_id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The ID of a control plane member of a control plane group.
readOnly: true
description:
type: string
example: >-
conflicting entity found: ID=38d790ad-8b08-4ff5-a074-2e1e9e64d8bd, Name=foo
description: The description of the conflict.
readOnly: true
resource:
$ref: '#/components/schemas/GroupConflictResource'
GroupConflictResource:
title: GroupConflictResource
type: object
description: A resource causing a conflict in a control plane group.
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The ID of the resource.
readOnly: true
type:
type: string
example: service
description: The type of the resource.
readOnly: true
required:
- id
- type
GroupMemberStatus:
title: GroupMemberStatus
type: object
description: >-
Object with information determining the group membership status of a control plane.
properties:
is_member:
type: boolean
example: true
description: >-
Boolean indicating if a control plane is a member of a control plane group.
readOnly: true
required:
- is_member
Labels:
title: Labels
type: object
example:
env: test
description: "Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. \n\nKeys must be of length 1-63 characters, and cannot start with \"kong\", \"konnect\", \"mesh\", \"kic\", or \"_\".\n"
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:
oneOf:
- $ref: '#/components/schemas/StringFieldEqualsFilter'
- $ref: '#/components/schemas/StringFieldOEQFilter'
name:
oneOf:
- $ref: '#/components/schemas/StringFieldEqualsFilter'
- $ref: '#/components/schemas/StringFieldContainsFilter'
- $ref: '#/components/schemas/StringFieldNEQFilter'
cluster_type:
oneOf:
- $ref: '#/components/schemas/StringFieldEqualsFilter'
- $ref: '#/components/schemas/StringFieldNEQFilter'
cloud_gateway:
$ref: '#/components/schemas/BooleanFieldFilter'
StringFieldEqualsFilter:
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
x-examples:
example-1: equals-some-value
example-2:
eq: some-value
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
x-examples:
example-1:
oeq: some-value,some-other-value
StringFieldContainsFilter:
title: StringFieldContainsFilter
description: Filters on the given string field value by fuzzy match.
type: object
additionalProperties: false
properties:
contains:
type: string
required:
- contains
x-examples:
example-1:
contains: some-value
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
x-examples:
example-1:
neq: not-this-value
BooleanFieldFilter:
title: BooleanFieldFilter
description: Filter by a boolean value (true/false).
type: boolean
x-examples:
example-1: true
example: true
SortQuery:
title: SortQuery
type: string
example: created_at desc
description: >
The `asc` suffix is optional as the default sort order is ascending.
The `desc` suffix is used to specify a descending order.
Multiple sort attributes may be provided via a comma separated list.
JSONPath notation may be used to specify a sub-attribute (eg: 'foo.bar desc').
PageMeta:
type: object
description: >-
Contains pagination query parameters and the total number of objects returned.
required:
- number
- size
- total
properties:
number:
type: number
example: 1
size:
type: number
example: 10
total:
type: number
example: 100
PaginatedMeta:
type: object
title: PaginatedMeta
description: returns the pagination information
properties:
page:
$ref: '#/components/schemas/PageMeta'
required:
- page
BaseError:
type: object
title: Error
description: standard error
required:
- status
- title
- instance
- detail
properties:
status:
type: integer
description: >
The HTTP status code of the error. Useful when passing the response
body to child properties in a frontend UI. Must be returned as an integer.
readOnly: true
title:
type: string
description: |
A short, human-readable summary of the problem. It should not
change between occurences of a problem, except for localization.
Should be provided as "Sentence case" for direct use in the UI.
readOnly: true
type:
type: string
description: The error type.
readOnly: true
instance:
type: string
description: |
Used to return the correlation ID back to the user, in the format
kong:trace:. This helps us find the relevant logs
when a customer reports an issue.
readOnly: true
detail:
type: string
description: >
A human readable explanation specific to this occurence of the problem.
This field may contain request/entity data to help the user understand
what went wrong. Enclose variable values in square brackets. Should be
provided as "Sentence case" for direct use in the UI.
readOnly: true
InvalidRules:
description: invalid parameters rules
type: string
readOnly: true
nullable: true
enum:
- required
- is_array
- is_base64
- is_boolean
- is_date_time
- is_integer
- is_null
- is_number
- is_object
- is_string
- is_uuid
- is_fqdn
- is_arn
- unknown_property
- missing_reference
- is_label
- matches_regex
- invalid
- is_supported_network_availability_zone_list
- is_supported_network_cidr_block
- is_supported_provider_region
InvalidParameterStandard:
type: object
additionalProperties: false
properties:
field:
type: string
example: name
readOnly: true
rule:
$ref: '#/components/schemas/InvalidRules'
source:
type: string
example: body
reason:
type: string
example: is a required field
readOnly: true
required:
- field
- reason
InvalidParameterMinimumLength:
type: object
additionalProperties: false
properties:
field:
type: string
example: name
readOnly: true
rule:
description: invalid parameters rules
type: string
readOnly: true
nullable: false
enum:
- min_length
- min_digits
- min_lowercase
- min_uppercase
- min_symbols
- min_items
- min
minimum:
type: integer
example: 8
source:
type: string
example: body
reason:
type: string
example: must have at least 8 characters
readOnly: true
required:
- field
- reason
- rule
- minimum
InvalidParameterMaximumLength:
type: object
additionalProperties: false
properties:
field:
type: string
example: name
readOnly: true
rule:
description: invalid parameters rules
type: string
readOnly: true
nullable: false
enum:
- max_length
- max_items
- max
maximum:
type: integer
example: 8
source:
type: string
example: body
reason:
type: string
example: must not have more than 8 characters
readOnly: true
required:
- field
- reason
- rule
- maximum
InvalidParameterChoiceItem:
type: object
additionalProperties: false
properties:
field:
type: string
example: name
readOnly: true
rule:
description: invalid parameters rules
type: string
readOnly: true
nullable: false
enum:
- enum
reason:
type: string
example: is a required field
readOnly: true
choices:
type: array
uniqueItems: true
readOnly: true
nullable: false
minItems: 1
items: {}
source:
type: string
example: body
required:
- field
- reason
- rule
- choices
InvalidParameterDependentItem:
type: object
additionalProperties: false
properties:
field:
type: string
example: name
readOnly: true
rule:
description: invalid parameters rules
type: string
readOnly: true
nullable: true
enum:
- dependent_fields
reason:
type: string
example: is a required field
readOnly: true
dependents:
type: array
uniqueItems: true
nullable: true
items: {}
readOnly: true
source:
type: string
example: body
required:
- field
- rule
- reason
- dependents
InvalidParameters:
type: array
nullable: false
uniqueItems: true
minItems: 1
description: invalid parameters
items:
oneOf:
- $ref: '#/components/schemas/InvalidParameterStandard'
- $ref: '#/components/schemas/InvalidParameterMinimumLength'
- $ref: '#/components/schemas/InvalidParameterMaximumLength'
- $ref: '#/components/schemas/InvalidParameterChoiceItem'
- $ref: '#/components/schemas/InvalidParameterDependentItem'
BadRequestError:
allOf:
- $ref: '#/components/schemas/BaseError'
- type: object
required:
- invalid_parameters
properties:
invalid_parameters:
$ref: '#/components/schemas/InvalidParameters'
UnauthorizedError:
allOf:
- $ref: '#/components/schemas/BaseError'
- type: object
properties:
status:
example: 401
title:
example: Unauthorized
type:
example: https://httpstatuses.com/401
instance:
example: kong:trace:1234567890
detail:
example: Invalid credentials
ForbiddenError:
allOf:
- $ref: '#/components/schemas/BaseError'
- type: object
properties:
status:
example: 403
title:
example: Forbidden
type:
example: https://httpstatuses.com/403
instance:
example: kong:trace:1234567890
detail:
example: Forbidden
ConflictError:
allOf:
- $ref: '#/components/schemas/BaseError'
- type: object
properties:
status:
example: 409
title:
example: Conflict
type:
example: https://httpstatuses.com/409
instance:
example: kong:trace:1234567890
detail:
example: Conflict
NotFoundError:
allOf:
- $ref: '#/components/schemas/BaseError'
- type: object
properties:
status:
example: 404
title:
example: Not Found
type:
example: https://httpstatuses.com/404
instance:
example: kong:trace:1234567890
detail:
example: Not found
CursorMetaWithSizeAndTotal:
type: object
required:
- size
- next
- total
properties:
next:
description: URI to the next page
type: string
format: path
nullable: true
size:
description: Requested page size
type: number
example: 10
total:
description: >-
Total number of objects in the collection; will only be present on the first page
type: number
example: 974
nullable: true
CursorPaginatedMetaWithSizeAndTotal:
type: object
title: CursorPaginatedMetaWithSizeAndTotal
description: returns the pagination information
properties:
page:
$ref: '#/components/schemas/CursorMetaWithSizeAndTotal'
required:
- page
CreatedAt:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An ISO-8601 timestamp representation of entity creation date.
readOnly: true
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. \nOnly one identity provider can be active at a time, such as SAML or OIDC.\n"
default: false
example: true
IdentityProviderLoginPath:
title: Identity Provider Login Path Property
type: string
example: myapp
description: The path used for initiating login requests with the identity provider.
OIDCIdentityProviderClaimMappings:
title: OIDC Claim Mappings
type: object
description: "Defines the mappings between OpenID Connect (OIDC) claims and local claims used by your application for \nauthentication.\n"
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.
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
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
login_path:
type: string
example: myapp
client_id:
type: string
example: YOUR_CLIENT_ID
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
User:
title: User
type: object
description: >-
The user object contains information about an individual user who can use the Konnect application and API.
example:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
email: user@email.com
full_name: Test User
preferred_name: test
active: true
inferred_region: us
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-10-08T17:00:00.52Z'
properties:
id:
type: string
format: uuid
example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: The User ID.
readOnly: true
email:
type: string
format: email
example: user@email.com
maxLength: 250
description: The email registered to the user.
full_name:
type: string
pattern: ^[\w \W]+$
maxLength: 250
description: The User's full name.
example: Jane Doe
preferred_name:
type: string
example: Jane
maxLength: 250
description: The User's preferred name.
active:
type: boolean
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.
description:
type: string
example: The developers for the IDM API.
maxLength: 250
description: The team description in Konnect.
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.
team_ids:
type: array
uniqueItems: true
description: An array of ID's that are mapped to the specified group.
items:
type: string
format: uuid
example: 6801e673-cc10-498a-94cd-4271de07a0d3
TeamGroupMapping:
title: TeamGroupMapping
type: object
description: A map of Konnect Team to IdP groups.
example:
team_id: 6801e673-cc10-498a-94cd-4271de07a0d3
groups:
- Tech Leads
- API Engineers
properties:
team_id:
type: string
format: uuid
example: 6801e673-cc10-498a-94cd-4271de07a0d3
description: The Konnect team ID.
groups:
type: array
uniqueItems: true
description: The IdP groups that are mapped to the specified team.
items:
type: string
example: API Engineers
AssignedRole:
title: AssignedRole
type: object
description: An assigned role is a role that has been assigned to a user or team.
example:
id: 54cc6168-ebb1-4300-8168-d62a0dd08fc8
role_name: Viewer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Control Planes
entity_region: us
properties:
id:
type: string
format: uuid
example: eaf7adf1-32c8-4bbf-b960-d1f8456afe67
description: The ID of the role assignment.
role_name:
type: string
example: Viewer
description: Name of the role being assigned.
entity_id:
type: string
format: uuid
example: 817d0422-45c9-4d88-8d64-45aef05c1ae7
description: A RBAC entity ID.
entity_type_name:
type: string
example: Control Planes
description: Name of the entity type the role is being assigned to.
entity_region:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/EntityRegion'
- description: Region of the entity.
SystemAccount:
x-speakeasy-entity: SystemAccount
title: System Account
type: object
example:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Example System Account
description: This is a sample system account description.
created_at: '2022-08-24T14:15:22Z'
updated_at: '2022-10-05T10:33:49Z'
konnect_managed: false
description: Schema of the system account.
properties:
id:
type: string
format: uuid
description: ID of the system account.
readOnly: true
name:
type: string
description: Name of the system account.
description:
type: string
description: Description of the system account.
created_at:
type: string
format: date-time
description: Timestamp of when the system account was created.
readOnly: true
updated_at:
type: string
format: date-time
description: Timestamp of when the system account was last updated.
readOnly: true
konnect_managed:
type: boolean
description: The system account is managed by Konnect (true/false).
SystemAccountAccessToken:
x-speakeasy-entity: SystemAccountAccessToken
title: System Account Access Token
example:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
name: Sample Access Token
created_at: '2022-08-01T14:16:09Z'
updated_at: '2022-08-02T08:35:49Z'
expires_at: '2022-12-31T12:52:23Z'
last_used_at: '2022-10-24T13:05:42Z'
description: Schema of the system account access token.
type: object
properties:
id:
type: string
format: uuid
description: ID of the system account access token.
readOnly: true
name:
type: string
description: Name of the system account access token.
created_at:
type: string
format: date-time
description: Timestamp of when the system account access token was created.
readOnly: true
updated_at:
type: string
format: date-time
description: Timestamp of when the system account access token was last updated.
readOnly: true
expires_at:
type: string
format: date-time
description: Timestamp of when the system account access token will expire.
last_used_at:
type: string
format: date-time
description: Timestamp of when the system account access token was last used.
readOnly: true
UUID:
type: string
format: uuid
example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7
description: Contains a unique identifier used for this resource.
readOnly: true
IdentityProviderType:
type: string
enum:
- oidc
- saml
description: Specifies the type of identity provider.
example: oidc
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.
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
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: |
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.
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
StringFieldFilter:
title: StringFieldFilter
description: Filters on the given string field value by either exact or fuzzy match.
oneOf:
- $ref: '#/components/schemas/StringFieldEqualsFilter'
- $ref: '#/components/schemas/StringFieldContainsFilter'
- $ref: '#/components/schemas/StringFieldOContainsFilter'
- $ref: '#/components/schemas/StringFieldOEQFilter'
- $ref: '#/components/schemas/StringFieldNEQFilter'
x-examples:
example-1: equals-some-value
example-2:
eq: some-value
example-3:
contains: some-value
example-4:
ocontains: some-potential,value
example-5:
oeq: some-potential,value
example-6:
neq: not-this-value
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. \n\nLabels are intended to store **INTERNAL** metadata.\n\nKeys must be of length 1-63 characters, and cannot start with \"kong\", \"konnect\", \"mesh\", \"kic\", or \"_\".\n"
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
EntityRegion:
type: string
enum:
- us
- eu
- au
- me
- in
- '*'
example: eu
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
InstanceType:
title: Instance Type
description: Resource parameters and pricing of a given supported instance type.
readOnly: true
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/InstanceTypeName'
hourly_cost:
description: >-
Hourly cost to run a single cloud gateway instance of this instance type.
type: string
format: ^(\d)+(\.(\d)+)?$
example: '1.00'
v_cpu:
description: >-
Number of virtual CPUs available to a cloud gateway instance of this instance type.
type: string
format: ^(\d)+
example: '2'
gb_memory:
description: >-
Number of gigabytes of memory available to a cloud gateway instance of this instance type.
type: string
format: ^(\d)+
example: '2'
required:
- name
- hourly_cost
- v_cpu
- gb_memory
InstanceTypes:
title: Instance Types
description: >-
List of supported instance types, along with their associated resource parameters and pricing.
type: array
items:
$ref: '#/components/schemas/InstanceType'
ProviderRegionName:
title: Provider Region Name
description: >
Human-readable name for cloud provider region. The list of available provider regions can be retrieved via the
availability endpoint `/v2/cloud-gateways/availability.json`.
type: string
example: N. Virginia
ProviderRegionId:
title: Provider Region ID
description: Region ID for cloud provider region.
type: string
example: us-east-2
ProviderRegion:
title: Provider Region
description: Region ID and human-readable name for a cloud provider region.
type: object
additionalProperties: false
properties:
region:
$ref: '#/components/schemas/ProviderRegionId'
name:
$ref: '#/components/schemas/ProviderRegionName'
availability_zones:
description: >
List of supported availability zones for cloud provider region, for network AZ configuration.
type: array
items:
type: string
example:
- use2-az1
- use2-az2
- use2-az3
cidr_blocks:
description: >
List of supported CIDR blocks for cloud provider region, for network CIDR block configuration.
type: array
items:
type: string
example:
- 10.0.0.0/8
- 100.64.0.0/10
- 172.16.0.0/12
- 192.168.0.0/16
- 198.18.0.0/15
reserved_cidr_blocks:
description: >
List of reserved CIDR blocks for cloud provider region, to restrict allowed network CIDR block
configuration.
type: array
items:
type: string
example:
- 10.100.0.0/16
- 172.17.0.0/16
required:
- region
- name
- availability_zones
- cidr_blocks
- reserved_cidr_blocks
HighVelocityProviderRegion:
title: HighVelocity Provider Region
description: Region ID and human-readable name for a cloud provider region.
type: object
additionalProperties: false
properties:
region:
$ref: '#/components/schemas/ProviderRegionId'
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'
HighVelocityProviderRegions:
title: High Velocity Provider Regions
description: >-
List of available regions to run high velocity cloud gateway instances on for a given cloud provider.
type: array
items:
$ref: '#/components/schemas/HighVelocityProviderRegion'
ProviderName:
title: Provider Name
description: Name of cloud provider.
type: string
enum:
- aws
- azure
example: aws
HighVelocityCloudGatewaysProviderName:
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
HighVelocityProvider:
title: High Velocity Provider
description: >-
Description of cloud provider that runs high velocity cloud gateway instances.
type: object
additionalProperties: false
properties:
provider:
$ref: '#/components/schemas/HighVelocityCloudGatewaysProviderName'
regions:
$ref: '#/components/schemas/HighVelocityProviderRegions'
required:
- provider
- regions
Providers:
title: Providers
description: List of supported cloud providers that run cloud gateway instances.
type: array
items:
$ref: '#/components/schemas/Provider'
HighVelocityProviders:
title: High Velocity Providers
description: >-
List of supported cloud providers that run high velocity cloud gateway instances.
type: array
items:
$ref: '#/components/schemas/HighVelocityProvider'
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'
high_velocity_providers:
$ref: '#/components/schemas/HighVelocityProviders'
required:
- versions
- instance_types
- providers
- high_velocity_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
description: >-
Max number of requests per second that the deployment target should support. If not set, this defaults to 10x base_rps. This field is deprecated and shouldn't be used in new configurations as it will be removed in a future version. max_rps is now calculated as 10x base_rps.
required:
- kind
- base_rps
additionalProperties: false
ConfigurationDataPlaneGroupEnvironment:
title: Configuration Data-Plane Group Environment
description: Array of environment variables to set for a data-plane group.
type: array
items:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironmentField'
ConfigurationDataPlaneGroupEnvironmentField:
title: Configuration Data-Plane Group Environment Field
description: Environment variable name and value to set for a data-plane group.
type: object
properties:
name:
type: string
format: ^KONG_[a-zA-Z_]+[a-zA-Z0-9_]*
minLength: 6
maxLength: 120
example: KONG_LOG_LEVEL
description: >
Name of the environment variable field to set for the data-plane group. Must be prefixed by KONG_.
value:
type: string
minLength: 1
maxLength: 120
example: info
description: >-
Value assigned to the environment variable field for the data-plane group.
required:
- name
- value
ConfigurationDataPlaneGroupConfig:
title: Configuration Data-Plane Group Config Item
description: >-
Object that describes where a data-plane group will be deployed to, along with how many instances.
type: object
properties:
provider:
$ref: '#/components/schemas/ProviderName'
region:
$ref: '#/components/schemas/ProviderRegionId'
cloud_gateway_network_id:
$ref: '#/components/schemas/NetworkId'
autoscale:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale'
environment:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment'
required:
- autoscale
- provider
- region
- cloud_gateway_network_id
additionalProperties: false
ConfigurationDataPlaneGroupConfigs:
title: Configuration Data-Plane Group Configs
description: >-
Object that describes where data-planes will be deployed to, along with how many instances.
type: array
items:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupConfig'
ConfigurationDataPlaneGroup:
title: Cloud Gateway Configuration Data-Plane Group
description: >-
Object that describes the set of data-plane groups currently pointed to this configuration.
type: object
properties:
id:
$ref: '#/components/schemas/DataPlaneGroupId'
provider:
$ref: '#/components/schemas/ProviderName'
region:
$ref: '#/components/schemas/ProviderRegionId'
autoscale:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale'
environment:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment'
cloud_gateway_network_id:
$ref: '#/components/schemas/NetworkId'
state:
type: string
enum:
- created
- initializing
- ready
- terminating
- terminated
description: State of the data-plane group.
state_metadata:
type: object
description: >
Metadata describing the backing state of the dataplane group and why it may be in an erroneous state.
additionalProperties: false
x-speakeasy-terraform-ignore: true
properties:
reported_status:
type: string
description: >-
Reported status of the dataplane group from backing infrastructure.
example: ERROR
reason:
type: string
description: >
Reason why the dataplane group may be in an erroneous state, reported from backing infrastructure.
example: >
Dataplane group could not be deployed due to insufficient cloud provider compute instances.
private_ip_addresses:
type: array
items:
type: string
description: >
List of private IP addresses of the internal load balancer that proxies traffic to this data-plane group.
example:
- 192.168.248.132
- 192.168.66.81
- 192.168.137.135
egress_ip_addresses:
type: array
items:
type: string
description: >
List of egress IP addresses for the network that this data-plane group runs on.
example:
- 71.78.149.75
- 91.149.112.244
- 51.235.15.121
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of data-plane group creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of data-plane group update date.
readOnly: true
required:
- id
- provider
- region
- autoscale
- cloud_gateway_network_id
- state
- created_at
- updated_at
NetworkConfigurationReference:
$ref: '#/components/schemas/ConfigurationManifest'
ConfigurationManifest:
x-speakeasy-entity: CloudGatewayConfiguration
title: Configuration
description: >-
Object containing information about a control-plane's cloud-gateways configuration.
type: object
properties:
id:
$ref: '#/components/schemas/ConfigurationId'
version:
$ref: '#/components/schemas/GatewayVersion'
api_access:
$ref: '#/components/schemas/ApiAccess'
dataplane_group_config:
x-flatten-allOf: true
allOf:
- x-speakeasy-terraform-ignore: true
- $ref: '#/components/schemas/ConfigurationDataPlaneGroupConfigs'
dataplane_groups:
type: array
format: set
description: >
List of data-plane groups that describe where data-planes will be deployed to, along with how many
instances.
items:
$ref: '#/components/schemas/ConfigurationDataPlaneGroup'
entity_version:
type: number
example: 1
description: >
Positive, monotonically increasing version integer, to serialize configuration changes.
readOnly: true
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of configuration creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of configuration update date.
readOnly: true
control_plane_id:
$ref: '#/components/schemas/ControlPlaneId'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeo'
required:
- id
- control_plane_id
- control_plane_geo
- version
- dataplane_group_config
- dataplane_groups
- entity_version
- created_at
- updated_at
CreateConfigurationDataPlaneGroup:
title: CreateConfigurationDataPlaneGroup
description: >-
Object that describes where to deploy a data-plane group, along with how many instances.
type: object
additionalProperties: false
properties:
provider:
$ref: '#/components/schemas/ProviderName'
region:
$ref: '#/components/schemas/ProviderRegionId'
cloud_gateway_network_id:
$ref: '#/components/schemas/NetworkId'
autoscale:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale'
environment:
$ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment'
required:
- autoscale
- provider
- region
- cloud_gateway_network_id
ProviderAccount:
title: Cloud Gateway Provider Account
description: >-
Object containing mapping for organization and cloud provider to account ID.
type: object
properties:
id:
$ref: '#/components/schemas/ProviderAccountId'
provider:
$ref: '#/components/schemas/ProviderName'
provider_account_id:
type: string
description: ID of the cloud provider account.
readOnly: true
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of provider account creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of provider account update date.
readOnly: true
required:
- id
- provider
- provider_account_id
- created_at
- updated_at
NetworkCreateState:
title: Network Create State
description: Initial state for creating a network.
type: string
default: initializing
enum:
- initializing
- offline
NetworkState:
x-speakeasy-terraform-ignore: true
title: Network State
description: State of the network.
enum:
- created
- initializing
- offline
- ready
- terminating
- terminated
readOnly: true
NetworkStateMetadata:
x-speakeasy-terraform-ignore: true
title: Network State Metadata
description: >
Metadata describing the backing state of the network and why it may be in an erroneous state.
type: object
additionalProperties: false
properties:
reported_status:
type: string
description: Reported status of the network from backing infrastructure.
example: INVALID
reason:
type: string
description: >
Reason why the network may be in an erroneous state, reported from backing infrastructure.
example: >
Network could not be deployed due to insufficient cloud provider compute instances.
readOnly: true
NetworkProviderMetadata:
x-speakeasy-param-suppress-computed-diff: true
title: Network Provider Metadata
description: >-
Metadata describing attributes returned by cloud-provider for the network.
type: object
additionalProperties: false
properties:
vpc_id:
title: VPC ID
type: string
subnet_ids:
title: Subnet IDs
type: array
items:
type: string
readOnly: true
NetworkName:
title: Network Name
type: string
description: Human-readable name of the network.
example: us-east-2 network
NetworkCIDRBlock:
title: Network CIDR Block
description: CIDR block configuration for the network.
type: string
example: 10.0.0.0/8
NetworkAvailabilityZones:
type: array
items:
type: string
description: List of availability zones that the network is attached to.
example:
- use2-az1
- use2-az2
- use2-az3
Network:
x-speakeasy-entity: CloudGatewayNetwork
title: Network
description: >-
Object containing information about a network to be used in configurations.
type: object
properties:
id:
$ref: '#/components/schemas/NetworkId'
name:
$ref: '#/components/schemas/NetworkName'
default:
x-speakeasy-param-suppress-computed-diff: true
type: boolean
description: >
Whether the network is a default network or not. Default networks are Networks that are created
automatically by Konnect when an organization is linked to a provider account.
example: false
cloud_gateway_provider_account_id:
$ref: '#/components/schemas/ProviderAccountId'
region:
$ref: '#/components/schemas/ProviderRegionId'
availability_zones:
$ref: '#/components/schemas/NetworkAvailabilityZones'
cidr_block:
$ref: '#/components/schemas/NetworkCIDRBlock'
state:
$ref: '#/components/schemas/NetworkState'
state_metadata:
$ref: '#/components/schemas/NetworkStateMetadata'
provider_metadata:
$ref: '#/components/schemas/NetworkProviderMetadata'
transit_gateway_count:
x-speakeasy-param-suppress-computed-diff: true
type: integer
description: The number of transit gateways attached to this network.
readOnly: true
example: 0
configuration_reference_count:
x-speakeasy-param-suppress-computed-diff: true
type: integer
description: The number of configurations that reference this network.
readOnly: true
example: 0
entity_version:
x-speakeasy-param-suppress-computed-diff: true
type: integer
description: >
Monotonically-increasing version count of the network, to indicate the order of updates to the network.
readOnly: true
example: 1
created_at:
x-speakeasy-param-suppress-computed-diff: true
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of network creation date.
readOnly: true
updated_at:
x-speakeasy-param-suppress-computed-diff: true
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of network update date.
readOnly: true
required:
- id
- name
- default
- cloud_gateway_provider_account_id
- region
- availability_zones
- cidr_block
- provider_metadata
- state
- transit_gateway_count
- configuration_reference_count
- entity_version
- created_at
- updated_at
CreateNetworkRequest:
x-speakeasy-entity: CloudGatewayNetwork
title: CreateNetworkRequest
description: Request schema for creating a network.
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/NetworkName'
cloud_gateway_provider_account_id:
$ref: '#/components/schemas/ProviderAccountId'
region:
$ref: '#/components/schemas/ProviderRegionId'
availability_zones:
$ref: '#/components/schemas/NetworkAvailabilityZones'
cidr_block:
$ref: '#/components/schemas/NetworkCIDRBlock'
state:
$ref: '#/components/schemas/NetworkCreateState'
required:
- name
- cloud_gateway_provider_account_id
- region
- availability_zones
- cidr_block
PatchNetworkRequest:
x-speakeasy-entity: CloudGatewayNetwork
title: PatchNetworkRequest
description: Request schema for updating a network.
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/NetworkName'
TransitGatewayState:
title: Transit Gateway State
type: string
description: >
The current state of the Transit Gateway. Possible values:
- `created` - The attachment has been created but is not attached to transit gateway.
- `initializing` - The attachment is in the process of being initialized and is setting up necessary resources.
- `pending-acceptance` The attachment request is awaiting acceptance in customer VPC.
- `ready` - The transit gateway attachment is fully operational and can route traffic as configured.
- `terminating` - The attachment is in the process of being deleted and is no longer accepting new traffic.
- `terminated` - The attachment has been fully deleted and is no longer available.
enum:
- created
- initializing
- pending-acceptance
- ready
- terminating
- terminated
readOnly: true
AwsTransitGatewayAttachmentConfig:
title: AWS Transit Gateway Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: AWS Transit Gateway Attachment Type
enum:
- aws-transit-gateway-attachment
transit_gateway_id:
title: Transit Gateway ID
description: AWS Transit Gateway ID to create attachment to.
type: string
ram_share_arn:
title: RAM Share ARN
description: >-
Resource Share ARN to verify request to create transit gateway attachment.
type: string
required:
- kind
- transit_gateway_id
- ram_share_arn
AwsVpcPeeringGatewayAttachmentConfig:
title: AWS VPC Peering Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: AWS VPC Peering Attachment Config
enum:
- aws-vpc-peering-attachment
peer_account_id:
type: string
peer_vpc_id:
type: string
peer_vpc_region:
type: string
required:
- kind
- peer_account_id
- peer_vpc_id
- peer_vpc_region
AzureVNETPeeringAttachmentConfig:
title: Azure VNET Peering Attachment Config
type: object
additionalProperties: false
properties:
kind:
title: Azure VNET Peering Attachment Type
enum:
- azure-vnet-peering-attachment
tenant_id:
title: Tenant ID
description: Tenant ID for the Azure VNET Peering attachment.
type: string
subscription_id:
title: Subscription ID
description: Subscription ID for the Azure VNET Peering attachment.
type: string
resource_group_name:
title: Resource Group Name
description: Resource Group Name for the Azure VNET Peering attachment.
type: string
vnet_name:
title: VNET Name
description: VNET Name for the Azure VNET Peering attachment.
type: string
required:
- kind
- tenant_id
- subscription_id
- resource_group_name
- vnet_name
TransitGatewayDnsConfig:
title: Transit Gateway DNS Config
description: >
List of mappings from remote DNS server IP address sets to proxied internal domains, for a transit gateway
attachment.
type: array
items:
type: object
additionalProperties: false
properties:
remote_dns_server_ip_addresses:
title: Remote DNS Server IP Addresses
description: >-
Remote DNS Server IP Addresses to connect to for resolving internal DNS via a transit gateway.
type: array
items:
type: string
example:
- 10.0.0.2
domain_proxy_list:
title: Domain Proxy List
type: array
description: >
Internal domain names to proxy for DNS resolution from the listed remote DNS server IP addresses,
for a transit gateway.
items:
type: string
example:
- foobar.com
required:
- remote_dns_server_ip_addresses
- domain_proxy_list
TransitGatewayName:
title: Transit Gateway Name
type: string
description: Human-readable name of the transit gateway.
example: us-east-2 transit gateway
TransitGatewayCIDRBlocks:
title: Transit Gateway CIDR Blocks
type: array
items:
type: string
description: >
CIDR blocks for constructing a route table for the transit gateway, when attaching to the owning
network.
example:
- 10.0.0.0/8
- 100.64.0.0/10
- 172.16.0.0/12
BaseTransitGateway:
type: object
properties:
name:
$ref: '#/components/schemas/TransitGatewayName'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
required:
- name
BasePrivateDnsResponse:
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
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.
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
required:
- id
- state
- state_metadata
- entity_version
- created_at
- updated_at
PrivateDnsResponse:
oneOf:
- $ref: '#/components/schemas/AwsPrivateHostedZoneResponse'
- $ref: '#/components/schemas/AwsPrivateDnsResolverResponse'
AwsPrivateHostedZoneResponse:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/BasePrivateDnsResponse'
- type: object
properties:
name:
$ref: '#/components/schemas/PrivateDnsName'
private_dns_attachment_config:
$ref: '#/components/schemas/AwsPrivateHostedZoneAttachmentConfig'
required:
- 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
AwsPrivateDnsResolverResponse:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/BasePrivateDnsResponse'
- type: object
properties:
name:
$ref: '#/components/schemas/PrivateDnsName'
private_dns_attachment_config:
$ref: '#/components/schemas/AwsPrivateDnsResolverAttachmentConfig'
required:
- 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'
PatchPrivateDnsRequest:
title: PatchPrivateDnsRequest
description: Request schema for updating a Private DNS.
type: object
oneOf:
- $ref: '#/components/schemas/PatchAwsPrivateDnsResolver'
BaseTransitGatewayResponse:
type: object
properties:
id:
$ref: '#/components/schemas/TransitGatewayId'
dns_config:
$ref: '#/components/schemas/TransitGatewayDnsConfig'
state:
$ref: '#/components/schemas/TransitGatewayState'
state_metadata:
title: TransitGatewayStateMetadata
type: object
description: >
Metadata describing the backing state of the transit gateway and why it may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: >-
Reported status of the transit gateway from backing infrastructure.
example: ERROR
reason:
type: string
description: >
Reason why the transit gateway may be in an erroneous state, reported from backing infrastructure.
example: >
Transit Gateway Attachment configuration could not find a resource with the provided ram share arn.
readOnly: true
entity_version:
type: integer
description: >
Monotonically-increasing version count of the transit gateway, to indicate the order of updates to the
transit gateway.
readOnly: true
example: 1
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of transit gateway creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of transit gateway update date.
readOnly: true
required:
- id
- dns_config
- state
- entity_version
- created_at
- updated_at
AwsTransitGateway:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/BaseTransitGateway'
- title: AWS Transit Gateway
type: object
properties:
cidr_blocks:
$ref: '#/components/schemas/TransitGatewayCIDRBlocks'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AwsTransitGatewayAttachmentConfig'
required:
- cidr_blocks
- transit_gateway_attachment_config
AwsTransitGatewayResponse:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/AwsTransitGateway'
- required:
- dns_config
- $ref: '#/components/schemas/BaseTransitGatewayResponse'
AwsVpcPeeringGateway:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/BaseTransitGateway'
- title: AWS VPC Peering Gateway
type: object
properties:
cidr_blocks:
$ref: '#/components/schemas/TransitGatewayCIDRBlocks'
transit_gateway_attachment_config:
$ref: '#/components/schemas/AwsVpcPeeringGatewayAttachmentConfig'
required:
- cidr_blocks
- transit_gateway_attachment_config
AwsVpcPeeringGatewayResponse:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/AwsVpcPeeringGateway'
- required:
- dns_config
- $ref: '#/components/schemas/BaseTransitGatewayResponse'
AzureTransitGateway:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/BaseTransitGateway'
- title: Azure Transit Gateway
type: object
properties:
transit_gateway_attachment_config:
$ref: '#/components/schemas/AzureVNETPeeringAttachmentConfig'
required:
- transit_gateway_attachment_config
AzureTransitGatewayResponse:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/AzureTransitGateway'
- $ref: '#/components/schemas/BaseTransitGatewayResponse'
TransitGatewayResponse:
oneOf:
- $ref: '#/components/schemas/AwsTransitGatewayResponse'
- $ref: '#/components/schemas/AwsVpcPeeringGatewayResponse'
- $ref: '#/components/schemas/AzureTransitGatewayResponse'
CreateAwsTransitGateway:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/AwsTransitGateway'
- required:
- name
- x-speakeasy-name-override: AWSTransitGateway
CreateAwsVpcPeeringGateway:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/AwsVpcPeeringGateway'
- required:
- name
- x-speakeasy-name-override: AWSVpcPeeringGateway
CreateAzureTransitGateway:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/AzureTransitGateway'
- required:
- name
- x-speakeasy-name-override: AzureTransitGateway
CreateTransitGatewayRequest:
title: CreateTransitGatewayRequest
description: Request schema for creating a transit gateway.
type: object
oneOf:
- $ref: '#/components/schemas/CreateAwsTransitGateway'
- $ref: '#/components/schemas/CreateAwsVpcPeeringGateway'
- $ref: '#/components/schemas/CreateAzureTransitGateway'
CustomDomainState:
title: Custom Domain State
type: string
description: State of the custom domain.
enum:
- created
- initializing
- ready
- terminating
- terminated
- error
readOnly: true
CustomDomainName:
title: Custom Domain Name
type: string
description: Domain name of the custom domain.
example: example.com
CustomDomain:
x-speakeasy-entity: CloudGatewayCustomDomain
title: Custom Domain
description: Object containing information about a custom domain for a control-plane.
type: object
properties:
id:
$ref: '#/components/schemas/CustomDomainId'
control_plane_id:
$ref: '#/components/schemas/ControlPlaneId'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeo'
domain:
$ref: '#/components/schemas/CustomDomainName'
certificate_id:
type: string
format: uuid
nullable: true
description: >
Certificate ID for the certificate representing this domain and stored on data-planes for this
control-plane. Can be retrieved via the control-planes API for this custom domain's control-plane.
readOnly: true
example: 3b7cbeee-fbec-440e-a5ef-89e7dec3b9d0
sni_id:
type: string
format: uuid
nullable: true
description: >
Server Name Indication ID for this domain and stored on data-planes for this control-plane. Can be retrieved
via the control-planes API for this custom domain's control-plane.
readOnly: true
example: a8f11ea8-af09-4422-9735-5d4f8910aba1
state:
$ref: '#/components/schemas/CustomDomainState'
state_metadata:
title: CustomDomainStateMetadata
type: object
description: >
Metadata describing the backing state of the custom domain and why it may be in an erroneous state.
additionalProperties: false
properties:
reported_status:
type: string
description: >-
Reported status of the custom domain from backing infrastructure.
example: INVALID
reason:
type: string
description: >
Reason why the custom domain may be in an erroneous state, reported from backing infrastructure.
example: >
CNAME points to '_acme-challenge..gateways.konghq.tech.' instead of '_acme-challenge..acme.gateways.konghq.tech.'
readOnly: true
entity_version:
type: integer
description: >
Monotonically-increasing version count of the custom domain, to indicate the order of updates to the custom
domain.
readOnly: true
example: 1
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of custom domain creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of custom domain update date.
readOnly: true
required:
- id
- control_plane_id
- control_plane_geo
- domain
- state
- state_metadata
- entity_version
- created_at
- updated_at
CustomDomainOnlinePropertyStatus:
title: Custom Domain Online Property Status
description: Set of available statuses for the online properties of a custom domain.
type: string
readOnly: true
enum:
- verified
- unverified
CustomDomainOnlineStatus:
title: Custom Domain Online Status
type: object
properties:
cname:
$ref: '#/components/schemas/CustomDomainOnlinePropertyStatus'
ssl:
$ref: '#/components/schemas/CustomDomainOnlinePropertyStatus'
additionalProperties: false
required:
- cname
- ssl
CreateConfigurationRequest:
title: CreateConfigurationRequest
description: |
Request schema for creating a configuration.
type: object
additionalProperties: false
properties:
control_plane_id:
$ref: '#/components/schemas/ControlPlaneId'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeo'
version:
$ref: '#/components/schemas/GatewayVersion'
dataplane_groups:
type: array
format: set
description: >-
List of data-plane groups that describe where to deploy instances, along with how many instances.
items:
$ref: '#/components/schemas/CreateConfigurationDataPlaneGroup'
api_access:
$ref: '#/components/schemas/ApiAccess'
required:
- control_plane_id
- control_plane_geo
- version
- dataplane_groups
CreateCustomDomainRequest:
title: CreateCustomDomainRequest
description: Request schema for creating a custom domain in the global API.
type: object
additionalProperties: false
properties:
control_plane_id:
$ref: '#/components/schemas/ControlPlaneId'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeo'
domain:
$ref: '#/components/schemas/CustomDomainName'
required:
- control_plane_id
- control_plane_geo
- domain
ResourceQuotaQualifier:
description: Enumeration of resources available for quota enforcement.
type: string
enum:
- count/provider-accounts.per-provider
- count/networks.not-offline
- count/data-planes-estimate
- count/serverless-data-planes-estimate
ResourceQuotaName:
type: string
description: The human-readable name of this resource quota.
readOnly: true
example: Active Networks
ResourceQuotaDescription:
type: string
description: A more verbose description of what this resource quota enforces.
readOnly: true
example: >-
Across the organization, the aggregate number of active networks cannot exceed this value.
ResourceQuotaValue:
type: integer
minimum: 0
description: >
The aggregate non-negative integer count of this resource that's allowed for the organization.
example: 2
ResourceQuota:
title: Resource Quota
description: >-
Object containing information about a resource quota for an organization.
type: object
properties:
id:
$ref: '#/components/schemas/ResourceQuotaId'
resource:
$ref: '#/components/schemas/ResourceQuotaQualifier'
name:
$ref: '#/components/schemas/ResourceQuotaName'
description:
$ref: '#/components/schemas/ResourceQuotaDescription'
value:
$ref: '#/components/schemas/ResourceQuotaValue'
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of resource quota creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: An RFC-3339 timestamp representation of resource quota update date.
readOnly: true
required:
- id
- resource
- name
- description
- value
- created_at
- updated_at
DefaultResourceQuota:
title: Default Resource Quota
description: >-
Object containing information about a default resource quota, and any organizational overrides.
type: object
properties:
id:
$ref: '#/components/schemas/DefaultResourceQuotaId'
resource:
$ref: '#/components/schemas/ResourceQuotaQualifier'
name:
$ref: '#/components/schemas/ResourceQuotaName'
description:
$ref: '#/components/schemas/ResourceQuotaDescription'
value:
$ref: '#/components/schemas/ResourceQuotaValue'
overrides:
type: array
description: Organizational overrides for this default resource quota.
items:
$ref: '#/components/schemas/ResourceQuota'
created_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of default resource quota creation date.
readOnly: true
updated_at:
type: string
format: date-time
example: '2022-11-04T20:10:06.927Z'
description: >-
An RFC-3339 timestamp representation of default resource quota update date.
readOnly: true
required:
- id
- resource
- name
- description
- value
- overrides
- created_at
- updated_at
ResourceConfigurationQualifier:
description: >-
Enumeration of configuration qualifiers available for organization-wide configuration.
type: string
enum:
- data-plane-group-idle-timeout-minutes
ResourceConfigurationValue:
type: integer
description: The value of this resource configuration.
example: 45
ResourceConfigurationName:
type: string
description: The human-readable name of this resource configuration.
readOnly: true
example: Data Plane Group Idle Timeout Minutes
ResourceConfigurationDescription:
type: string
description: A more verbose description of what this resource configuration enforces.
readOnly: true
example: >-
The number of minutes that a data plane group can be idle before it is automatically scaled down to zero instances.
ConfigurationsFilterParameters:
title: ConfigurationsFilterParameters
type: object
additionalProperties: false
properties:
control_plane_id:
$ref: '#/components/schemas/IDFieldFilter'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeoFieldFilter'
CustomDomainsFilterParameters:
title: CustomDomainsFilterParameters
type: object
additionalProperties: false
properties:
control_plane_id:
$ref: '#/components/schemas/IDFieldFilter'
control_plane_geo:
$ref: '#/components/schemas/ControlPlaneGeoFieldFilter'
domain:
$ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride'
state:
$ref: '#/components/schemas/CustomDomainStateFieldFilter'
TransitGatewaysFilterParameters:
title: TransitGatewaysFilterParameters
type: object
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride'
state:
$ref: '#/components/schemas/TransitGatewayStateFieldFilter'
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
x-examples:
example-1: equals-some-value
example-2:
eq: some-value
NetworkStateFieldFilter:
title: NetworkStateFieldFilter
oneOf:
- $ref: '#/components/schemas/NetworkStateFieldEqualsFilter'
- $ref: '#/components/schemas/NetworkStateFieldNotEqualsFilter'
- $ref: '#/components/schemas/NetworkStateFieldOrEqualityFilter'
NetworkStateFieldEqualsFilter:
x-examples:
example-1: ready
example-2:
eq: ready
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:
x-examples:
example-1:
neq: ready
title: NetworkStateFieldNotEqualsFilter
description: Filter a network state by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/NetworkState'
required:
- neq
NetworkStateFieldOrEqualityFilter:
x-examples:
example-1:
oeq: ready,initializing
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:
x-examples:
example-1:
neq: ready
title: CustomDomainStateFieldNotEqualsFilter
description: Filter custom domain state by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/CustomDomainState'
required:
- neq
CustomDomainStateFieldOrEqualityFilter:
x-examples:
example-1:
oeq: ready,initializing
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:
x-examples:
example-1: ready
example-2:
eq: ready
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:
x-examples:
example-1:
neq: ready
title: TransitGatewayStateFieldNotEqualsFilter
description: Filter transit-gateway state by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/TransitGatewayState'
required:
- neq
TransitGatewayStateFieldOrEqualityFilter:
x-examples:
example-1:
oeq: ready,initializing
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:
x-examples:
example-1: ready
example-2:
eq: ready
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:
x-examples:
example-1:
neq: ready
title: PrivateDnsStateFieldNotEqualsFilter
description: Filter private-dns state by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/PrivateDnsState'
required:
- neq
PrivateDnsStateFieldOrEqualityFilter:
x-examples:
example-1:
oeq: ready,initializing
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:
title: IDFieldFilter
oneOf:
- $ref: '#/components/schemas/StringFieldEqualsFilter'
- $ref: '#/components/schemas/StringFieldNEQFilter'
- $ref: '#/components/schemas/StringFieldOEQFilter'
ControlPlaneGeoFieldFilter:
title: ControlPlaneGeoFieldFilter
oneOf:
- $ref: '#/components/schemas/ControlPlaneGeoFieldEqualsFilter'
- $ref: '#/components/schemas/ControlPlaneGeoFieldNotEqualsFilter'
- $ref: '#/components/schemas/ControlPlaneGeoFieldOrEqualityFilter'
ControlPlaneGeoFieldEqualsFilter:
x-examples:
example-1: us
example-2:
eq: us
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:
x-examples:
example-1:
neq: us
title: ControlPlaneGeoFieldNotEqualsFilter
description: Filter a control-plane geo by inequality match.
type: object
properties:
neq:
$ref: '#/components/schemas/ControlPlaneGeo'
required:
- neq
ControlPlaneGeoFieldOrEqualityFilter:
x-examples:
example-1:
oeq: us,eu
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
x-examples:
example-1:
ocontains: this-value,or-that-value
NotificationFilterParameters:
title: NotificationFilterParameters
type: object
additionalProperties: false
properties:
title:
$ref: '#/components/schemas/StringFieldFilter'
description:
$ref: '#/components/schemas/StringFieldFilter'
namespace:
$ref: '#/components/schemas/StringFieldFilter'
region:
$ref: '#/components/schemas/StringFieldFilter'
status:
$ref: '#/components/schemas/StringFieldFilter'
ConfigurationFilterParameters:
title: ConfigurationFilterParameters
type: object
additionalProperties: false
properties:
event_title:
$ref: '#/components/schemas/StringFieldFilter'
event_description:
$ref: '#/components/schemas/StringFieldFilter'
event_namespace:
$ref: '#/components/schemas/StringFieldFilter'
region:
$ref: '#/components/schemas/StringFieldFilter'
Notification:
type: object
description: Properties of a notification.
additionalProperties: false
required:
- id
- title
- description
- status
- region
- namespace
- entity_id
- details
- created_at
- updated_at
properties:
id:
$ref: '#/components/schemas/UUID'
title:
type: string
description:
type: string
status:
$ref: '#/components/schemas/NotificationStatus'
region:
$ref: '#/components/schemas/NotificationRegion'
namespace:
$ref: '#/components/schemas/NotificationNamespace'
entity_id:
type: string
description: ID of the entity. Use '*' to represent all entities of this type.
details:
type: object
description: Metadata associated with the notification to build actionable links.
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
NotificationUpdatePayload:
description: Status of the notification.
type: object
required:
- status
properties:
status:
$ref: '#/components/schemas/NotificationStatus'
NotificationStatus:
type: string
description: Status of the notification.
enum:
- READ
- UNREAD
- ARCHIVED
NotificationRegion:
type: string
description: Region associated to a notification.
enum:
- US
- EU
- AU
- ME
- IN
- '*'
NotificationChannel:
type: object
description: Channel subscription details for an event.
required:
- type
- enabled
properties:
type:
$ref: '#/components/schemas/NotificationChannelType'
enabled:
type: boolean
NotificationChannelType:
type: string
enum:
- EMAIL
- IN_APP
NotificationNamespace:
type: string
enum:
- plan-and-usage
- organization
- dev-portal
- cloud-gateways
- gateway-manager
EntityTypes:
type: string
enum:
- billing-invoice
- access-token
- webhook
- dev-portal
- dataplane-group
- dataplane
UserConfiguration:
description: Properties of an event.
type: object
required:
- event_id
- event_title
- event_description
- event_namespace
- event_subscription_count
- default_subscription
properties:
event_id:
type: string
event_title:
type: string
event_description:
type: string
event_namespace:
$ref: '#/components/schemas/NotificationNamespace'
event_subscription_count:
type: integer
default: 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:
type: object
x-flatten-allOf: true
allOf:
- properties:
id:
$ref: '#/components/schemas/UUID'
entity_type:
$ref: '#/components/schemas/EntityTypes'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
description: Subscription response associated with a notification event.
required:
- id
- entity_type
- created_at
- updated_at
- $ref: '#/components/schemas/EventSubscription'
EventSubscription:
description: Properties associated with an event subscription.
type: object
required:
- regions
- entities
- channels
- enabled
- name
properties:
regions:
type: array
items:
$ref: '#/components/schemas/NotificationRegion'
entities:
type: array
items:
type: string
description: ID of the entity. Use '*' to represent all entities of this type.
channels:
type: array
items:
$ref: '#/components/schemas/NotificationChannel'
enabled:
type: boolean
description: Enable/Disable complete subscription within an event.
name:
type: string
description: User provided name of the subscription.
BulkPayload:
description: Request body schema for bulk status update.
type: object
required:
- ids
- status
properties:
ids:
type: array
items:
type: string
minItems: 1
maxItems: 100
uniqueItems: true
status:
$ref: '#/components/schemas/NotificationStatus'
CursorMetaPage:
type: object
required:
- size
- next
- previous
properties:
first:
description: URI to the first page
type: string
format: path
last:
description: URI to the last page
type: string
format: path
next:
description: URI to the next page
type: string
format: path
nullable: true
previous:
description: URI to the previous page
type: string
format: path
nullable: true
size:
description: Requested page size
type: number
example: 10
DcrConfigPropertyInitialClientId:
title: DcrConfigPropertyInitialClientId
type: string
maxLength: 256
description: >
This ID should be copied from your identity provider's settings after you create a client
and assign it as the management client for DCR for this developer portal
DcrConfigPropertyInitialClientSecret:
title: DcrConfigPropertyInitialClientSecret
type: string
maxLength: 256
description: >
This secret should be copied from your identity provider's settings after you create a client
and assign it as the management client for DCR for this developer portal
DcrConfigPropertyDcrToken:
title: DcrConfigPropertyInitialDcrToken
type: string
maxLength: 256
description: >
This secret should be copied from your identity provider's settings after you create a client
and assign it as the management client for DCR for this developer portal
DcrConfigPropertyInitialClientAudience:
title: DcrConfigPropertyInitialClientAudience
type: string
maxLength: 256
nullable: true
description: >
This is the audience value used for the initial client.
If using a custom domain on Auth0, this must be set as to the Auth0 Management API audience value.
If left blank, the issuer will be used instead.
DcrConfigPropertyApiKey:
title: DcrConfigPropertyApiKey
type: string
pattern: ^[a-zA-Z0-9_]+$
minLength: 12
maxLength: 256
description: >
This is the API Key that will be sent with each HTTP request to the custom DCR server. It can be
verified on the server to ensure that incoming requests are coming from Konnect.
DcrConfigPropertyDisableEventHooks:
title: DcrConfigPropertyDisableEventHooks
type: boolean
description: >-
This flag disables all the event-hooks on the application flow for the DCR provider.
DcrConfigPropertyDisableRefreshSecret:
title: DcrConfigPropertyDisableRefreshSecret
type: boolean
description: >-
This flag disable the refresh-secret endpoint on the application flow for the DCR provider.
DcrConfigAuth0InResponse:
title: DcrConfigAuth0InResponse
type: object
description: A DCR provider configuration for Auth0
additionalProperties: false
required:
- initial_client_id
- initial_client_audience
- use_developer_managed_scopes
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_audience:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientAudience'
use_developer_managed_scopes:
type: boolean
CreateDcrConfigAuth0InRequest:
title: DcrConfigAuth0InRequest
type: object
description: Payload to create an Auth0 DCR provider.
additionalProperties: false
required:
- initial_client_id
- initial_client_secret
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
initial_client_audience:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientAudience'
use_developer_managed_scopes:
type: boolean
UpdateDcrConfigAuth0InRequest:
title: DcrConfigAuth0InRequest
type: object
description: Payload to update an Auth0 DCR provider.
additionalProperties: false
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
initial_client_audience:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientAudience'
use_developer_managed_scopes:
type: boolean
DcrConfigAzureAdInResponse:
title: DcrConfigAzureAdInResponse
type: object
description: A DCR provider configuration for Azure AD
additionalProperties: false
required:
- initial_client_id
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
CreateDcrConfigAzureAdInRequest:
title: DcrConfigAzureAdInRequest
type: object
description: Payload to create an Azure AD DCR provider.
additionalProperties: false
required:
- initial_client_id
- initial_client_secret
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
UpdateDcrConfigAzureAdInRequest:
title: DcrConfigAzureAdInRequest
type: object
description: Payload to update an Azure AD DCR provider.
additionalProperties: false
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
DcrConfigCurityInResponse:
title: DcrConfigCurityInResponse
type: object
description: A DCR provider configuration for Curity
additionalProperties: false
required:
- initial_client_id
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
CreateDcrConfigCurityInRequest:
title: DcrConfigCurityInRequest
type: object
description: Payload to create a Curity DCR provider.
additionalProperties: false
required:
- initial_client_id
- initial_client_secret
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
UpdateDcrConfigCurityInRequest:
title: DcrConfigCurityInRequest
type: object
description: Payload to update a Curity DCR provider.
additionalProperties: false
properties:
initial_client_id:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientId'
initial_client_secret:
$ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret'
DcrConfigOktaInResponse:
title: DcrConfigOktaInResponse
type: object
description: A DCR provider configuration for Okta
additionalProperties: false
CreateDcrConfigOktaInRequest:
title: DcrConfigOktaInRequest
type: object
description: Payload to create an Okta DCR provider.
additionalProperties: false
required:
- dcr_token
properties:
dcr_token:
$ref: '#/components/schemas/DcrConfigPropertyDcrToken'
UpdateDcrConfigOktaInRequest:
title: DcrConfigOktaInRequest
type: object
description: Payload to update an Okta DCR provider.
additionalProperties: false
properties:
dcr_token:
$ref: '#/components/schemas/DcrConfigPropertyDcrToken'
DcrConfigHttpInResponse:
title: DcrConfigHttpInResponse
type: object
description: A DCR provider configuration for HTTP
additionalProperties: false
required:
- dcr_base_url
properties:
dcr_base_url:
type: string
format: url
disable_event_hooks:
$ref: '#/components/schemas/DcrConfigPropertyDisableEventHooks'
disable_refresh_secret:
$ref: '#/components/schemas/DcrConfigPropertyDisableRefreshSecret'
CreateDcrConfigHttpInRequest:
title: CreateDcrConfigHttpInRequest
type: object
description: Payload to create an HTTP DCR provider.
additionalProperties: false
required:
- dcr_base_url
- api_key
properties:
dcr_base_url:
$ref: '#/components/schemas/DcrBaseUrl'
api_key:
$ref: '#/components/schemas/DcrConfigPropertyApiKey'
disable_event_hooks:
$ref: '#/components/schemas/DcrConfigPropertyDisableEventHooks'
disable_refresh_secret:
$ref: '#/components/schemas/DcrConfigPropertyDisableRefreshSecret'
UpdateDcrConfigHttpInRequest:
title: CreateDcrConfigHttpInRequest
type: object
description: Payload to update an HTTP DCR provider.
additionalProperties: false
properties:
dcr_base_url:
$ref: '#/components/schemas/DcrBaseUrl'
api_key:
$ref: '#/components/schemas/DcrConfigPropertyApiKey'
disable_event_hooks:
$ref: '#/components/schemas/DcrConfigPropertyDisableEventHooks'
disable_refresh_secret:
$ref: '#/components/schemas/DcrConfigPropertyDisableRefreshSecret'
DcrProviderType:
title: DcrProviderType
type: string
description: >-
The type of DCR provider. Can be one of the following - auth0, azureAd, curity, okta, http
enum:
- auth0
- azureAd
- curity
- okta
- http
DcrProviderBase:
type: object
description: Properties common to all DCR Providers.
additionalProperties: false
required:
- id
- name
- provider_type
- issuer
- active
- dcr_config
- created_at
- updated_at
properties:
id:
$ref: '#/components/schemas/UUID'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
provider_type:
type: string
description: >-
The type of DCR provider. Can be one of the following - auth0, azureAd, curity, okta, http
issuer:
type: string
description: The issuer of the DCR provider.
format: url
maxLength: 256
active:
readOnly: true
type: boolean
description: At least one active auth strategy is using this DCR provider.
dcr_config:
type: object
description: The DCR configuration for this DCR provider.
labels:
$ref: '#/components/schemas/Labels'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
DcrProviderAuth0:
title: DCR provider - Auth0
type: object
description: >-
A DCR provider for Auth0 -- only properties not included in DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- auth0
dcr_config:
$ref: '#/components/schemas/DcrConfigAuth0InResponse'
DcrProviderAzureAd:
title: DCR provider - Azure AD
type: object
description: >-
A DCR provider for Azure AD -- only properties not included in DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- azureAd
dcr_config:
$ref: '#/components/schemas/DcrConfigAzureAdInResponse'
DcrProviderCurity:
title: DCR provider - Curity
type: object
description: >-
A DCR provider for Curity -- only properties not included in DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- curity
dcr_config:
$ref: '#/components/schemas/DcrConfigCurityInResponse'
DcrProviderOkta:
title: DCR provider - OKTA
type: object
description: >-
A DCR provider for Okta -- only properties not included in DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- okta
dcr_config:
$ref: '#/components/schemas/DcrConfigOktaInResponse'
DcrProviderHttp:
title: DCR provider - HTTP
type: object
description: >-
A DCR provider for HTTP -- only properties not included in DcrProviderBase
required:
- provider_type
- dcr_config
properties:
provider_type:
type: string
enum:
- http
dcr_config:
$ref: '#/components/schemas/DcrConfigHttpInResponse'
CreateDcrProviderResponse:
type: object
description: A response containing the newly created DCR provider object.
allOf:
- $ref: '#/components/schemas/DcrProviderBase'
- discriminator:
propertyName: provider_type
type: object
oneOf:
- $ref: '#/components/schemas/DcrProviderAuth0'
- $ref: '#/components/schemas/DcrProviderAzureAd'
- $ref: '#/components/schemas/DcrProviderCurity'
- $ref: '#/components/schemas/DcrProviderOkta'
- $ref: '#/components/schemas/DcrProviderHttp'
DcrProviderResponse:
type: object
description: >-
A response containing a single DCR provider object. Sensitive fields will be removed from the response.
allOf:
- $ref: '#/components/schemas/DcrProviderBase'
- discriminator:
propertyName: provider_type
type: object
oneOf:
- $ref: '#/components/schemas/DcrProviderAuth0'
- $ref: '#/components/schemas/DcrProviderAzureAd'
- $ref: '#/components/schemas/DcrProviderCurity'
- $ref: '#/components/schemas/DcrProviderOkta'
- $ref: '#/components/schemas/DcrProviderHttp'
CreateDcrProviderRequestAuth0:
title: CreateDcrProviderRequestAuth0
type: object
description: Request body for creating an Auth0 DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- auth0
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigAuth0InRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequestAzureAd:
title: CreateDcrProviderRequestAzureAd
type: object
description: Request body for creating an Azure AD DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- azureAd
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigAzureAdInRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequestCurity:
title: CreateDcrProviderRequestCurity
type: object
description: Request body for creating a Curity DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- curity
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigCurityInRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequestOkta:
title: CreateDcrProviderRequestOkta
type: object
description: Request body for creating an Okta DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- okta
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigOktaInRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequestHttp:
title: CreateDcrProviderRequestHttp
type: object
description: Request body for creating an HTTP DCR provider.
required:
- provider_type
- dcr_config
- name
- issuer
properties:
provider_type:
type: string
enum:
- http
dcr_config:
$ref: '#/components/schemas/CreateDcrConfigHttpInRequest'
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/Labels'
CreateDcrProviderRequest:
title: CreateDcrProviderRequest
description: >-
Request body for creating a DCR provider. The provider_type cannot be updated after creation.
type: object
discriminator:
propertyName: provider_type
mapping:
auth0: '#/components/schemas/CreateDcrProviderRequestAuth0'
azureAd: '#/components/schemas/CreateDcrProviderRequestAzureAd'
curity: '#/components/schemas/CreateDcrProviderRequestCurity'
okta: '#/components/schemas/CreateDcrProviderRequestOkta'
http: '#/components/schemas/CreateDcrProviderRequestHttp'
oneOf:
- $ref: '#/components/schemas/CreateDcrProviderRequestAuth0'
- $ref: '#/components/schemas/CreateDcrProviderRequestAzureAd'
- $ref: '#/components/schemas/CreateDcrProviderRequestCurity'
- $ref: '#/components/schemas/CreateDcrProviderRequestOkta'
- $ref: '#/components/schemas/CreateDcrProviderRequestHttp'
UpdateDcrProviderRequest:
type: object
title: UpdateDcrProviderRequest
description: >-
A set of updates to a DCR provider. The provider_type cannot be updated after creation.
additionalProperties: false
properties:
name:
$ref: '#/components/schemas/DcrProviderName'
display_name:
$ref: '#/components/schemas/DcrProviderDisplayName'
issuer:
type: string
format: url
maxLength: 256
labels:
$ref: '#/components/schemas/LabelsUpdate'
dcr_config:
anyOf:
- $ref: '#/components/schemas/UpdateDcrConfigAuth0InRequest'
- $ref: '#/components/schemas/UpdateDcrConfigAzureAdInRequest'
- $ref: '#/components/schemas/UpdateDcrConfigCurityInRequest'
- $ref: '#/components/schemas/UpdateDcrConfigOktaInRequest'
- $ref: '#/components/schemas/UpdateDcrConfigHttpInRequest'
ListDcrProvidersResponse:
title: ListDcrProvidersResponse
type: object
description: A paginated list response for a collection of DCR providers
additionalProperties: false
required:
- data
- meta
properties:
data:
type: array
items:
$ref: '#/components/schemas/DcrProviderResponse'
meta:
$ref: '#/components/schemas/PaginatedMeta'
VerifyDcrProviderResponse:
title: VerifyDcrProviderResponse
type: object
description: >-
A response containing the result of attempting to verify a DCR provider configuration.
additionalProperties: false
required:
- status
- errors
properties:
status:
type: string
enum:
- success
- failed
errors:
type: array
items:
type: string
AppAuthStrategyConfigKeyAuth:
title: AppAuthStrategyConfigKeyAuth
description: "The most basic mode to configure an Application Auth Strategy for an API Product Version. \nUsing this mode will allow developers to generate API keys that will authenticate their application requests. \nOnce authenticated, an application will be granted access to any Product Version it is registered for that is configured for Key Auth.\n"
type: object
additionalProperties: false
properties:
key_names:
type: array
maxItems: 10
minItems: 1
items:
type: string
maxLength: 256
description: >-
The names of the headers containing the API key. You can specify multiple header names.
PartialAppAuthStrategyConfigOpenIDConnect:
title: PartialAppAuthStrategyConfigOpenIDConnect
description: "A more advanced mode to configure an API Product Version’s Application Auth Strategy. \nUsing this mode will allow developers to use API credentials issued from an external IdP that will authenticate their application requests. \nOnce authenticated, an application will be granted access to any Product Version it is registered for that is configured for the same Auth Strategy. \nAn OIDC strategy may be used in conjunction with a DCR provider to automatically create the IdP application.\n"
type: object
additionalProperties: true
properties:
issuer:
type: string
format: url
maxLength: 256
credential_claim:
type: array
maxItems: 10
items:
type: string
maxLength: 128
scopes:
type: array
maxItems: 50
items:
type: string
maxLength: 128
auth_methods:
type: array
maxItems: 10
items:
type: string
maxLength: 64
AppAuthStrategyConfigOpenIDConnect:
title: AppAuthStrategyConfigOpenIDConnect
description: "A more advanced mode to configure an API Product Version’s Application Auth Strategy. \nUsing this mode will allow developers to use API credentials issued from an external IdP that will authenticate their application requests. \nOnce authenticated, an application will be granted access to any Product Version it is registered for that is configured for the same Auth Strategy. \nAn OIDC strategy may be used in conjunction with a DCR provider to automatically create the IdP application.\n"
type: object
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'
labels:
$ref: '#/components/schemas/Labels'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
AppAuthStrategyOpenIDConnectRequest:
title: AppAuthStrategyOpenIDConnectRequest
description: Payload for creating an OIDC Application Auth Strategy
type: object
additionalProperties: false
required:
- name
- display_name
- strategy_type
- configs
properties:
name:
$ref: '#/components/schemas/AuthStrategyName'
display_name:
$ref: '#/components/schemas/AuthStrategyDisplayName'
strategy_type:
type: string
enum:
- openid_connect
configs:
type: object
description: JSON-B object containing the configuration for the OIDC strategy
additionalProperties: false
required:
- openid-connect
properties:
openid-connect:
$ref: '#/components/schemas/AppAuthStrategyConfigOpenIDConnect'
dcr_provider_id:
nullable: true
type: string
format: uuid
labels:
$ref: '#/components/schemas/Labels'
AppAuthStrategyOpenIDConnectResponse:
title: AppAuthStrategyOpenIDConnectResponse
description: Response payload from creating an OIDC Application Auth Strategy
type: object
additionalProperties: false
required:
- id
- name
- display_name
- strategy_type
- configs
- active
- dcr_provider
- labels
- created_at
- updated_at
properties:
id:
$ref: '#/components/schemas/UUID'
name:
$ref: '#/components/schemas/AuthStrategyName'
display_name:
$ref: '#/components/schemas/AuthStrategyDisplayName'
strategy_type:
type: string
enum:
- openid_connect
configs:
type: object
description: JSON-B object containing the configuration for the OIDC strategy
additionalProperties: false
required:
- openid-connect
properties:
openid-connect:
$ref: '#/components/schemas/AppAuthStrategyConfigOpenIDConnect'
active:
type: boolean
description: At least one published 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'
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
configs:
type: object
description: >-
JSON-B object containing the configuration for the OIDC strategy under the key 'openid-connect' or the configuration for the Key Auth strategy under the key 'key-auth'
oneOf:
- type: object
additionalProperties: false
required:
- openid-connect
properties:
openid-connect:
$ref: >-
#/components/schemas/PartialAppAuthStrategyConfigOpenIDConnect
- type: object
additionalProperties: false
required:
- key-auth
properties:
key-auth:
$ref: '#/components/schemas/AppAuthStrategyConfigKeyAuth'
CreateAppAuthStrategyResponse:
$ref: '#/components/schemas/AppAuthStrategy'
UpdateAppAuthStrategyResponse:
$ref: '#/components/schemas/AppAuthStrategy'
GetAppAuthStrategyResponse:
$ref: '#/components/schemas/AppAuthStrategy'
ListAppAuthStrategiesResponse:
title: ListAppAuthStrategiesResponse
description: >-
A paginated list response for a collection of Application Auth Strategies
type: object
additionalProperties: false
required:
- data
- meta
properties:
data:
type: array
items:
$ref: '#/components/schemas/AppAuthStrategy'
meta:
$ref: '#/components/schemas/PaginatedMeta'
DcrBaseUrl:
type: string
description: >
The base URL of the DCR server. This is the URL that will be used to make the HTTP requests from Konnect to the DCR provider.
This URL must be accessible from the Konnect service.
format: url
maxLength: 256
DcrProviderDisplayName:
type: string
description: >
The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI.
minLength: 1
maxLength: 256
DcrProviderName:
type: string
description: >
The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI.
minLength: 1
maxLength: 256
AuthStrategyName:
type: string
description: >
The name of the auth strategy. This is used to identify the auth strategy in the Konnect UI.
minLength: 1
maxLength: 256
AuthStrategyDisplayName:
type: string
description: >
The display name of the Auth strategy. This is used to identify the Auth strategy in the Portal UI.
maxLength: 256
UuidFieldFilter:
title: UuidFieldFilter
description: Filters on the given UUID field value by exact match.
oneOf:
- $ref: '#/components/schemas/StringFieldEqualsFilter'
- $ref: '#/components/schemas/StringFieldOEQFilter'
- $ref: '#/components/schemas/StringFieldNEQFilter'
x-examples:
example-1: 3bbfd3a-e9ab-48a9-9881-ed589e4615d1
example-2:
eq: 3bbfd3a-e9ab-48a9-9881-ed589e4615d1
example-3:
oeq: 3bbfd3a-e9ab-48a9-9881-ed589e4615d1
example-4:
neq: 3bbfd3a-e9ab-48a9-9881-ed589e4615d1
Api:
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
description:
type: string
description: A description of your API. Will be visible on your live Portal.
nullable: true
version:
type: string
maxLength: 255
minLength: 1
description: >-
An optional version for your API. Leave this empty if your API is unversioned.
nullable: 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
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'
ApiResponseSchema:
type: object
title: API Response
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/Api'
- 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.
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:
title: API Document Status
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/PublishStatus'
- 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
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
ApiDocumentSummary:
title: API Document Summary
type: object
additionalProperties: false
required:
- id
- title
- slug
- status
- parent_document_id
- created_at
- updated_at
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'
ApiDocumentSummaryWithChildren:
title: API Document Summary With Children
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiDocumentSummary'
- required:
- children
properties:
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
index:
type: integer
description: index of the document in the parent document's children
example: 1
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
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"}}}}}}
type:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiSpecType'
- 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
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
ApiVersionSummary:
title: API Version Summary
type: object
additionalProperties: false
readOnly: 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.
spec:
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/ApiSpecType'
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"}}}}}}
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:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiSpecType'
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
ApiSpecSummary:
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'
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
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
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
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: string
title: DateTimeFieldImplicitEqualsFilter
format: date-time
description: Value strictly equals given RFC-3339 formatted timestamp in UTC
example: '2022-03-30T07:20:50Z'
- 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'
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'
required:
- gte
x-examples:
datetime_field_1: '2022-03-30T07:20:50Z'
datetime_field_2:
eq: '2022-03-30T07:20:50Z'
datetime_field_3:
lt: '2022-03-30T07:20:50Z'
datetime_field_4:
lte: '2022-03-30T07:20:50Z'
datetime_field_5:
gt: '2022-03-30T07:20:50Z'
datetime_field_6:
gte: '2022-03-30T07:20:50Z'
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
PublishStatus:
type: string
enum:
- published
- unpublished
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.
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.
description:
type: string
nullable: true
maxLength: 512
description: A description of the portal.
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
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'
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=
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
full_name:
type: string
pattern: ^[\w \W]+$
example: API Developer
maxLength: 250
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
index:
type: integer
description: index of the document in the parent document's children
example: 1
PageSlug:
title: PageSlug
description: "The slug of a page in a portal, used to compute its full URL path within the portal hierarchy. \nWhen a page has a `parent_page_id`, its full path is built by joining the parent’s slug with its own. \nFor example, if a parent page has the slug `slug1` and this page’s slug is `slug2`, the resulting path will be `/slug1/slug2`. \nThis enables nested page structures like `/slug1/slug2/slug3`.\n"
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
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
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
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
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
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
full_name:
type: string
pattern: ^[\w \W]+$
example: API Developer
maxLength: 250
example:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
email: user@email.com
full_name: API Developer
Application:
title: Application
oneOf:
- 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
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'
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
- 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
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
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'
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
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
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
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
additionalProperties: false
properties:
domain_verification_method:
$ref: '#/components/schemas/PortalCustomDomainVerificationMethod'
required:
- domain_verification_method
PortalCustomDomainVerificationMethod:
title: PortalCustomDomainVerificationMethod
type: string
enum:
- http
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
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.
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.
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'
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
entity_id:
type: string
format: uuid
example: e67490ce-44dc-4cbd-b65e-b52c746fc26a
entity_type_name:
type: string
example: Services
entity_region:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/EntityRegion'
- 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.
oidc_auth_enabled:
type: boolean
example: false
description: The organization has OIDC disabled.
saml_auth_enabled:
type: boolean
example: false
description: The portal has SAML enabled or disabled.
oidc_team_mapping_enabled:
type: boolean
example: true
description: >-
Whether IdP groups determine the Konnect Portal teams a developer has.
konnect_mapping_enabled:
type: boolean
example: false
description: Whether a Konnect Identity Admin assigns teams to a developer.
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.
oidc_issuer:
type: string
oidc_client_id:
type: string
oidc_client_secret:
type: string
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
groups:
type: array
items:
type: string
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
description:
type: string
maxLength: 250
example: The Identity Management (IDM) API team.
writeOnly: true
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
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
description:
type: string
example: The developers for the IDM API.
maxLength: 250
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'
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.
groups:
type: array
uniqueItems: true
description: The IdP groups that are mapped to the specified team.
items:
type: string
example: API Engineers
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
entity_id:
type: string
format: uuid
example: 817d0422-45c9-4d88-8d64-45aef05c1ae7
entity_type_name:
type: string
example: Services
entity_region:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/EntityRegion'
- 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
from_email:
type: string
format: email
nullable: true
reply_to_email:
type: string
format: email
nullable: true
additionalProperties: false
EmailDelivery:
type: object
properties:
enabled:
type: boolean
from_email:
type: string
format: email
nullable: true
reply_to_email:
type: string
format: email
nullable: true
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.
from_name:
type: string
nullable: true
description: The name to display in the 'From' field of emails.
from_email:
type: string
format: email
nullable: true
description: The email address to use in the 'From' field.
reply_to_email:
type: string
format: email
nullable: true
description: The email address to use in the 'Reply-To' field.
additionalProperties: false
PostPortalEmailConfig:
type: object
properties:
domain_name:
type: string
nullable: true
description: The domain name to use for sending emails. Null means default.
from_name:
type: string
nullable: true
description: The name to display in the 'From' field of emails.
from_email:
type: string
format: email
nullable: true
description: The email address to use in the 'From' field.
reply_to_email:
type: string
format: email
nullable: true
description: The email address to use in the 'Reply-To' field.
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.
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
title:
type: string
nullable: true
maxLength: 1024
body:
type: string
nullable: true
maxLength: 4096
button_label:
type: string
nullable: true
maxLength: 128
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'
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'
layout:
type: string
nullable: false
css:
type: string
nullable: true
menu:
type: object
additionalProperties: false
properties:
main:
type: array
items:
$ref: '#/components/schemas/PortalMenuItem'
footer_sections:
type: array
items:
$ref: '#/components/schemas/PortalFooterMenuSection'
footer_bottom:
type: array
items:
$ref: '#/components/schemas/PortalMenuItem'
spec_renderer:
type: object
additionalProperties: false
properties:
try_it_ui:
type: boolean
default: true
try_it_insomnia:
type: boolean
default: true
infinite_scroll:
type: boolean
default: true
show_schemas:
type: boolean
default: true
robots:
type: string
nullable: true
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
schemas-StringFieldEqualsFilter:
title: StringFieldEqualsFilter
description: Filter a string value by exact match.
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.
ConfigStore:
type: object
properties:
id:
type: string
format: uuid
example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8
description: The Config Store ID.
readOnly: true
name:
type: string
description: The name of the Config Store
example: My Name
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
CreateConfigStore:
title: Create Config Store Request
description: The request schema to create a Config Store.
type: object
additionalProperties: false
properties:
name:
type: string
minLength: 1
maxLength: 100
example: Config Store
UpdateConfigStore:
title: Update Config Store Request
description: The request schema to update a Config Store.
type: object
additionalProperties: false
properties:
name:
type: string
minLength: 1
maxLength: 100
example: Config Store
ConfigStoreSecret:
type: object
properties:
key:
type: string
value:
type: string
created_at:
$ref: '#/components/schemas/CreatedAt'
updated_at:
$ref: '#/components/schemas/UpdatedAt'
CreateConfigStoreSecret:
type: object
required:
- key
- value
properties:
key:
type: string
minLength: 1
maxLength: 512
value:
type: string
minLength: 1
maxLength: 5120
UpdateConfigStoreSecret:
type: object
required:
- value
properties:
value:
type: string
minLength: 1
maxLength: 5120
ACL:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
group:
type: string
id:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
group:
type: string
id:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
password:
type: string
tags:
type: array
items:
type: string
nullable: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
password:
type: string
tags:
type: array
items:
type: string
nullable: true
username:
type: string
example:
id: b2f34145-0343-41a4-9602-4c69dec2f269
password: hashedsoopersecretvalue
username: darius
additionalProperties: false
required:
- username
- password
CACertificate:
description: >-
A CA certificate object represents a trusted CA. These objects are used by Kong to verify the validity of a client or server certificate.
type: object
properties:
cert:
description: PEM-encoded public certificate of the CA.
type: string
cert_digest:
description: >-
SHA256 hex digest of the public certificate. This field is read-only and it cannot be set by the caller, the value is automatically computed.
type: string
nullable: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Certificate for grouping and filtering.
type: array
items:
type: string
nullable: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
description: >-
PEM-encoded private key of the SSL key pair. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
key_alt:
description: >-
PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
nullable: true
snis:
type: array
items:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Certificate for grouping and filtering.
type: array
items:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
cert: |-
-----BEGIN CERTIFICATE-----
certificate-content
-----END CERTIFICATE-----
id: b2f34145-0343-41a4-9602-4c69dec2f269
key: |-
-----BEGIN PRIVATE KEY-----
private-key-content
-----END PRIVATE KEY-----
additionalProperties: false
required:
- cert
- key
Consumer:
description: >-
The Consumer object represents a consumer - or a user - of a Service. You can either rely on Kong as the primary datastore, or you can map the consumer list with your database to keep consistency between Kong and your existing primary datastore.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
custom_id:
description: >-
Field for storing an existing unique ID for the Consumer - useful for mapping Kong with users in your existing database. You must send either this field or `username` with the request.
type: string
nullable: true
id:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Consumer for grouping and filtering.
type: array
items:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
username:
description: >-
The unique username of the Consumer. You must send either this field or `custom_id` with the request.
type: string
nullable: true
example:
custom_id: '4200'
id: 8a388226-80e8-4027-a486-25e4f7db5d21
tags:
- silver-tier
username: bob-the-builder
additionalProperties: false
ConsumerGroup:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
type: string
tags:
type: array
items:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
additionalProperties: false
required:
- name
ConsumerGroupInsideWrapper:
type: object
properties:
consumer_group:
$ref: '#/components/schemas/ConsumerGroup'
CustomPlugin:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
handler:
type: string
id:
type: string
nullable: true
name:
type: string
schema:
type: string
tags:
type: array
items:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
handler: >-
return { VERSION = '1.0,0', PRIORITY = 500, access = function(self, config) kong.service.request.set_header(config.name, config.value) end }
id: 868346aa-1105-4b77-8346-aa1105fb77c4
name: set-header
schema: >-
return { name = 'set-header', fields = { { protocols = require('kong.db.schema.typedefs').protocols_http }, { config = { type = 'record', fields = { { name = { description = 'The name of the header to set.', type = 'string', required = true } }, { value = { description = 'The value for the header.', type = 'string', required = true } } } } } } }
additionalProperties: false
required:
- name
- schema
- handler
Degraphql_route:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
methods:
type: array
items:
type: string
default:
- GET
nullable: true
query:
type: string
service:
type: object
properties:
id:
type: string
x-foreign: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
uri:
type: string
example:
id: 56c4566c-14cc-4132-9011-4139fcbbe50a
query: query{ user { email } }
service:
id: bd380f99-659d-415e-b0e7-72ea05df3218
uri: /users
additionalProperties: false
required:
- service
- uri
- query
Degraphql_routeWithoutParents:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
methods:
type: array
items:
type: string
default:
- GET
nullable: true
query:
type: string
service:
type: object
properties:
id:
type: string
x-foreign: true
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
EntityBody:
type: object
additionalProperties: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
secret:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
secret:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
type: string
nullable: true
rsa_public_key:
type: string
nullable: true
secret:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
type: string
nullable: true
rsa_public_key:
type: string
nullable: true
secret:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
example:
algorithm: HS256
id: 75695322-e8a0-4109-aed4-5416b0308d85
key: YJdmaDvVTJxtcWRCvkMikc8oELgAVNcz
secret: C50k0bcahDhLNhLKSUBSR1OMiFGzNZ7X
additionalProperties: false
Key:
description: >-
A Key object holds a representation of asymmetric keys in various formats. When Kong or a Kong plugin requires a specific public or private key to perform certain operations, it can use this entity.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
jwk:
description: A JSON Web Key represented as a string.
type: string
nullable: true
kid:
description: A unique identifier for a key.
type: string
name:
description: The name to associate with the given keys.
type: string
nullable: true
pem:
description: A keypair in PEM format.
type: object
nullable: true
properties:
private_key:
type: string
public_key:
type: string
set:
description: The id (an UUID) of the key-set with which to associate the key.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
tags:
description: >-
An optional set of strings associated with the Key for grouping and filtering.
type: array
items:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
x5t:
type: string
nullable: true
example:
id: d958f66b-8e99-44d2-b0b4-edd5bbf24658
jwk: '{"alg":"RSA", "kid": "42", ...}'
kid: '42'
name: a-key
pem:
private_key: '-----BEGIN'
public_key: '-----BEGIN'
set:
id: b86b331c-dcd0-4b3e-97ce-47c5a9543031
additionalProperties: false
required:
- kid
KeyAuth:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
ttl:
description: key-auth ttl in seconds
type: integer
nullable: true
example:
consumer:
id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f
id: b2f34145-0343-41a4-9602-4c69dec2f269
key: IL1deIyHyQA40WpeLeA1bIUXuvTwlGjo
additionalProperties: false
KeyAuthWithoutParents:
type: object
properties:
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
key:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
ttl:
description: key-auth ttl in seconds
type: integer
nullable: true
example:
id: b2f34145-0343-41a4-9602-4c69dec2f269
key: IL1deIyHyQA40WpeLeA1bIUXuvTwlGjo
additionalProperties: false
KeySet:
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
id: b58c7d9d-e54f-444c-b24d-cdfc4159f61e
name: example-key-set
tags:
- idp-keys
additionalProperties: false
KeyWithoutParents:
description: >-
A Key object holds a representation of asymmetric keys in various formats. When Kong or a Kong plugin requires a specific public or private key to perform certain operations, it can use this entity.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
jwk:
description: A JSON Web Key represented as a string.
type: string
nullable: true
kid:
description: A unique identifier for a key.
type: string
name:
description: The name to associate with the given keys.
type: string
nullable: true
pem:
description: A keypair in PEM format.
type: object
nullable: true
properties:
private_key:
type: string
public_key:
type: string
set:
description: The id (an UUID) of the key-set with which to associate the key.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
tags:
description: >-
An optional set of strings associated with the Key for grouping and filtering.
type: array
items:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
x5t:
type: string
nullable: true
example:
id: d958f66b-8e99-44d2-b0b4-edd5bbf24658
jwk: '{"alg":"RSA", "kid": "42", ...}'
kid: '42'
name: a-key
pem:
private_key: '-----BEGIN'
public_key: '-----BEGIN'
set:
id: b86b331c-dcd0-4b3e-97ce-47c5a9543031
additionalProperties: false
required:
- kid
MTLSAuth:
type: object
properties:
ca_certificate:
type: object
properties:
id:
type: string
x-foreign: true
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
subject_name:
type: string
tags:
type: array
items:
type: string
nullable: true
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
consumer:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
subject_name:
type: string
tags:
type: array
items:
type: string
nullable: true
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
name:
description: The plugin's name
type: string
required:
- id
- name
PartialRedisCE:
type: object
properties:
config:
description: Redis-CE configuration
type: object
example:
database: 0
host: localhost
password: password
port: 6379
server_name: redis
ssl: false
ssl_verify: false
timeout: 2000
username: username
properties:
database:
description: >-
Database to use for the Redis connection when using the `redis` strategy
type: integer
default: 0
nullable: true
host:
description: Redis host.
type: string
nullable: true
password:
description: >-
Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
type: string
nullable: true
port:
description: Redis port.
type: integer
default: 6379
nullable: true
server_name:
description: Server name for SSL verification.
type: string
nullable: true
ssl:
description: If set to true, uses SSL to connect to Redis.
type: boolean
default: false
nullable: true
ssl_verify:
description: >-
If set to true, verifies the validity of the server SSL certificate.
type: boolean
default: false
nullable: true
timeout:
description: Connection timeout.
type: integer
default: 1000
nullable: true
username:
description: >-
Username to use for Redis connections. If undefined, ACL authentication won't be performed. Requires Redis v6.0.0+.
type: string
nullable: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
type:
type: string
enum:
- redis-ce
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
additionalProperties: false
required:
- type
- config
PartialRedisEE:
type: object
properties:
config:
description: Redis-EE configuration
type: object
example:
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
properties:
cluster_max_redirections:
description: Maximum retry attempts for redirection.
type: integer
default: 5
nullable: true
cluster_nodes:
description: >-
Cluster addresses for Redis connections using the `redis` strategy.
type: array
items:
properties:
ip:
description: Cluster node IP.
type: string
port:
description: Cluster node port.
type: integer
type: object
nullable: true
connect_timeout:
description: Connect timeout.
type: integer
default: 1000
nullable: true
connection_is_proxied:
description: If the connection to Redis is proxied, e.g., Envoy.
type: boolean
default: false
nullable: true
database:
description: Database index.
type: integer
default: 0
nullable: true
host:
description: Redis host.
type: string
default: 127.0.0.1
nullable: true
keepalive_backlog:
description: Limits the total number of opened connections for a pool.
type: integer
nullable: true
keepalive_pool_size:
description: Size limit for cosocket connection pool per worker process.
type: integer
default: 256
nullable: true
password:
description: >-
Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.
type: string
nullable: true
port:
description: The port is only used when the host is set.
type: integer
default: 6379
nullable: true
read_timeout:
description: Read timeout.
type: integer
default: 1000
nullable: true
send_timeout:
description: Send timeout.
type: integer
default: 1000
nullable: true
sentinel_master:
description: >-
Sentinel master to use for Redis connections. Defining this implies using Redis Sentinel.
type: string
nullable: true
sentinel_nodes:
description: >-
Sentinel addresses for Redis connections using the `redis` strategy. Array must have at least 1 element.
type: array
items:
properties:
host:
description: Sentinel node hostname.
type: string
port:
description: Sentinel node port.
type: integer
type: object
nullable: true
sentinel_password:
description: >-
Sentinel password to authenticate with a Redis Sentinel instance.
type: string
nullable: true
sentinel_role:
description: >-
Sentinel role to use for Redis connections when `redis` strategy is used, implies using Redis Sentinel.
type: string
nullable: true
sentinel_username:
description: >-
Sentinel username to authenticate with a Redis Sentinel instance. Requires Redis v6.2.0+.
type: string
nullable: true
server_name:
description: Server name for SSL verification.
type: string
nullable: true
ssl:
description: If set to true, uses SSL to connect to Redis.
type: boolean
default: false
nullable: true
ssl_verify:
description: >-
If set to true, verifies the validity of the server SSL certificate.
type: boolean
default: false
nullable: true
username:
description: >-
Username to use for Redis connections. If undefined, ACL authentication won't be performed. Requires Redis v6.0.0+.
type: string
nullable: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
type: string
nullable: true
tags:
type: array
items:
type: string
nullable: true
type:
type: string
enum:
- redis-ee
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
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
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
consumer_group:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
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:
type: string
nullable: true
instance_name:
type: string
nullable: true
name:
description: >-
The name of the Plugin that's going to be added. Currently, the Plugin must be installed in every Kong instance separately.
type: string
ordering:
type: object
nullable: true
properties:
after:
type: object
properties:
access:
type: array
items:
type: string
before:
type: object
properties:
access:
type: array
items:
type: string
partials:
type: array
items:
properties:
id:
type: string
name:
type: string
path:
type: string
type: object
nullable: true
protocols:
description: >-
A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type. For example, plugins that only work in stream mode will only support `"tcp"` and `"tls"`.
type: array
items:
enum:
- grpc
- grpcs
- http
- https
- tcp
- tls
- tls_passthrough
- udp
- ws
- wss
type: string
default:
- grpc
- grpcs
- http
- https
nullable: true
route:
description: >-
If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the Route being used.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
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
tags:
description: >-
An optional set of strings associated with the Plugin for grouping and filtering.
type: array
items:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
config:
anonymous: null
hide_credentials: false
key_in_body: false
key_in_header: true
key_in_query: true
key_names:
- apikey
run_on_preflight: true
enabled: true
id: 3fd1eea1-885a-4011-b986-289943ff8177
name: key-auth
partials:
- id: cff1230a-00f7-4ae8-b376-c370f0eb4dae
name: foo-partial
path: config.redis
- id: 129ee345-cba8-4e55-9d6d-93c223ff91ae
name: bar-partial
path: config.redis
protocols:
- grpc
- grpcs
- http
- https
additionalProperties: false
required:
- name
PluginWithoutParents:
description: >-
A Plugin entity represents a plugin configuration that will be executed during the HTTP request/response lifecycle. It is how you can add functionalities to Services that run behind Kong, like Authentication or Rate Limiting for example. You can find more information about how to install and what values each plugin takes by visiting the [Kong Hub](https://docs.konghq.com/hub/). When adding a Plugin Configuration to a Service, every request made by a client to that Service will run said Plugin. If a Plugin needs to be tuned to different values for some specific Consumers, you can do so by creating a separate plugin instance that specifies both the Service and the Consumer, through the `service` and `consumer` fields.
type: object
properties:
config:
description: >-
The configuration properties for the Plugin which can be found on the plugins documentation page in the [Kong Hub](https://docs.konghq.com/hub/).
type: object
additionalProperties: true
nullable: true
consumer:
description: >-
If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
consumer_group:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
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:
type: string
nullable: true
instance_name:
type: string
nullable: true
name:
description: >-
The name of the Plugin that's going to be added. Currently, the Plugin must be installed in every Kong instance separately.
type: string
ordering:
type: object
nullable: true
properties:
after:
type: object
properties:
access:
type: array
items:
type: string
before:
type: object
properties:
access:
type: array
items:
type: string
partials:
type: array
items:
properties:
id:
type: string
name:
type: string
path:
type: string
type: object
nullable: true
protocols:
description: >-
A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type. For example, plugins that only work in stream mode will only support `"tcp"` and `"tls"`.
type: array
items:
enum:
- grpc
- grpcs
- http
- https
- tcp
- tls
- tls_passthrough
- udp
- ws
- wss
type: string
default:
- grpc
- grpcs
- http
- https
nullable: true
route:
description: >-
If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the Route being used.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
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
tags:
description: >-
An optional set of strings associated with the Plugin for grouping and filtering.
type: array
items:
type: string
nullable: true
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
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:
type: string
nullable: true
name:
description: >-
The name of the Route. Route names must be unique, and they are case sensitive. For example, there can be two different Routes named "test" and "Test".
type: string
nullable: true
path_handling:
description: >-
Controls how the Service path, Route path and requested path are combined when sending a request to the upstream. See above for a detailed description of each behavior.
type: string
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:
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:
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
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:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
additionalProperties: false
RouteJson:
description: >-
Route entities define rules to match client requests. Each Route is associated with a Service, and a Service may have multiple Routes associated to it. Every request matching a given Route will be proxied to its associated Service. The combination of Routes and Services (and the separation of concerns between them) offers a powerful routing mechanism with which it is possible to define fine-grained entry-points in Kong leading to different upstream services of your infrastructure. You need at least one matching rule that applies to the protocol being matched by the Route.
type: object
properties:
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
destinations:
description: >-
A list of IP destinations of incoming connections that match this Route when using stream routing. Each entry is an object with fields "ip" (optionally in CIDR range notation) and/or "port".
type: array
items:
properties:
ip:
type: string
port:
type: integer
type: object
nullable: true
headers:
description: >-
One or more lists of values indexed by header name that will cause this Route to match if present in the request. The `Host` header cannot be used with this attribute: hosts should be specified using the `hosts` attribute. When `headers` contains only one value and that value starts with the special prefix `~*`, the value is interpreted as a regular expression.
type: object
additionalProperties:
items:
type: string
type: array
nullable: true
hosts:
description: >-
A list of domain names that match this Route. Note that the hosts value is case sensitive.
type: array
items:
type: string
nullable: true
https_redirect_status_code:
description: >-
The status code Kong responds with when all properties of a Route match except the protocol i.e. if the protocol of the request is `HTTP` instead of `HTTPS`. `Location` header is injected by Kong if the field is set to 301, 302, 307 or 308. Note: This config applies only if the Route is configured to only accept the `https` protocol.
type: integer
default: 426
enum:
- 426
- 301
- 302
- 307
- 308
nullable: true
id:
type: string
nullable: true
methods:
description: A list of HTTP methods that match this Route.
type: array
items:
type: string
nullable: true
name:
description: >-
The name of the Route. Route names must be unique, and they are case sensitive. For example, there can be two different Routes named "test" and "Test".
type: string
nullable: true
path_handling:
description: >-
Controls how the Service path, Route path and requested path are combined when sending a request to the upstream. See above for a detailed description of each behavior.
type: string
default: v0
enum:
- v0
- v1
nullable: true
paths:
description: A list of paths that match this Route.
type: array
items:
type: string
nullable: true
preserve_host:
description: >-
When matching a Route via one of the `hosts` domain names, use the request `Host` header in the upstream request headers. If set to `false`, the upstream `Host` header will be that of the Service's `host`.
type: boolean
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:
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
snis:
description: A list of SNIs that match this Route when using stream routing.
type: array
items:
type: string
nullable: true
sources:
description: >-
A list of IP sources of incoming connections that match this Route when using stream routing. Each entry is an object with fields "ip" (optionally in CIDR range notation) and/or "port".
type: array
items:
properties:
ip:
type: string
port:
type: integer
type: object
nullable: true
strip_path:
description: >-
When matching a Route via one of the `paths`, strip the matching prefix from the upstream request URL.
type: boolean
default: true
nullable: true
tags:
description: >-
An optional set of strings associated with the Route for grouping and filtering.
type: array
items:
type: string
nullable: true
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:
type: string
nullable: true
name:
description: The SNI name to associate with the given certificate.
type: string
tags:
description: >-
An optional set of strings associated with the SNIs for grouping and filtering.
type: array
items:
type: string
nullable: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
type: string
nullable: true
name:
description: The SNI name to associate with the given certificate.
type: string
tags:
description: >-
An optional set of strings associated with the SNIs for grouping and filtering.
type: array
items:
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
id: 36c4566c-14cc-4132-9011-4139fcbbe50a
name: some.example.org
additionalProperties: false
required:
- name
Service:
description: >-
Service entities, as the name implies, are abstractions of each of your own upstream services. Examples of Services would be a data transformation microservice, a billing API, etc. The main attribute of a Service is its URL (where Kong should proxy traffic to), which can be set as a single string or by specifying its `protocol`, `host`, `port` and `path` individually. Services are associated to Routes (a Service can have many Routes associated with it). Routes are entry-points in Kong and define rules to match client requests. Once a Route is matched, Kong proxies the request to its associated Service. See the [Proxy Reference][proxy-reference] for a detailed explanation of how Kong proxies traffic.
type: object
properties:
ca_certificates:
description: >-
Array of `CA Certificate` object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to `null` when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).
type: array
items:
type: string
nullable: true
client_certificate:
description: >-
Certificate to be used as client certificate while TLS handshaking to the upstream server.
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
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:
type: string
nullable: true
name:
description: The Service name.
type: string
nullable: true
path:
description: The path to be used in requests to the upstream server.
type: string
nullable: true
port:
description: The upstream server port.
type: integer
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:
type: string
nullable: true
tls_sans:
type: object
nullable: true
properties:
dnsnames:
type: array
items:
type: string
uris:
type: array
items:
type: string
tls_verify:
description: >-
Whether to enable verification of upstream server TLS certificate. If set to `null`, then the Nginx default is respected.
type: boolean
nullable: true
tls_verify_depth:
description: >-
Maximum depth of chain while verifying Upstream server's TLS certificate. If set to `null`, then the Nginx default is respected.
type: integer
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
url:
description: >-
Helper field to set `protocol`, `host`, `port` and `path` using a URL. This field is write-only and is not returned in responses.
type: string
writeOnly: true
write_timeout:
description: >-
The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server.
type: integer
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:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Target for grouping and filtering.
type: array
items:
type: string
nullable: true
target:
description: >-
The target address (ip or hostname) and port. If the hostname resolves to an SRV record, the `port` value will be overridden by the value from the DNS record.
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: number
nullable: true
upstream:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
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:
type: string
nullable: true
tags:
description: >-
An optional set of strings associated with the Target for grouping and filtering.
type: array
items:
type: string
nullable: true
target:
description: >-
The target address (ip or hostname) and port. If the hostname resolves to an SRV record, the `port` value will be overridden by the value from the DNS record.
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: number
nullable: true
upstream:
type: object
nullable: true
properties:
id:
type: string
x-foreign: true
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
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
hash_fallback_query_arg:
description: >-
The name of the query string argument to take the value from as hash input. Only required when `hash_fallback` is set to `query_arg`.
type: string
nullable: true
hash_fallback_uri_capture:
description: >-
The name of the route URI capture to take the value from as hash input. Only required when `hash_fallback` is set to `uri_capture`.
type: string
nullable: true
hash_on:
description: >-
What to use as hashing input. Using `none` results in a weighted-round-robin scheme with no hashing.
type: string
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
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
hash_on_query_arg:
description: >-
The name of the query string argument to take the value from as hash input. Only required when `hash_on` is set to `query_arg`.
type: string
nullable: true
hash_on_uri_capture:
description: >-
The name of the route URI capture to take the value from as hash input. Only required when `hash_on` is set to `uri_capture`.
type: string
nullable: true
healthchecks:
type: object
nullable: true
properties:
active:
type: object
properties:
concurrency:
type: integer
default: 10
headers:
type: object
additionalProperties:
type: string
healthy:
type: object
properties:
http_statuses:
type: array
items:
type: integer
default:
- 200
- 302
interval:
type: number
default: 0
successes:
type: integer
default: 0
http_path:
type: string
default: /
https_sni:
type: string
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
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
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
threshold:
type: number
default: 0
host_header:
description: >-
The hostname to be used as `Host` header when proxying requests through Kong.
type: string
nullable: true
id:
type: string
nullable: true
name:
description: This is a hostname, which must be equal to the `host` of a Service.
type: string
slots:
description: >-
The number of slots in the load balancer algorithm. If `algorithm` is set to `round-robin`, this setting determines the maximum number of slots. If `algorithm` is set to `consistent-hashing`, this setting determines the actual number of slots in the algorithm. Accepts an integer in the range `10`-`65536`.
type: integer
default: 10000
nullable: true
sticky_sessions_cookie:
type: string
nullable: true
sticky_sessions_cookie_path:
type: string
default: /
nullable: true
tags:
description: >-
An optional set of strings associated with the Upstream for grouping and filtering.
type: array
items:
type: string
nullable: true
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
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
description:
description: The description of the Vault entity.
type: string
nullable: true
id:
type: string
nullable: true
name:
description: >-
The name of the Vault that's going to be added. Currently, the Vault implementation must be installed in every Kong instance.
type: string
prefix:
description: >-
The unique prefix (or identifier) for this Vault configuration. The prefix is used to load the right Vault configuration and implementation when referencing secrets with the other entities.
type: string
tags:
description: >-
An optional set of strings associated with the Vault for grouping and filtering.
type: array
items:
type: string
nullable: true
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.
examples:
400RequestFormatInvalidExample:
value:
status: 400
title: Bad Request
detail: Invalid request format
instance: konnect:trace:3674017986744198214
invalid_parameters:
- field: body
reason: request format is invalid
400CannotBeBlankExample:
value:
status: 400
title: Bad Request
detail: Request cannot be empty
instance: konnect:trace:6644808935508571943
invalid_parameters:
- field: name
reason: cannot be blank
400InvalidIDFormatExample:
value:
status: 400
title: Bad Request
detail: Request contains invalid ID format
instance: konnect:trace:8988732526256293040
invalid_parameters:
- field: id
reason: invalid ID format
400UsageLimitsReachedExample:
value:
status: 400
title: Bad Request
instance: konnect:trace:8988732526256293040
detail: >-
Cannot create an additional control plane because usage limits have been reached.
invalid_parameters:
- field: object
reason: usage limits reached
400UnknownPropertyExample:
value:
status: 400
title: Bad Request
detail: Request contains unknown property
instance: konnect:trace:8988732526256293040
invalid_parameters:
- field: id
reason: property id should not exist
401UnauthenticatedExample:
value:
status: 401
title: Unauthenticated
instance: konnect:trace:952172606039454040
detail: A valid token is required
403PermissionDeniedExample:
value:
status: 403
title: Permission denied
instance: konnect:trace:2822394689570210664
detail: Insufficient role-set to create control planes.
404NotFoundExample:
value:
status: 404
title: Not Found
instance: konnect:trace:2287285207635123011
detail: The requested control plane was not found.
409ConflictExample:
value:
status: 409
title: Conflict
instance: konnect:trace:2287285207635123011
detail: Control Plane with provided name already exists.
500InternalErrorExample:
value:
status: 500
title: Internal Server Error
instance: konnect:trace:2287285207635123011
detail: >-
Could not propagate control plane changes to control plane cluster service.
503PermissionReadFailureExample:
value:
status: 503
title: Service Unavailable
instance: konnect:trace:2287285207635123011
detail: Could not retrieve permissions to check resource accessibility.
CreateControlPlaneRequestExample:
value:
name: Test Control Plane
description: A test control plane for exploration.
cluster_type: CLUSTER_TYPE_K8S_INGRESS_CONTROLLER
cloud_gateway: false
proxy_urls:
- host: example.com
port: 443
protocol: https
labels:
env: test
UpdateControlPlaneRequestExample:
value:
name: Test Control Plane
description: A test control plane for exploration.
proxy_urls:
- host: example.com
port: 443
protocol: https
labels:
env: development
ControlPlaneExample:
value:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: Test Control Plane
description: A test control plane for exploration.
labels:
env: test
config:
control_plane_endpoint: https://acfe5f253f.cp0.konghq.com
telemetry_endpoint: https://acfe5f253f.tp0.konghq.com
cluster_type: CLUSTER_TYPE_CONTROL_PLANE
auth_type: pinned_client_certs
cloud_gateway: false
proxy_urls:
- host: example.com
port: 443
protocol: https
created_at: '2022-11-04T20:10:06.927Z'
updated_at: '2022-11-04T20:10:06.927Z'
GroupConflictStatusExample:
value:
item:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
conflicts:
- cluster_id: 57fdf779-7935-476f-ab2b-7fa1323b70e6
description: >-
conflicting entity found: ID=df43b088-cace-4119-9e2a-d83e5fbb0c48, Name=svc1
resource:
id: df43b088-cace-4119-9e2a-d83e5fbb0c48
type: service
- cluster_id: 38ceea96-fe39-11ed-be56-0242ac120002
description: >-
conflicting entity found: ID=15f3ab7d-7202-498a-95b4-334f783dbcdd, Name=svc1
resource:
id: 15f3ab7d-7202-498a-95b4-334f783dbcdd
type: service
state: CONFLICT
created_at: '2022-11-04T20:10:06.927Z'
updated_at: '2022-11-04T20:10:06.927Z'
GroupNoConflictStatusExample:
value:
item:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
conflicts:
- cluster_id: 57fdf779-7935-476f-ab2b-7fa1323b70e6
description: >-
conflicting entity found: ID=df43b088-cace-4119-9e2a-d83e5fbb0c48, Name=svc1
resource:
id: df43b088-cace-4119-9e2a-d83e5fbb0c48
type: service
- cluster_id: 38ceea96-fe39-11ed-be56-0242ac120002
description: >-
conflicting entity found: ID=15f3ab7d-7202-498a-95b4-334f783dbcdd, Name=svc1
resource:
id: 15f3ab7d-7202-498a-95b4-334f783dbcdd
type: service
state: CONFLICT
created_at: '2022-11-04T20:10:06.927Z'
updated_at: '2022-11-04T20:10:06.927Z'
ListGroupMembershipsExample:
value:
meta:
page:
total: 2
size: 100
next: >-
/control-planes/57fdf779-7935-476f-ab2b-7fa1323b70e6/group-memberships?q=son&page[after]=ewogICJpZCI6ICJoZWysbyB3b3JsZCIKgZ
data:
- id: 774f2a35-509d-4b94-97e9-1ed49563bcb1
name: Group Member 1
description: Child RG
labels:
env: prod
config:
control_plane_endpoint: https://9e0353434a.us.cp0.konghq.com
telemetry_endpoint: https://9e0353434a.us.tp0.konghq.com
cluster_type: CLUSTER_TYPE_CONTROL_PLANE
auth_type: pinned_client_certs
cloud_gateway: false
proxy_urls:
- host: example.com
port: 443
protocol: https
created_at: '2023-03-20T22:23:45.873Z'
updated_at: '2023-03-30T16:17:55.073Z'
- id: e4a1917c-bb26-4aa1-9a3e-50ee366f13db
name: Group Member 2
description: Child RG
labels:
env: prod
foo: bar
config:
control_plane_endpoint: https://05459046af.us.cp0.konghq.com
telemetry_endpoint: https://05459046af.us.tp0.konghq.com
cluster_type: CLUSTER_TYPE_CONTROL_PLANE
auth_type: pinned_client_certs
cloud_gateway: false
proxy_urls:
- host: example.com
port: 443
protocol: https
created_at: '2023-03-23T22:25:30.907Z'
updated_at: '2023-03-30T16:18:12.067Z'
UnauthorizedExample:
value:
status: 401
title: Unauthorized
instance: kong:trace:8347343766220159418
detail: Unauthorized
ForbiddenExample:
value:
status: 403
title: Forbidden
instance: kong:trace:2723154947768991354
detail: You do not have permission to perform this action
NotFoundExample:
value:
status: 404
title: Not Found
instance: kong:trace:6816496025408232265
detail: Not Found
400-request-format-is-invalid:
value:
status: 400
title: Bad Request
detail: Could not parse request body
instance: konnect:trace:3674017986744198214
invalid_parameters:
- field: body
reason: request format is invalid
400-cannot-be-blank:
value:
status: 400
title: Bad Request
detail: ''
instance: konnect:trace:6644808935508571943
invalid_parameters:
- field: name
reason: cannot be blank
400-invalid-id-format:
value:
status: 400
title: Bad Request
detail: ''
instance: konnect:trace:8988732526256293040
invalid_parameters:
- field: teamID
reason: invalid ID format
400-valid-uuid:
value:
status: 400
title: Bad Request
detail: ''
instance: konnect:trace:7680390984800447837
invalid_parameters:
- field: id
reason: must be a valid UUID v4
400-password-complexity:
value:
status: 400
title: Bad Request
detail: Password does not meet complexity requirements.
instance: konnect:trace:1738820719742148545
invalid_parameters:
- field: new_password
reason: 'is too short (minimum length: 8)'
rule: min_length
minimum: 8
- field: new_password
reason: must contain at least 1 digit
rule: min_digits
minimum: 1
- field: new_password
reason: must contain at least 1 lower case character
rule: min_lowercase
minimum: 1
- field: new_password
reason: must contain at least 1 upper case character
rule: min_uppercase
minimum: 1
- field: new_password
reason: must contain at least 1 special character
rule: min_symbols
minimum: 1
400-systems-team-modified:
value:
status: 400
title: Bad Request
detail: ''
instance: konnect:trace:1738820719742148545
invalid_parameters:
- field: teamID
reason: system teams cannot be modified
400-authentication-settings-cannot-be-all-disabled:
value:
status: 400
title: Bad Request
instance: konnect:trace:6644808935508571943
invalid_parameters:
- field: oidc_auth_enabled
reason: cannot be disabled when both basic auth and SAML are also disabled
- field: basic_auth_enabled
reason: cannot be disabled when both OIDC and SAML are also disabled
- field: saml_auth_enabled
reason: cannot be disabled when both OIDC and basic auth are also disabled
detail: >-
Atleast one of the authentication schemes from basic, oidc or saml needs to be enabled
400-oidc-auth-enabled-needs-idp:
value:
status: 400
title: Bad Request
detail: ''
instance: konnect:trace:6644808935508571943
invalid_parameters:
- field: oidc_auth_enabled
reason: cannot be set before configuring an identity provider
400-idp-config-is-required:
value:
status: 400
title: Bad Request
detail: An IdP configuration is required
instance: konnect:trace:6644808935508571943
invalid_parameters:
- field: data
reason: cannot be set before configuring an identity provider
404-not-found:
value:
status: 404
title: Not Found
instance: konnect:trace:2287285207635123011
detail: The requested team was not found
403-permission-denied:
value:
status: 403
title: Permission denied
instance: konnect:trace:2822394689570210664
detail: Only enterprise organizations can create teams
403-invalid-permissions:
value:
status: 403
title: Invalid Permissions
detail: You must have the [administrator] role to perform this action
instance: konnect:trace:6c1ef33ae5bce33634d7d7d695c7f203
403-auth-invalid:
value:
type: https://kongapi.info/konnect/invalid-permissions
status: 403
title: Invalid Permissions
detail: You must have the [administrator] role to perform this action
instance: konnect:trace:6c1ef33ae5bce33634d7d7d695c7f203
409-user-is-already-active:
value:
status: 409
title: Resource Conflict
instance: konnect:trace:6644808935508571943
detail: User is already active
412-precondition-failed:
value:
status: 412
title: Precondition Failed
instance: konnect:trace:1896611024257578096
detail: IdP configuration not found
429-rate-limited:
value:
status: 429
title: Rate Limited
instance: konnect:trace:6644808935508571943
detail: Too many requests
collection-example:
value:
meta:
page:
number: 1
size: 10
total: 100
data:
- id: b02e23c5-8ee4-4e5a-99f4-43329923adcd
role_name: Viewer
entity_id: 437c7192-fea0-4f35-8478-c8d57783f8c1
entity_type_name: Control Planes
entity_region: eu
- id: 869d9402-f117-4f9a-840f-69acaf70a81a
role_name: Admin
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Services
entity_region: '*'
Assigned-Role-Example:
value:
id: eaf7adf1-32c8-4bbf-b960-d1f8456afe67
role_name: Viewer
entity_id: 817d0422-45c9-4d88-8d64-45aef05c1ae7
entity_type_name: Control Planes
entity_region: eu
group-collection-example:
value:
meta:
page:
number: 1
size: 10
total: 6
data:
- group: 111(@&*$)(@*#_@(gfds re gdsf dfg
team_ids:
- c0010105-e840-4824-b7ee-787f22267c36
- group: '2222'
team_ids:
- af91db4c-6e51-403e-a2bf-33d27ae50c0a
single-team-response:
value:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: IDM - Developers
description: The developers for the IDM API.
system_team: false
labels:
env: test
service: test
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-09-25T13:00:00.00Z'
team-mapping-collection:
value:
meta:
page:
number: 1
size: 1
total: 10
data:
- group: Service Developers
team_ids:
- 6801e673-cc10-498a-94cd-4271de07a0d3
team-group-mapping-collection:
value:
meta:
page:
number: 1
size: 1
total: 10
data:
- groups:
- Service Developers
team_id: 6801e673-cc10-498a-94cd-4271de07a0d3
401-unauthenticated:
value:
status: 401
title: Unauthenticated
instance: konnect:trace:952172606039454040
detail: A valid token is required
user-collection-response-example:
value:
meta:
page:
number: 1
size: 10
total: 10
data:
- id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
email: james.woods@email.com
full_name: James Woods
preferred_name: Jimmy
active: true
created_at: '2022-08-17T17:46:57.52Z'
updated_at: '2022-10-03T17:00:00.00Z'
Get-User-Response:
value:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
email: james.woods@email.com
full_name: James Woods
preferred_name: Jimmy
active: true
created_at: '1992-02-07T17:46:57.52Z'
updated_at: '2022-02-07T17:00:00.52Z'
GetImpersonationSettings:
value:
enabled: true
UpdateImpersonationSettings:
value:
enabled: false
Assign-Roles-US:
value:
role_name: Viewer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Control Planes
entity_region: us
Assign-Roles-Global:
value:
role_name: Admin
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Control Planes
entity_region: '*'
CreateTeamExample:
value:
name: IDM - Developers
description: The Identity Management (IDM) team.
labels:
env: test
service: test
Update-Team-Request:
value:
name: IDM - Developers
description: The Identity Management (IDM) API team.
labels:
env: prod
Update-Team-Mappings:
value:
mappings:
- group: API Engineers
team_ids:
- af91db4c-6e51-403e-a2bf-33d27ae50c0a
Patch-Team-Group-Mappings:
value:
data:
- team_id: af91db4c-6e51-403e-a2bf-33d27ae50c0a
groups:
- Team Leads
- API Engineers
Update-User-Request:
value:
full_name: James C Woods
preferred_name: Jimmy
Add-User-Request:
value:
id: df120cb4-f60b-47bc-a2f8-6a28e6a3c63b
Get-Authentication-Settings:
value:
oidc_auth_enabled: true
saml_auth_enabled: false
basic_auth_enabled: false
idp_mapping_enabled: false
konnect_mapping_enabled: true
Update-Authentication-Settings:
value:
oidc_auth_enabled: false
saml_auth_enabled: false
basic_auth_enabled: true
idp_mapping_enabled: false
konnect_mapping_enabled: true
OIDCIdentityProvider:
value:
id: 66da2d42-469d-48cd-9ff3-0db135dd82d8
type: oidc
enabled: false
login_path: the-oidc-konnect-org
config:
issuer_url: https://konghq.okta.com/oauth2/default
client_id: 0oaqhb43ckTZ02j1F357
scopes:
- openid
- email
- profile
claim_mappings:
email: email
name: name
groups: groups
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-02-07T17:46:57.52Z'
SAMLIdentityProvider:
value:
id: a2c3156d-ebb1-432b-b2f1-edcc5f133c60
type: saml
enabled: true
login_path: the-saml-konnect-org
config:
idp_metadata_url: https://mocksaml.com/api/saml/metadata
sp_entity_id: https://cloud.konghq.com/sp/00000000-0000-0000-0000-000000000000
sp_metadata_url: /api/v2/developer/authenticate/saml/metadata
login_url: https://cloud.konghq.com/login/the-saml-konnect-org
callback_url: /api/v2/developer/authenticate/saml/acs
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-02-07T17:46:57.52Z'
SAMLIdentityProviderWithMetadata:
value:
id: a2c3156d-ebb1-432b-b2f1-edcc5f133c60
type: saml
enabled: true
login_path: the-saml-konnect-org
config:
idp_metadata_xml: |
sp_entity_id: https://cloud.konghq.com/sp/00000000-0000-0000-0000-000000000000
sp_metadata_url: /api/v2/developer/authenticate/saml/metadata
login_url: https://cloud.konghq.com/login/the-saml-konnect-org
callback_url: /api/v2/developer/authenticate/saml/acs
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-02-07T17:46:57.52Z'
IdentityProviders:
value:
- id: a2c3156d-ebb1-432b-b2f1-edcc5f133c60
type: saml
enabled: true
login_path: the-saml-konnect-org
config:
idp_metadata_url: https://mocksaml.com/api/saml/metadata
sp_entity_id: https://cloud.konghq.com/sp/00000000-0000-0000-0000-000000000000
sp_metadata_url: >-
https://cloud.konghq.com/v2/authenticate/the-saml-konnect-org/saml/metadata
login_url: https://cloud.konghq.com/login/the-saml-konnect-org
callback_url: >-
https://cloud.konghq.com/v2/authenticate/the-saml-konnect-org/saml/acs
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-02-07T17:46:57.52Z'
- id: 66da2d42-469d-48cd-9ff3-0db135dd82d8
type: oidc
enabled: false
login_path: the-oidc-konnect-org
config:
issuer_url: https://konghq.okta.com/oauth2/default
client_id: 0oaqhb43ckTZ02j1F357
scopes:
- openid
- email
- profile
claim_mappings:
email: email
name: name
groups: groups
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-02-07T17:46:57.52Z'
- id: a2c3156d-ebb1-432b-b2f1-edcc5f133c60
type: saml
enabled: true
config:
idp_metadata_url: https://mocksaml.com/api/saml/metadata
sp_entity_id: https://cloud.konghq.com/sp/00000000-0000-0000-0000-000000000000
sp_metadata_url: /api/v2/developer/authenticate/saml/metadata
callback_url: /api/v2/developer/authenticate/saml/acs
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-02-07T17:46:57.52Z'
- id: 66da2d42-469d-48cd-9ff3-0db135dd82d8
type: oidc
enabled: false
config:
issuer_url: https://konghq.okta.com/oauth2/default
client_id: 0oaqhb43ckTZ02j1F357
scopes:
- openid
- email
- profile
claim_mappings:
email: email
name: name
groups: groups
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-02-07T17:46:57.52Z'
CreateOIDCIdentityProvider:
value:
type: oidc
login_path: the-oidc-konnect-org
enabled: true
config:
issuer_url: https://konghq.okta.com/oauth2/default
client_id: 0oaqhb43ckTZ02j1F357
client_secret: BbqwI8xP9E4evOK
scopes:
- openid
- email
- profile
claim_mappings:
email: email
name: name
groups: groups
CreateSAMLIdentityProviderWithMetadataURL:
value:
type: saml
login_path: the-saml-konnect-org
config:
idp_metadata_url: https://mocksaml.com/api/saml/metadata
CreateSAMLIdentityProviderWithMetadata:
value:
type: saml
login_path: the-saml-konnect-org
config:
idp_metadata_xml: |
UpdateOIDCIdentityProvider:
value:
enabled: true
login_path: the-oidc-konnect-org
config:
issuer_url: https://konghq.okta.com/oauth2/default
client_id: 0oaqhb43ckTZ02j1F357
client_secret: BbqwI8xP9E4evOK
scopes:
- openid
- email
- profile
claim_mappings:
email: email
name: name
groups: groups
UpdateSAMLIdentityProvider:
value:
enabled: true
login_path: the-saml-konnect-org
config:
idp_metadata_url: https://mocksaml.com/api/saml/metadata
UpdateIdentityProviderLoginPath:
value:
login_path: the-konnect-org
PermissionDeniedExample:
value:
status: 403
title: Forbidden
instance: konnect:trace:2822394689570210664
detail: You do not have permission to perform this action.
QuotaExceededExample:
value:
status: 403
title: Quota Exceeded
instance: konnect:trace:2822394689570210664
detail: 'Maximum number of exceeded. Max allowed: .'
ConfigurationConflictExample:
value:
status: 409
title: Conflict
instance: konnect:trace:2822394689570210664
detail: >-
Proposed cloud gateway configuration and current cloud gateway configuration are identical.
NetworkNameLengthCheckBadRequestExample:
value:
status: 400
title: Invalid Request
instance: konnect:trace:2822394689570210664
detail: Invalid Parameters
invalid_parameters:
- field: name
rule: max_length
reason: name must be shorter than or equal to 120 characters
maximum: 120
TransitGatewayNameLengthCheckBadRequestExample:
value:
status: 400
title: Invalid Request
instance: konnect:trace:2822394689570210664
detail: Invalid Parameters
invalid_parameters:
- field: name
rule: max_length
reason: name must be shorter than or equal to 120 characters
maximum: 120
CustomDomainLengthCheckBadRequestExample:
value:
status: 400
title: Invalid Request
instance: konnect:trace:2822394689570210664
detail: Invalid Parameters
invalid_parameters:
- field: domain
rule: min_length
minimum: 1
reason: domain must be longer than or equal to 1 characters
ConfigurationApiAccessBadRequestExample:
value:
status: 400
title: Invalid Request
instance: konnect:trace:2822394689570210664
detail: Invalid Parameters
invalid_parameters:
- field: api_access
rule: enum
choices:
- private
- public
- private+public
reason: >-
api_access must be one of the following values: private, public, private+public
ConfigurationDataPlaneGroupStaticRequestedInstancesBadRequestExample:
value:
status: 400
title: Invalid Request
instance: konnect:trace:2822394689570210664
detail: Invalid Parameters
invalid_parameters:
- field: dataplane_groups.0.autoscale.requested_instances
rule: is_integer
reason: >-
dataplane_groups.0.autoscale.requested_instances must be an integer number
ConfigurationDataPlaneGroupAutopilotBaseRpsBadRequestExample:
value:
status: 400
title: Invalid Request
instance: konnect:trace:2822394689570210664
detail: Invalid Parameters
invalid_parameters:
- field: dataplane_groups.0.autoscale.base_rps
rule: is_integer
reason: dataplane_groups.0.autoscale.base_rps must be an integer number
NotificationUpdatePayload:
value:
status: READ
NotificationResponse:
summary: Notification Response
value:
id: 93f8380e-7798-4566-99e3-2edf2b57d290
title: Unpaid invoice reminder
description: Reminder for an unpaid invoice.
status: UNREAD
region: EU
namespace: plan-and-usage
entity_id: invoice-1
details:
entity_id: invoice-1
entity_type: invoice
regions:
- EU
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
NotificationListResponse:
summary: List Notifications Response
value:
data:
- id: 93f8380e-7798-4566-99e3-2edf2b57d289
title: Unpaid invoice reminder
description: Reminder for an unpaid invoice.
status: UNREAD
region: US
namespace: plan-and-usage
entity_id: invoice-1
details:
entity_id: invoice-1
entity_type: invoice
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
- id: 93f8380e-7798-4566-99e3-2edf2b57d290
title: Unpaid invoice reminder
description: Reminder for an unpaid invoice.
status: UNREAD
region: EU
namespace: plan-and-usage
entity_id: invoice-2
details:
entity_id: invoice-2
entity_type: invoice
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
meta:
next: ''
previous: ''
size: 10
EventSubscriptionPayload:
value:
name: Control Plane Global
regions:
- US
- EU
entities:
- control-plane-1
- control-plane-2
channels:
- type: IN_APP
enabled: true
- type: EMAIL
enabled: true
enabled: true
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
UserConfigurationListResponse:
value:
data:
- event_id: billing.invoice.unpaid-reminder
event_title: Unpaid invoice reminder
event_description: Reminder for an unpaid invoice
event_namespace: plan-and-usage
event_subscription_count: 2
default_subscription:
- channel: IN_APP
enabled: true
- channel: EMAIL
enabled: true
EventSubscriptionListResponse:
value:
data:
- id: 93f8380e-7798-4566-99e3-2edf2b57d291
name: Billing Invoice US and EU
regions:
- US
- EU
entities:
- invoice-1
- invoice-2
entity_type: billing-invoice
channels:
- type: IN_APP
enabled: true
- type: EMAIL
enabled: true
enabled: true
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
- id: 93f8380e-7798-4566-99e3-2edf2b57d292
name: Billing Invoice Global
regions:
- '*'
entities:
- '*'
entity_type: billing-invoice
channels:
- type: IN_APP
enabled: true
- type: EMAIL
enabled: true
enabled: true
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
meta:
next: ''
previous: ''
size: 10
EventSubscriptionResponse:
value:
id: 93f8380e-7798-4566-99e3-2edf2b57d292
name: Billing Invoice Global
regions:
- '*'
entities:
- '*'
entity_type: billing-invoice
channels:
- type: IN_APP
enabled: true
- type: EMAIL
enabled: true
enabled: true
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
BulkPayload:
value:
ids:
- 93f8380e-7798-4566-99e3-2edf2b57d289
- 93f8380e-7798-4566-99e3-2edf2b57d290
status: READ
DcrProviderOktaCreateRequest:
summary: DCR provider Okta Create Request
value:
name: DCR Okta 1 - Segment A
provider_type: okta
issuer: https://my-issuer.okta.com/default
dcr_config:
dcr_token: abc123xyz098!
DcrProviderAuth0CreateRequest:
summary: DCR provider Auth0 Create Request
value:
name: DCR Auth0 1 - Segment A
provider_type: auth0
issuer: https://my-issuer.auth0.com/api/v2/
dcr_config:
initial_client_id: abc123
initial_client_secret: abc123xyz098!
initial_client_audience: https://my-custom-domain.com/api/v2/
DcrProviderAzureAdCreateRequest:
summary: DCR provider AzureAd Create Request
value:
name: DCR Azure 1 - Segment A
provider_type: azureAd
issuer: https://sts.windows.net/my-tenant
dcr_config:
initial_client_id: abc123
initial_client_secret: abc123xyz098!
DcrProviderCurityCreateRequest:
summary: DCR provider Curity Create Request
value:
name: DCR Curity 1 - Segment A
provider_type: curity
issuer: >-
https://my-curity-instance.com/oauth/v2/oauth-anonymous/.well-known/openid-configuration
dcr_config:
initial_client_id: abc123
initial_client_secret: abc123xyz098!
DcrProviderHttpCreateRequest:
summary: DCR provider HTTP Create Request
value:
name: DCR HTTP 1 - Segment A
provider_type: http
issuer: https://my-issuer-server.com
dcr_config:
dcr_base_url: https://my-http-dcr-server.com/v1/dcr
api_key: gYmrbDfu_7PTsZWH
DcrProviderOktaUpdateRequest:
summary: DCR provider Create Request
value:
name: DCR Okta 1 - Segment A
issuer: https://my-issuer.okta.com/default
DcrProviderAuth0Response:
summary: DCR provider Response for Auth0
value:
id: 93f8380e-7798-4566-99e3-2edf2b57d289
name: DCR Auth0 1 - Segment A
display_name: Auth0 DCR provider
provider_type: auth0
issuer: https://my-issuer.auth0.com/api/v2/
active: true
dcr_config:
initial_client_id: abc123
initial_client_audience: https://my-custom-domain.com/api/v2/
use_developer_managed_scopes: false
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
DcrProviderAzureAdResponse:
summary: DCR provider Response for AzureAd
value:
id: 93f8380e-7798-4566-99e3-2edf2b57d289
name: DCR AzureAd 1 - Segment A
display_name: Client Credentials
provider_type: azureAd
issuer: https://sts.windows.net/my-tenant
active: true
dcr_config:
initial_client_id: abc123
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
DcrProviderCurityResponse:
summary: DCR provider Response for Curity
value:
id: 93f8380e-7798-4566-99e3-2edf2b57d289
name: DCR Curity 1 - Segment A
display_name: Client Credentials
provider_type: curity
issuer: >-
https://my-curity-instance.com/oauth/v2/oauth-anonymous/.well-known/openid-configuration
active: true
dcr_config:
initial_client_id: abc123
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
DcrProviderHttpResponse:
summary: DCR provider Response for HTTP
value:
id: 93f8380e-7798-4566-99e3-2edf2b57d289
name: DCR HTTP 1 - Segment A
display_name: Client Credentials
provider_type: http
issuer: https://my-issuer-server.com
active: true
dcr_config:
dcr_base_url: https://my-http-dcr-server.com/v1/dcr
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
DcrProviderOktaResponse:
summary: DCR provider Response for Okta
value:
id: 93f8380e-7798-4566-99e3-2edf2b57d289
name: DCR Okta 1 - Segment A
provider_type: okta
issuer: https://my-issuer.okta.com/default
active: true
dcr_config: {}
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
ListDcrProvidersResponse:
summary: List DCR Providers Response
value:
data:
- id: 93f8380e-7798-4566-99e3-2edf2b57d289
name: DCR Okta 1 - Segment A
provider_type: okta
issuer: https://my-issuer.okta.com/default
active: true
dcr_config: {}
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
- id: 93f8380e-7798-4566-99e3-2edf2b57d289
name: DCR Okta 1 - Segment B
display_name: Client Credentials
provider_type: okta
issuer: https://my-issuer.okta.com/e19c13a9485e
active: true
dcr_config: {}
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
- id: 93f8380e-7798-4566-99e3-2edf2b57d290
name: DCR HTTP 1 - Segment A
display_name: Client Credentials
provider_type: http
issuer: https://my-issuer-server.com
active: true
dcr_config:
dcr_base_url: https://my-http-dcr-server.com/v1/dcr
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
meta:
page:
number: 1
size: 2
total: 10
VerifyDcrProviderResponseSuccess:
summary: Verify DCR provider Success Response
value:
status: success
errors: []
VerifyDcrProviderResponseFailed:
summary: Verify DCR provider Failed Response
value:
status: failed
errors:
- Unable to create the DCR application
CreateAppAuthStrategyKeyAuthRequest:
value:
name: auth strategy 1
display_name: API Key Auth
strategy_type: key_auth
configs:
key-auth:
key_names:
- apikey
- api-key
- x-api-key
CreateAppAuthStrategyOpenIDConnectRequest:
value:
name: auth strategy 2
display_name: Enterprise Auth
strategy_type: openid_connect
configs:
openid-connect:
issuer: https://oidc.example.com
credential_claim:
- client_id
scopes:
- openid
- email
auth_methods:
- client_credentials
- bearer
CreateAppAuthStrategyOpenIDConnectDCRRequest:
value:
name: auth strategy 3
display_name: Enterprise Auth with DCR
strategy_type: openid_connect
configs:
openid-connect:
issuer: https://oidc-dcr.example.com
credential_claim:
- client_id
scopes:
- openid
- email
auth_methods:
- client_credentials
- bearer
dcr_provider_id: 73f8380e-7798-4566-99e3-2edf2b57d281
UpdateAppAuthStrategyKeyAuthRequest:
value:
display_name: API Key
UpdateAppAuthStrategyOpenIDConnectRequest:
value:
display_name: Client Credentials
AppAuthStrategyResponseExample1:
value:
id: 22f8380e-7798-4566-99e3-2edf2b57d289
name: auth strategy 1
display_name: Client Credentials
strategy_type: openid_connect
active: false
configs:
openid-connect:
issuer: https://my-issuer.example.com/default
auth_methods:
- client_credentials
credential_claim:
- client_id
scopes:
- openid
- email
dcr_provider:
id: 33f8380e-7798-4566-99e3-2edf2b57d289
name: DCR provider 1
display_name: Credentials
provider_type: http
labels: {}
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
ListAppAuthStrategyResponseExample1:
value:
data:
- id: 22f8380e-7798-4566-99e3-2edf2b57d289
name: auth strategy 1
display_name: Client Credentials
strategy_type: openid_connect
active: false
configs:
openid-connect:
issuer: https://my-issuer.example.com/default
auth_methods:
- client_credentials
credential_claim:
- client_id
scopes:
- openid
- email
dcr_provider:
id: 33f8380e-7798-4566-99e3-2edf2b57d289
name: DCR provider 1
display_name: Credentials
provider_type: http
labels: {}
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
meta:
page:
number: 1
size: 1
total: 10
ApiExample:
value:
id: 9f5061ce-78f6-4452-9108-ad7c02821fd5
name: myAPI
version: v1
labels:
env: test
description: My API
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
slug: my-api-v1
current_version_summary:
id: 7710d5c4-d902-410b-992f-18b814155b53
version: v1
spec:
type: oas3
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
portals:
- id: 25a2624c-49fc-4764-99e1-224ed819f200
name: My-Portal
display_name: My Portal
api_spec_ids:
- 123e4567-e89b-12d3-a456-426614174000
ApiSpecExample:
value:
id: 7710d5c4-d902-410b-992f-18b814155b53
content: >-
{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}
type: oas3
validation_messages:
- message: '''#/components/schemas/shouldExist'' does not exist'
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
ApiSpecExampleAsyncApi:
summary: API Spec Response (AsyncAPI)
value:
id: 8821e6d5-e013-411c-a03a-29c925266c64
content: >-
{"asyncapi":"2.6.0","info":{"title":"Account Service","version":"1.0.0","description":"This service is in charge of processing user signups"},"channels":{"user/signedup":{"publish":{"summary":"Inform about signed up users","operationId":"sendUserSignedUp","message":{"name":"UserSignedUp","payload":{"type":"object","properties":{"displayName":{"type":"string","description":"Name of the user"},"email":{"type":"string","format":"email","description":"Email of the user"}}}}}}}}
type: asyncapi
validation_messages: []
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
ApiVersionExample:
value:
id: 7710d5c4-d902-410b-992f-18b814155b53
version: 1.9.32
spec:
content: >-
{"openapi":"3.0.3","info":{"title":"Example API","version":"1.9.32"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}
type: oas3
validation_messages:
- message: '''#/components/schemas/shouldExist'' does not exist'
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
ApiVersionExampleAsyncApi:
summary: API Spec Response (AsyncAPI)
value:
id: 8821e6d5-e013-411c-a03a-29c925266c64
version: 1.9.32
spec:
content: >-
{"asyncapi":"2.6.0","info":{"title":"Account Service","version":"1.9.32","description":"This service is in charge of processing user signups"},"channels":{"user/signedup":{"publish":{"summary":"Inform about signed up users","operationId":"sendUserSignedUp","message":{"name":"UserSignedUp","payload":{"type":"object","properties":{"displayName":{"type":"string","description":"Name of the user"},"email":{"type":"string","format":"email","description":"Email of the user"}}}}}}}}
type: asyncapi
validation_messages: []
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
ListApiSpecExample:
value:
data:
- id: 7710d5c4-d902-410b-992f-18b814155b53
type: oas3
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
meta:
page:
number: 1
size: 1
total: 1
ListApiSpecExampleAsyncApi:
summary: List API Spec Response (Mixed Types)
value:
data:
- id: 7710d5c4-d902-410b-992f-18b814155b53
type: oas3
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
- id: 8821e6d5-e013-411c-a03a-29c925266c64
type: asyncapi
created_at: '2023-01-02T00:00:00.000Z'
updated_at: '2023-01-02T00:00:00.000Z'
meta:
page:
number: 1
size: 2
total: 2
ListApiVersionExample:
value:
data:
- id: 7710d5c4-d902-410b-992f-18b814155b53
spec:
type: oas3
version: 1.0.0
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
meta:
page:
number: 1
size: 1
total: 1
ListApiVersionExampleAsyncApi:
summary: List API Version Response (Mixed Types)
value:
data:
- id: 7710d5c4-d902-410b-992f-18b814155b53
spec:
type: oas3
version: 1.0.0
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
- id: 8821e6d5-e013-411c-a03a-29c925266c64
spec:
type: asyncapi
version: 1.0.1
created_at: '2023-01-02T00:00:00.000Z'
updated_at: '2023-01-02T00:00:00.000Z'
meta:
page:
number: 1
size: 2
total: 2
CreateApiRequestMinimalExample:
summary: Create API Request (Minimal)
value:
name: myAPI
CreateApiRequestFullExample:
summary: Create API Request (Full)
value:
name: myAPI
version: v1
slug: my-api-v1
labels:
env: test
CreateApiSpecRequestExampleJson:
summary: Create API Specification Request (OAS3 JSON)
value:
content: >-
{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}
type: oas3
CreateApiSpecRequestExampleYaml:
summary: Create API Specification Request (OAS3 YAML)
value:
content: >-
openapi: 3.0.3\ninfo:\n title: Example API\n version: 1.0.0\npaths:\n /example:\n get:\n summary: Example endpoint\n responses:\n \"200\":\n description: Successful response
type: oas3
CreateApiSpecRequestExampleAsyncApi:
summary: Create API Specification Request (AsyncAPI JSON)
value:
content: >-
{"asyncapi":"2.6.0","info":{"title":"Account Service","version":"1.0.0","description":"This service is in charge of processing user signups"},"channels":{"user/signedup":{"publish":{"summary":"Inform about signed up users","operationId":"sendUserSignedUp","message":{"name":"UserSignedUp","payload":{"type":"object","properties":{"displayName":{"type":"string","description":"Name of the user"},"email":{"type":"string","format":"email","description":"Email of the user"}}}}}}}}
type: asyncapi
CreateApiVersionRequestExampleJson:
summary: Create API Version Request (OAS3 JSON)
value:
version: 1.0.0
spec:
content: >-
{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}
CreateApiVersionRequestExampleYaml:
summary: Create API Version Request (OAS3 YAML)
value:
version: 1.0.0
spec:
content: >-
openapi: 3.0.3\ninfo:\n title: Example API\n version: 1.0.0\npaths:\n /example:\n get:\n summary: Example endpoint\n responses:\n \"200\":\n description: Successful response
CreateApiVersionRequestExampleAsyncApi:
summary: Create API Version Request (AsyncAPI JSON)
value:
version: 1.0.0
spec:
content: >-
{"asyncapi":"2.6.0","info":{"title":"Account Service","version":"1.0.0","description":"This service is in charge of processing user signups"},"channels":{"user/signedup":{"publish":{"summary":"Inform about signed up users","operationId":"sendUserSignedUp","message":{"name":"UserSignedUp","payload":{"type":"object","properties":{"displayName":{"type":"string","description":"Name of the user"},"email":{"type":"string","format":"email","description":"Email of the user"}}}}}}}}
UpdateApiNameRequestExample:
summary: Update API Name
value:
name: new API name
UpdateApiVersionRequestExample:
summary: Update API Version
value:
version: v2
UpdateApiSpecContentRequestExample:
summary: Update API Spec Content (OAS3)
value:
content: >-
{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.1"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}
UpdateApiVersionContentRequestExample:
summary: Update API Version Content (OAS3)
value:
version: 1.0.1
spec:
content: >-
{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.1"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}
ApiDocumentExample:
value:
id: de5c9818-be5c-42e6-b514-e3d4bc30ddeb
parent_document_id: null
title: API Document
slug: api-document
status: published
content: '# API Document Header'
created_at: '2023-01-01T00:00:00.000Z'
updated_at: '2023-01-01T00:00:00.000Z'
CreateApiDocumentRequestExample:
summary: Create API Document Request
value:
slug: api-document
status: published
title: API Document
content: '# API Document Header'
parent_document_id: 417a2aed-9a75-4eca-a943-fa7d88ed6a73
CreateApiDocumentRequestMinimalExample:
summary: Create API Document Request (Minimal)
value:
slug: api-document
status: published
title: API Document
content: '# API Document Header'
UpdateApiDocumentAttributesRequestExample:
summary: Update API Document Attributes Request
value:
parent_document_id: dd4e1b98-3629-4dd3-acc0-759a726ffee2
slug: api-document
status: published
title: API Document
UpdateApiDocumentContentRequestExample:
summary: Update API Document Content Request
value:
content: '# Updated API Document Header'
UpdateApiDocumentAttributesAndContentRequestExample:
summary: Update API Document Attributes and Content Request
value:
parent_document_id: dd4e1b98-3629-4dd3-acc0-759a726ffee2
slug: api-document
status: published
title: API Document
content: '# Updated API Document Header'
CreateApiImplementationRequestExample:
value:
service:
control_plane_id: fd4e1b98-3629-4dd3-acc0-759a726ffee2
id: dd4e1b98-3629-4dd3-acc0-759a726ffee2
ApiNameBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:8405749052424858251
detail: Invalid Parameters
invalid_parameters:
- field: name
rule: min_length
minimum: 1
reason: name must be longer than or equal to 1 characters
ApiDocumentBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:5832302153563197721
detail: Invalid Parameters
invalid_parameters:
- field: slug
rule: matches_regex
reason: slug must match /^[\w-]+$/ regular expression
ApiSpecContentBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: content
rule: min_length
minimum: 1
reason: content must be longer than or equal to 1 characters
ApiVersionBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: version
rule: missing_reference
reason: version must be provided if not included in spec_content
ApiImplementationBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: service.id
rule: missing_reference
reason: Service not found
ApiUnauthorizedExample:
value:
status: 401
title: ApiUnauthorized
instance: kong:trace:8347343766220159418
detail: ApiUnauthorized
ApiNotFoundExample:
value:
status: 404
title: Not Found
instance: kong:trace:6816496025408232265
detail: Not Found
ApiForbiddenExample:
value:
status: 403
title: ApiForbidden
instance: kong:trace:2723154947768991354
detail: You do not have permission to perform this action
ApiSlugConflictExample:
value:
status: 409
title: Conflict
instance: kong:trace:3169213858331814220
ApiSpecConflictExample:
value:
status: 409
title: Conflict
instance: kong:trace:3169213858331814220
detail: >-
Specification for API '9f5061ce-78f6-4452-9108-ad7c02821fd5' already exists
ApiSpecHiddenConflictExample:
value:
status: 409
title: Conflict
instance: kong:trace:9039922446017540182
detail: >-
Key (api_id, path)=(23380be0-c15e-4ca8-bcf7-43aadddc91b1, hidden.yaml) already exists.
ApiImplementationServiceConflictExample:
value:
status: 409
title: Conflict
instance: kong:trace:3169213858331814220
detail: This gateway service is already linked to another API
ApiImplementationCountConflictExample:
value:
status: 409
title: Conflict
instance: kong:trace:3169213858331814220
detail: An implementation already exists for this API
InvalidApiSortQueryBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:4725061142075238974
detail: Invalid Parameters
invalid_parameters:
- field: sort
rule: enum
choices:
- name
reason: '"sort" field must contain any of: [name]'
InvalidApiSortQueryNameBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:4725061142075238974
detail: Invalid Parameters
invalid_parameters:
- field: sort
rule: enum
choices:
- name
reason: '"sort" field must contain any of: [name]'
ValidateApiSpecRequestExampleJson:
summary: Validate API Specification Request (OAS3 JSON)
value:
content: >-
{"openapi":"3.0.3","info":{"title":"Valid API","version":"1.0.0"},"paths":{"/health":{"get":{"summary":"Health check","responses":{"200":{"description":"OK"}}}}}}
ValidateApiSpecRequestExampleYaml:
summary: Validate API Specification Request (OAS3 YAML)
value:
content: >-
openapi: 3.0.3\ninfo:\n title: Valid API\n version: 1.0.0\npaths:\n /health:\n get:\n summary: Health check\n responses:\n '200':\n description: OK
ValidateApiSpecRequestExampleAsyncApi:
summary: Validate API Specification Request (AsyncAPI JSON)
value:
content: >-
{"asyncapi":"2.6.0","info":{"title":"Account Service","version":"1.0.0","description":"This service is in charge of processing user signups"},"channels":{"user/signedup":{"publish":{"summary":"Inform about signed up users","operationId":"sendUserSignedUp","message":{"name":"UserSignedUp","payload":{"type":"object","properties":{"displayName":{"type":"string","description":"Name of the user"},"email":{"type":"string","format":"email","description":"Email of the user"}}}}}}}}
ValidateApiSpecSuccessResponseExample:
summary: Validate API Specification Success Response (No Warnings)
value:
validation_messages: []
ValidateApiSpecSuccessResponseWithWarningExample:
summary: Validate API Specification Success Response (With Warnings)
value:
validation_messages:
- message: '''#/components/schemas/shouldExist'' does not exist'
ValidateApiSpecBadRequestExample:
summary: Validate API Specification Bad Request (Validation Failure)
value:
status: 400
title: Invalid Request
instance: kong:trace:1234567890123456789
detail: Invalid Parameters
validation_errors:
- path: '#/info/title'
message: Field 'title' is required.
- path: '#/paths/~1users/get/responses/200'
message: Response '200' requires a 'description'.
invalid_parameters:
- field: content
rule: invalid
reason: The provided specification content could not be parsed
UpdateApiSpecContentRequestExampleAsyncApi:
summary: Update API Spec Content (AsyncAPI)
value:
content: >-
{"asyncapi":"2.6.0","info":{"title":"Account Service Updated","version":"1.0.1","description":"This service is in charge of processing user signups (updated)"},"channels":{"user/signedup":{"publish":{"summary":"Inform about signed up users","operationId":"sendUserSignedUp","message":{"name":"UserSignedUp","payload":{"type":"object","properties":{"displayName":{"type":"string","description":"Name of the user"},"email":{"type":"string","format":"email","description":"Email of the user"}}}}}}}}
type: asyncapi
UpdateApiVersionContentRequestExampleAsyncApi:
summary: Update API Version Spec Content (AsyncAPI)
value:
version: 1.0.2
spec:
content: >-
{"asyncapi":"2.6.0","info":{"title":"Account Service Updated","version":"1.0.1","description":"This service is in charge of processing user signups (updated)"},"channels":{"user/signedup":{"publish":{"summary":"Inform about signed up users","operationId":"sendUserSignedUp","message":{"name":"UserSignedUp","payload":{"type":"object","properties":{"displayName":{"type":"string","description":"Name of the user"},"email":{"type":"string","format":"email","description":"Email of the user"}}}}}}}}
UnsupportedMediaTypeExample:
value:
status: 415
title: Unsupported Media Type
instance: kong:trace:8347343766220159418
detail: 'This API only supports requests with `Content-Type: application/json`'
400-authorization-cannot-be-blank:
value:
status: 400
title: Bad Request
detail: Required field missing
instance: konnect:trace:6644808935508571943
invalid_parameters:
- field: authorization
reason: cannot be blank
400-endpoint-cannot-be-blank:
value:
status: 400
title: Bad Request
detail: Required field missing
instance: konnect:trace:6644808935508571943
invalid_parameters:
- field: endpoint
reason: cannot be blank
400-endpoint-must-be-valid-url:
value:
status: 400
title: Bad Request
detail: Invalid endpoint
instance: konnect:trace:6644808935508571943
invalid_parameters:
- field: endpoint
reason: must be a valid URL
409-job-running:
value:
status: 409
title: Resource Conflict
instance: konnect:trace:6644808935508571943
detail: A replay job is currently running
ListDevelopersExample1:
value:
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'
GetDeveloperExample1:
value:
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'
Update-Portal-Audit-Log-Webhook:
value:
audit_log_destination_id: 9cb77dc2-ff99-4d47-84ab-7c5c1b3ef939
Disable-Portal-Audit-Log-Webhook:
value:
enabled: false
Enable-Portal-Audit-Log-Webhook:
value:
enabled: true
Get-Portal-Audit-Log-Webhook:
value:
enabled: true
audit_log_destination_id: 9cb77dc2-ff99-4d47-84ab-7c5c1b3ef939
Get-Portal-Audit-Log-Webhook-Status:
value:
webhook_enabled: true
webhook_status: inactive
last_attempt_at: '2023-03-21T09:29:14.52Z'
last_response_code: 401
last_response_message: Unauthorized
UpdateTeamExample1:
value:
name: IDM - Developers
description: The Identity Management (IDM) API team.
CreateTeamExample1:
value:
name: IDM - Developers
description: The Identity Management (IDM) API team.
AddDeveloperToTeamExample1:
value:
id: df120cb4-f60b-47bc-a2f8-6a28e6a3c63b
UpdatePortalTeamGroupMappingsExample1:
value:
data:
- team_id: af91db4c-6e51-403e-a2bf-33d27ae50c0a
groups:
- Service Developer
- team_id: bc11db4c-6e51-403e-a2bf-33d27ae50c0a
groups:
- Service Owner
PortalExample1:
value:
id: 9f9fd312-a987-4628-b4c5-bb4f4fddd5f7
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-10-08T17:00:00.52Z'
name: Portal A
display_name: Developer Portal A
description: The Portal A
default_domain: 123455678abcd.us.portal.konghq.com
authentication_enabled: false
rbac_enabled: true
default_api_visibility: private
default_page_visibility: private
default_application_auth_strategy_id: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7
auto_approve_applications: false
auto_approve_developers: true
canonical_domain: api.example.com
UpdatePortalExampleRbacEnabled:
value:
authentication_enabled: true
rbac_enabled: true
UpdatePortalExampleAuthenticationDisabled:
value:
authentication_enabled: false
UpdatePortalExampleAutoApprove:
value:
auto_approve_applications: true
auto_approve_developers: true
UpdatePortalExample1:
value:
authentication_enabled: false
rbac_enabled: false
auto_approve_applications: false
auto_approve_developers: false
CreatePortalExampleRbacEnabled:
value:
name: MyDevPortal
authentication_enabled: true
rbac_enabled: true
CreatePortalExampleAuthenticationDisabled:
value:
name: MyDevPortal
authentication_enabled: false
CreatePortalExampleAutoApprove:
value:
name: MyDevPortal
auto_approve_applications: true
auto_approve_developers: true
CreatePortalExample1:
value:
name: MyDevPortal
authentication_enabled: true
rbac_enabled: true
auto_approve_applications: false
auto_approve_developers: false
ListPortalsExample1:
value:
meta:
page:
number: 1
size: 10
total: 1
data:
- id: 8f9fd312-a987-4628-b4c5-bb4f4fddd5f7
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-10-08T17:00:00.52Z'
name: Portal A
display_name: Developer Portal A
description: The Portal A
authentication_enabled: false
rbac_enabled: true
default_api_visibility: private
default_page_visibility: private
default_application_auth_strategy_id: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7
auto_approve_applications: false
auto_approve_developers: true
default_domain: 123455678abcd.edge.us.portal.konghq.com
canonical_domain: 123455678abcd.edge.us.portal.konghq.com
ListPortalsBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[size]
rule: is_number
reason: '"page[size]" must be a number'
source: query
ListPortalsBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[number]
rule: is_number
reason: '"page[number]" must be a number'
source: query
ListPortalsBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: sort
rule: enum
choices:
- created_at
- updated_at
reason: must be one of [created_at, updated_at]
source: query
UpdatePortalBadRequestExample1:
summary: Unknown property
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: my_property
rule: unknown_property
reason: '"my_property" is not allowed'
source: body
UpdatePortalBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: authentication_enabled
rule: is_boolean
reason: value of "authentication_enabled" must be true or false
source: body
UpdatePortalBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: rbac_enabled
rule: is_boolean
reason: value of "rbac_enabled" must be true or false
source: body
UpdatePortalBadRequestExample4:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: auto_approve_applications
rule: is_boolean
reason: value of "auto_approve_applications" must be true or false
source: body
UpdatePortalBadRequestExample5:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: auto_approve_developers
rule: is_boolean
reason: value of "auto_approve_developers" must be true or false
source: body
UpdatePortalCustomizationBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: my_property
rule: unknown_property
reason: '"my_property" is not allowed'
source: body
ReplacePortalCustomizationBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: my_property
rule: unknown_property
reason: '"my_property" is not allowed'
source: body
ReplacePortalImageAssetExample1:
value:
data: data:image/png;base64,bmljZV9sb29raW5nX3BpY3R1cmU=
ReplacePortalImageAssetBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: data
rule: required
reason: data is required
source: body
CreatePortalPageExample1:
value:
title: Getting Started
slug: /getting-started
content: >-
Welcome to the Getting Started page. This is where you can learn how to use our APIs.
visibility: public
status: published
UpdatePortalPageExample1:
value:
title: About Us
slug: /about-us
content: >-
Welcome to the About Us page. This is where you can learn about our company.
PortalPageExample1:
value:
id: 8f9fd312-a987-4628-b4c5-bb4f4fddd5f7
slug: /
title: Home
content: >-
Welcome to the home page of the portal. This is where you can find information about the portal and its APIs.
visibility: public
status: published
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-10-08T17:00:00.52Z'
parent_page_id: null
DefaultContentExample1:
value:
pages:
- /about
- /home
- /privacy
snippets:
- guides-sidebar-navigation
- guides-sidebar-toc
ListPortalPagesExample1:
value:
meta:
page:
number: 1
size: 10
total: 1
data:
- id: 8f9fd312-a987-4628-b4c5-bb4f4fddd5f7
slug: /
title: Home
visibility: public
status: published
description: A custom page
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-10-08T17:00:00.52Z'
parent_page_id: null
children: []
ListPortalPagesBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[size]
rule: is_number
reason: '"page[size]" must be a number'
source: query
ListPortalPagesBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: filter[my_attribute]
rule: unknown_property
reason: '"filter[my_attribute]" is not allowed'
source: query
UpdatePortalPageBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: my_property
rule: unknown_property
reason: '"my_property" is not allowed'
source: body
UpdatePortalPageBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: title
rule: max_length
reason: value of "title" must not exceed 512 characters
source: body
maximum: 512
CreatePortalSnippetExample1:
value:
title: Getting Started
name: getting-started
content: >-
Welcome to the Getting Started page. This is where you can learn how to use our APIs.
visibility: public
status: published
UpdatePortalSnippetExample1:
value:
title: About Us
name: about-us
content: >-
Welcome to the About Us page. This is where you can learn about our company.
PortalSnippetExample1:
value:
id: 8f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: snip1
title: Home
content: Welcome to the first snippet of the portal.
visibility: public
status: published
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-10-08T17:00:00.52Z'
ListPortalSnippetsExample1:
value:
meta:
page:
number: 1
size: 10
total: 1
data:
- id: 8f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: snip1
title: Home
visibility: public
status: published
description: A custom snippet
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-10-08T17:00:00.52Z'
ListPortalSnippetsBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[size]
rule: is_number
reason: '"page[size]" must be a number'
source: query
ListPortalSnippetsBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: filter[my_attribute]
rule: unknown_property
reason: '"filter[my_attribute]" is not allowed'
source: query
UpdatePortalSnippetBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: my_property
rule: unknown_property
reason: '"my_property" is not allowed'
source: body
UpdatePortalSnippetBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: title
rule: max_length
reason: value of "title" must not exceed 512 characters
source: body
maximum: 512
ListApplicationsExample1:
value:
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'
GetApplicationExampleBasic:
value:
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'
GetApplicationExampleDcr:
value:
id: b15e2460-ba40-431d-9df0-4957fcffacda
labels:
env: test
name: App 1
description: >-
A Konnect application that is linked to an Identity Provider application, where the relationship is managed by Konnect using Dynamic Client Registration (DCR)
client_id: yr1k0d9kj3l0cl01hp4o0
registration_count: 1
portal:
id: 95606071-49c7-4c2e-ae49-8a86d72a8110
auth_strategy:
id: 45606071-49c7-4c2e-ae49-8a86d72a8110
name: Client Credentials
credential_type: client_credentials
auth_methods:
- client_credentials
dcr_provider:
id: 7ea06071-49c7-4c2e-ae49-8a86d72a8110
granted_scopes:
- openid
created_at: '2022-12-22T19:07:30.712Z'
updated_at: '2022-12-22T19:07:30.712Z'
GetApplicationExampleOIDC:
value:
id: b15e2460-ba40-431d-9df0-4957fcffacda
labels:
env: test
name: App 1
description: >-
A Konnect application that is linked to an Identity Provider application by client_id, but the relationship is not managed by Konnect through DCR
client_id: yr1k0d9kj3l0cl01hp4o0
registration_count: 1
portal:
id: 95606071-49c7-4c2e-ae49-8a86d72a8110
auth_strategy:
id: 45606071-49c7-4c2e-ae49-8a86d72a8110
name: Client Credentials
credential_type: self_managed_client_credentials
auth_methods:
- client_credentials
dcr_provider: null
granted_scopes: null
created_at: '2022-12-22T19:07:30.712Z'
updated_at: '2022-12-22T19:07:30.712Z'
ListApplicationDevelopersExample1:
value:
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
ListApplicationRegistrationsExample1:
value:
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
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
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
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
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
GetApplicationRegistrationExample1:
value:
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
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
UpdateApplicationRegistrationResponseExample1:
value:
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
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
ListApplicationsBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[size]
rule: is_number
reason: '"page[size]" must be a number'
source: query
ListApplicationsBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[number]
rule: is_number
reason: '"page[number]" must be a number'
source: query
ListApplicationsBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: sort
rule: enum
choices:
- created_at
- developer_id
- name
reason: must be one of [created_at, developer_id, name]
source: query
ListApplicationsBadRequestExample4:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: filter[my_attribute]
rule: unknown_property
reason: '"filter[my_attribute]" is not allowed'
source: query
ListApplicationRegistrationsByPortalBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[size]
rule: is_number
reason: '"page[size]" must be a number'
source: query
ListApplicationRegistrationsByPortalBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[number]
rule: is_number
reason: '"page[number]" must be a number'
source: query
ListApplicationRegistrationsByPortalBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: sort
rule: enum
choices:
- created_at
- updated_at
- developer_id
- status
reason: must be one of [created_at, updated_at, developer_id, status]
source: query
ListApplicationRegistrationsByPortalBadRequestExample4:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: filter[my_attribute]
rule: unknown_property
reason: '"filter[my_attribute]" is not allowed'
source: query
ListRegistrationsByApplicationBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[size]
rule: is_number
reason: '"page[size]" must be a number'
source: query
ListRegistrationsByApplicationBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[number]
rule: is_number
reason: '"page[number]" must be a number'
source: query
ListRegistrationsByApplicationBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: sort
rule: enum
choices:
- created_at
- updated_at
- status
reason: must be one of [created_at, updated_at, status]
source: query
ListRegistrationsByApplicationBadRequestExample4:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: filter[my_attribute]
rule: unknown_property
reason: '"filter[my_attribute]" is not allowed'
source: query
ListDevelopersByApplicationBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[size]
rule: is_number
reason: '"page[size]" must be a number'
source: query
ListDevelopersByApplicationBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[number]
rule: is_number
reason: '"page[number]" must be a number'
source: query
ListDevelopersByApplicationBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: sort
rule: enum
choices:
- id
reason: must be one of [status]
source: query
ListDevelopersByApplicationBadRequestExample4:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: filter[my_attribute]
rule: unknown_property
reason: '"filter[my_attribute]" is not allowed'
source: query
UpdateApplicationRegistrationBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: my_property
rule: unknown_property
reason: '"my_property" is not allowed'
source: body
UpdateApplicationRegistrationApproved:
value:
status: approved
UpdateApplicationRegistrationPending:
value:
status: pending
UpdateApplicationRegistrationRejected:
value:
status: rejected
UpdateApplicationRegistrationRevoked:
value:
status: revoked
UpdateDeveloperExampleApproved:
value:
status: approved
UpdateDeveloperExamplePending:
value:
status: pending
UpdateDeveloperExampleRejected:
value:
status: rejected
UpdateDeveloperExampleRevoked:
value:
status: revoked
PortalTeamGroupMappingCollectionExample1:
value:
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
PortalAuthenticationSettingsExample1:
value:
basic_auth_enabled: true
oidc_auth_enabled: true
saml_auth_enabled: true
oidc_team_mapping_enabled: true
konnect_mapping_enabled: true
idp_mapping_enabled: true
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
PortalAssignedRoleUSExample:
value:
id: 1a3c2169-27f8-4594-926b-41df3432d5dc
role_name: API Viewer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Services
entity_region: us
PortalAssignedRoleAllRegionsExample:
value:
id: 034cb810-1f2d-40d2-a1ce-31944144668e
role_name: API Consumer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Services
entity_region: '*'
PortalTeamExample1:
value:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
name: Gold Tier
description: Team with access to APIs in the Gold tier
created_at: '2022-02-07T17:46:57.52Z'
updated_at: '2022-09-25T13:00:00.00Z'
AssignedPortalRoleCollectionExample1:
value:
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
ListPortalTeamsExample1:
value:
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'
ListRolesExample1:
value:
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
ListBasicDevelopersExample1:
value:
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'
UpdateAuthSettingsBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: basic_auth_enabled
rule: is_boolean
reason: value of "basic_auth_enabled" must be true or false
source: body
UpdateAuthSettingsBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: oidc_auth_enabled
rule: is_boolean
reason: value of "oidc_auth_enabled" must be true or false
source: body
UpdateAuthSettingsBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: oidc_team_mapping_enabled
rule: is_boolean
reason: value of "oidc_team_mapping_enabled" must be true or false
source: body
UpdateAuthSettingsBadRequestExample4:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: konnect_mapping_enabled
rule: is_boolean
reason: value of "konnect_mapping_enabled" must be true or false
source: body
UpdateAuthSettingsBadRequestExample5:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: oidc_issuer
rule: is_string
reason: value of "oidc_issuer" must be a utf-8 string
source: body
UpdateAuthSettingsBadRequestExample6:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: oidc_client_id
rule: is_string
reason: value of "oidc_client_id" must be a utf-8 string
source: body
UpdateAuthSettingsBadRequestExample7:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: oidc_client_secret
rule: is_string
reason: value of "oidc_client_secret" must be a utf-8 string
source: body
UpdateAuthSettingsBadRequestExample8:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: oidc_scopes
rule: is_array
reason: '"oidc_scopes" must be an array'
source: body
ListTeamGroupMappingsBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[size]
rule: is_number
reason: '"page[size]" must be a number'
source: query
ListTeamGroupMappingsBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[number]
rule: is_number
reason: '"page[number]" must be a number'
source: query
UpdateTeamGroupMappingsBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: data
rule: is_array
reason: '"data" must be an array'
source: body
CreateTeamBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: my_attribute
rule: required
reason: '"my_attribute" is required'
source: body
CreateTeamBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: name
rule: is_string
reason: value of "name" must be a utf-8 string
source: body
CreateTeamBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: description
rule: max_length
reason: value of "description" must not exceed 250 characters
source: body
maximum: 250
AddDeveloperToTeamBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: my_attribute
rule: required
reason: '"my_attribute" is required'
source: body
AddDeveloperToTeamBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: id
rule: is_uuid
reason: value of "id" must be a UUID
source: body
AssignRoleBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: role_name
rule: is_string
reason: value of "role_name" must be a utf-8 string
source: body
AssignRoleBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: entity_id
rule: is_uuid
reason: value of "entity_id" must be a UUID
source: body
AssignRoleBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: entity_type_name
rule: is_string
reason: value of "entity_type_name" must be a utf-8 string
source: body
AssignRoleBadRequestExample4:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: entity_region
rule: enum
choices:
- us
- eu
- au
- me
- in
- '*'
reason: must be one of [us, eu, au, me, in, *]
source: body
ListDevelopersBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[size]
rule: is_number
reason: '"page[size]" must be a number'
source: query
ListDevelopersBadRequestExample2:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: page[number]
rule: is_number
reason: '"page[number]" must be a number'
source: query
ListDevelopersBadRequestExample3:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: sort
rule: enum
choices:
- created_at
- updated_at
- email
- name
- status
reason: must be one of [created_at, updated_at, email, name, status]
source: query
ListDevelopersBadRequestExample4:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: filter[my_attribute]
rule: unknown_property
reason: '"filter[my_attribute]" is not allowed'
source: query
UpdateDeveloperResponseExample1:
value:
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'
UpdateDeveloperBadRequestExample1:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: my_property
rule: unknown_property
reason: '"my_property" is not allowed'
source: body
UpdatePortalAuthenticationSettingsExample1:
value:
basic_auth_enabled: true
oidc_auth_enabled: true
saml_auth_enabled: true
oidc_team_mapping_enabled: true
konnect_mapping_enabled: false
idp_mapping_enabled: true
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
UpdatePortalAuthenticationSettingsExampleDisableBasicAuth:
value:
basic_auth_enabled: false
UpdatePortalAuthenticationSettingsExampleEnableOIDC:
value:
oidc_auth_enabled: true
oidc_team_mapping_enabled: false
konnect_mapping_enabled: true
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
UpdatePortalAuthenticationSettingsExampleEnableOIDCTeamMapping:
value:
oidc_team_mapping_enabled: true
konnect_mapping_enabled: true
oidc_claim_mappings:
name: name
email: email
groups: custom-group-claim
PortalAssignRoleExampleViewer:
value:
role_name: API Viewer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Services
entity_region: us
PortalAssignRoleExampleConsumer:
value:
role_name: API Consumer
entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61
entity_type_name: Services
entity_region: us
PortalEmailConfigExample:
value:
id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7
domain_name: example.com
from_name: Gandalf
from_email: user@example.com
reply_to_email: admin@example.com
created_at: '2022-11-04T20:10:06.927Z'
updated_at: '2022-11-04T20:10:06.927Z'
EmailTemplateExample1:
value:
name: confirm-email-address
default_content:
subject: Confirm Your Email Address
title: Confirm Your Email Address
body: >-
Hello {{ developer_fullname }},\n\nPlease confirm your email address by clicking the link below:
button_label: Confirm Email Address
label: Confirm Email Address
content:
subject: Confirm Your Email Address
title: Confirm Your Email Address
body: >-
Hello {{ developer_fullname }},\n\nPlease confirm your email address by clicking the link below:\n\n{{ confirmation_link }}\n\nBest regards,\nThe {{ portal.name }} Team
button_label: null
variables:
- developer_email
- developer_fullname
enabled: true
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
ListEmailTemplateExample1:
value:
data:
- name: confirm-email-address
default_content:
subject: Confirm Your Email Address
title: Confirm Your Email Address
body: >-
Hello {{ developer_fullname }},\n\nPlease confirm your email address by clicking the link below:
button_label: Confirm Email Address
label: Confirm Email Address
content:
subject: Confirm Your Email Address
title: Confirm Your Email Address
body: >-
Hello {{ developer_fullname }},\n\nPlease confirm your email address by clicking the link below:\n\n{{ confirmation_link }}\n\nBest regards,\nThe {{ portal.name }} Team
button_label: null
variables:
- developer_email
- developer_fullname
enabled: true
created_at: '2022-12-22T20:13:07.305Z'
updated_at: '2022-12-22T20:13:36.710Z'
EmailTemplateVariable1:
value:
data:
- name: portal_display_name
scope:
- app-registration-approved
- app-registration-rejected
- app-registration-revoked
- confirm-email-address
- account-access-approved
- reset-password
- account-access-rejected
- account-access-revoked
description: The name of the portal
example: KongAirlines
- name: api_name
scope:
- app-registration-approved
- app-registration-rejected
- app-registration-revoked
description: The name of the API
example: Billing
- name: api_version
scope:
- app-registration-approved
- app-registration-rejected
- app-registration-revoked
description: The version of the API
example: v1.0
ListDefaultEmailTemplatesExample1:
value:
data:
- name: confirm-email-address
default_content:
subject: Confirm Your Email Address
title: Confirm Your Email Address
body: >-
Hello {{ developer_fullname }},\n\nPlease confirm your email address by clicking the link below:
button_label: Confirm Email Address
variables:
- developer_email
- developer_fullname
label: Confirm the developer's email address
- name: reset-password
default_content:
subject: Reset Your Password
title: Reset Your Password
body: >-
Hello {{ developer_fullname }},\n\nPlease reset your password by clicking the link below:
button_label: Reset Password
variables:
- developer_email
- developer_fullname
label: Reset the developer's password
GetDefaultEmailTemplateExample1:
value:
name: app-registration-revoked
variables:
- developer_fullname
label: >-
Inform the developer their approved app registration has been revoked by a portal admin
default_content:
subject: Your registration has been revoked
title: Revoked registration
body: >-
Hello {{ developer_fullname }},\n\your registration has been revoked.
button_label: ''
PatchEmailTemplateResponseExample1:
value:
name: app-registration-revoked
variables:
- developer_fullname
label: >-
Inform the developer their approved app registration has been revoked by a portal admin
enabled: true
created_at: '2025-12-22T20:13:07.305Z'
updated_at: '2025-12-22T20:13:36.710Z'
default_content:
subject: Your registration has been revoked
title: Revoked registration
body: >-
Hello {{ developer_fullname }},\n\your registration has been revoked.
button_label: ''
content:
subject: '{{developer_fullname}}, Your registration has been revoked'
title: Revoked registration
body: >-
Hello {{ developer_fullname }},\n\your registration has been **revoked**.
button_label: Acknowledge
UpdateCustomPortalTemplateEnabled:
value:
enabled: true
UpdateCustomPortalTemplateContent:
value:
content:
subject: '{{developer_fullname}}, Your registration has been revoked'
title: Revoked registration
body: >-
Hello {{ developer_fullname }},\n\your registration has been **revoked**.
button_label: Acknowledge
PatchPortalEmailConfigExample:
value:
domain_name: example.com
from_name: Gandalf
from_email: user@example.com
reply_to_email: admin@example.com
PostPortalEmailConfigExample:
value:
domain_name: example.com
from_name: Gandalf
from_email: user@example.com
reply_to_email: admin@example.com
SendTestEmailTemplateExample:
value:
content:
subject: '{{developer_fullname}}, Your registration has been revoked'
title: Revoked registration
body: >-
Hello {{ developer_fullname }},\n\your registration has been **revoked**.
button_label: Acknowledge
PortalCustomDomainExample1:
value:
hostname: example.com
enabled: true
created_at: '2025-12-22T20:13:07.305Z'
updated_at: '2025-12-22T20:13:07.305Z'
cname_status: pending
ssl:
verification_status: verified
domain_verification_method: http
ConfigStoreExample:
value:
id: e7a4f6c0-5777-4a37-bcb9-2d37d3b362ee
name: Config Store
created_at: '2024-01-01T00:00:00.000Z'
updated_at: '2024-01-01T00:00:00.000Z'
ConfigStoreSecretExample:
value:
key: ConfigStoreSecretKey
value: ConfigStoreSecretValue
created_at: '2024-01-01T00:00:00.000Z'
updated_at: '2024-01-01T00:00:00.000Z'
CreateConfigStoreRequestExample:
summary: Create Config Store Request
value:
name: Config Store
CreateConfigStoreSecretRequestExample:
summary: Create Config Store Secret Request
value:
key: ConfigStoreSecretKey
value: ConfigStoreSecretValue
ConfigStoreNameBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:8405749052424858251
detail: Invalid Parameters
invalid_parameters:
- field: name
rule: min_length
minimum: 1
reason: name must be longer than or equal to 1 characters
ConfigStoreSecretBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:8405749052424858251
detail: Invalid Parameters
invalid_parameters:
- field: key
rule: min_length
minimum: 1
reason: name must be longer than or equal to 1 characters
UpdateConfigStoreRequestExample:
summary: Update Config Store Request
value:
name: Config Store with Updated Name
UpdateConfigStoreSecretRequestExample:
summary: Update Config Store Secret Request
value:
value: ConfigStoreSecretValue
DeleteConfigStoreBadRequestExample:
value:
status: 400
title: Invalid Request
instance: kong:trace:1433447772874964729
detail: Invalid Parameters
invalid_parameters:
- field: force
rule: required
reason: >-
This Config Store has 4 secrets. These must be individually removed before deletion or the force=true query param can be used to automatically delete associated entities.”
source: query
KonnectCPLegacyUnauthorizedExample:
value:
message: Unauthorized
KonnectCPLegacyForbiddenExample:
value:
message: Forbidden
KonnectCPLegacyNotFoundExample:
value:
message: Not Found
KonnectCPLegacyBadRequestExample:
value:
message: Bad Request
KonnectCPLegacyConflictExample:
value:
message: Conflict
requestBodies:
GroupMembershipAdd:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupMembership'
examples:
Example 1:
value:
members:
- id: 1beb9ad3-d21b-4090-b6e3-574784d1166d
- id: 778a0474-687d-41af-8e51-a0488d790586
- id: fa85f8e8-2e5a-496e-b6d0-4e534eaab459
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'
examples:
Example 1:
value:
members:
- id: 1beb9ad3-d21b-4090-b6e3-574784d1166d
- id: 778a0474-687d-41af-8e51-a0488d790586
- id: fa85f8e8-2e5a-496e-b6d0-4e534eaab459
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'
examples:
Example 1:
value:
members:
- id: 1beb9ad3-d21b-4090-b6e3-574784d1166d
- id: 778a0474-687d-41af-8e51-a0488d790586
- id: fa85f8e8-2e5a-496e-b6d0-4e534eaab459
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.
examples:
Update Impersonation Settings:
value:
enabled: false
description: The request schema for adding a system account to a team.
UpdateUser:
description: The request schema for the update user request.
content:
application/json:
schema:
type: object
properties:
full_name:
type: string
pattern: ^[\w \W]+$
example: James C. Woods
description: The user's full name.
writeOnly: true
preferred_name:
type: string
maxLength: 250
example: Jimmy
description: The user's desired name.
writeOnly: true
examples:
Example Request Body:
$ref: '#/components/examples/Update-User-Request'
CreateTeam:
description: >-
The request schema for the create team request.
If you pass the same `name` and `description` of an existing team in the request, a team with the same `name` and `description` will be created. The two teams will have different `team_id` values to differentiate them.
content:
application/json:
schema:
x-speakeasy-entity: Team
type: object
properties:
name:
type: string
example: IDM - Developers
pattern: ^[\w \W]+$
description: A name for the team being created.
writeOnly: true
description:
type: string
maxLength: 250
example: The Identity Management (IDM) team.
description: The description of the new team.
writeOnly: true
labels:
$ref: '#/components/schemas/Labels'
required:
- name
examples:
Example Request Body:
$ref: '#/components/examples/CreateTeamExample'
UpdateTeam:
description: The request schema for the update team request.
content:
application/json:
schema:
x-speakeasy-entity: Team
type: object
properties:
name:
type: string
example: IDM - Developers
pattern: ^[\w \W]+$
description: The name of the team.
writeOnly: true
description:
type: string
maxLength: 250
example: The Identity Management (IDM) API team.
description: The description of the team.
writeOnly: true
labels:
$ref: '#/components/schemas/LabelsUpdate'
examples:
Example Request Body:
$ref: '#/components/examples/Update-Team-Request'
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
examples:
Example request body:
$ref: '#/components/examples/Add-User-Request'
UpdateTeamMappings:
content:
application/json:
schema:
type: object
example:
mappings:
- group: Service Developers
team_ids:
- af91db4c-6e51-403e-a2bf-33d27ae50c0a
properties:
mappings:
type: array
description: The mappings object.
items:
type: object
properties:
group:
type: string
team_ids:
type: array
items:
type: string
examples:
Example Request Body:
$ref: '#/components/examples/Update-Team-Mappings'
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
groups:
type: array
items:
type: string
examples:
Example Request Body:
$ref: '#/components/examples/Patch-Team-Group-Mappings'
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.
entity_type_name:
type: string
example: Control Planes
description: The type of entity.
enum:
- APIs
- API Products
- Application Auth Strategies
- Audit Logs
- Control Planes
- DCR Providers
- Identity
- Mesh Control Planes
- Networks
- Portals
- Service Hub
entity_region:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/EntityRegion'
- description: Region of the team.
examples:
Assigned Roles US:
$ref: '#/components/examples/Assign-Roles-US'
Assigned Roles Global:
$ref: '#/components/examples/Assign-Roles-Global'
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).
examples:
Sample System Account:
value:
name: Sample System Account
description: This is a sample system account description.
konnect_managed: false
description: The request schema to create a system account.
UpdateSystemAccount:
content:
application/json:
schema:
x-speakeasy-entity: SystemAccount
type: object
properties:
name:
type: string
description: Name of the system account.
description:
type: string
description: Description of the system account.
description: The request schema for the update system account request.
UpdateSystemAccountAccessToken:
content:
application/json:
schema:
x-speakeasy-entity: SystemAccountAccessToken
type: object
properties:
name:
type: string
description: Name of the system account access token.
CreateSystemAccountAccessToken:
content:
application/json:
schema:
x-speakeasy-entity: SystemAccountAccessToken
type: object
properties:
name:
type: string
expires_at:
type: string
format: date-time
examples:
Sample Access Token:
value:
name: Sample Access Token
expires_at: '2019-08-24T14:15:22Z'
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
examples:
Sample System Account:
value:
id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
description: The request schema for adding a system account to a team.
UpdateAuthenticationSettings:
description: The request schema to update an organization's authentication settings.
content:
application/json:
schema:
type: object
properties:
basic_auth_enabled:
type: boolean
example: true
description: The organization has basic auth enabled.
oidc_auth_enabled:
type: boolean
example: false
description: The organization has OIDC disabled.
saml_auth_enabled:
type: boolean
example: false
description: The organization has SAML disabled.
idp_mapping_enabled:
type: boolean
example: true
description: Whether IdP groups determine the Konnect teams a user has.
konnect_mapping_enabled:
type: boolean
example: false
description: Whether a Konnect Identity Admin assigns teams to a user.
examples:
Example Request Body:
$ref: '#/components/examples/Update-Authentication-Settings'
UpdateIdPConfiguration:
content:
application/json:
schema:
type: object
properties:
issuer:
type: string
format: uri
example: https://myidp.com/oauth2
login_path:
type: string
example: myapp
client_id:
type: string
example: YOUR_CLIENT_ID
client_secret:
type: string
example: YOUR_CLIENT_SECRET
scopes:
type: array
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
description: The request schema for the update IdP configuration request.
UpdateIdentityProviderRequest:
description: >
An object representing the configuration for updating an identity provider. This configuration may pertain to either an OIDC or a SAML identity provider.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateIdentityProvider'
examples:
Update OIDC Identity Provider:
$ref: '#/components/examples/UpdateOIDCIdentityProvider'
Update SAML Identity Provider:
$ref: '#/components/examples/UpdateSAMLIdentityProvider'
Update Identity Provider Login Path:
$ref: '#/components/examples/UpdateIdentityProviderLoginPath'
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'
examples:
OIDC Identity Provider Request:
$ref: '#/components/examples/CreateOIDCIdentityProvider'
SAML Identity Provider Request With MetadataURL:
$ref: '#/components/examples/CreateSAMLIdentityProviderWithMetadataURL'
SAML Identity Provider Request With Metadata:
$ref: '#/components/examples/CreateSAMLIdentityProviderWithMetadata'
NotificationUpdateRequest:
description: Request body schema for updating notification status.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationUpdatePayload'
examples:
Example Request Body:
$ref: '#/components/examples/NotificationUpdatePayload'
EventSubscriptionRequest:
description: Request body schema for creating/updating event subscription.
content:
application/json:
schema:
$ref: '#/components/schemas/EventSubscription'
examples:
Example Request Body:
$ref: '#/components/examples/EventSubscriptionPayload'
BulkRequest:
description: Request body schema for bulk status update.
content:
application/json:
schema:
$ref: '#/components/schemas/BulkPayload'
examples:
Example Request Body:
$ref: '#/components/examples/BulkPayload'
CreateDcrProvider:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDcrProviderRequest'
examples:
DcrProviderOktaCreateRequest:
$ref: '#/components/examples/DcrProviderOktaCreateRequest'
DcrProviderAuth0CreateRequest:
$ref: '#/components/examples/DcrProviderAuth0CreateRequest'
DcrProviderAzureAdCreateRequest:
$ref: '#/components/examples/DcrProviderAzureAdCreateRequest'
DcrProviderCurityCreateRequest:
$ref: '#/components/examples/DcrProviderCurityCreateRequest'
DcrProviderHttpCreateRequest:
$ref: '#/components/examples/DcrProviderHttpCreateRequest'
UpdateDcrProvider:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDcrProviderRequest'
examples:
DcrProviderRequest:
$ref: '#/components/examples/DcrProviderOktaUpdateRequest'
CreateAppAuthStrategy:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAppAuthStrategyRequest'
examples:
CreateAppAuthStrategyKeyAuthRequest:
$ref: '#/components/examples/CreateAppAuthStrategyKeyAuthRequest'
CreateAppAuthStrategyOpenIDConnectRequest:
$ref: '#/components/examples/CreateAppAuthStrategyOpenIDConnectRequest'
CreateAppAuthStrategyOpenIDConnectDCRRequest:
$ref: >-
#/components/examples/CreateAppAuthStrategyOpenIDConnectDCRRequest
UpdateAppAuthStrategy:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAppAuthStrategyRequest'
examples:
UpdateAppAuthStrategyKeyAuthRequest:
$ref: '#/components/examples/UpdateAppAuthStrategyKeyAuthRequest'
UpdateAppAuthStrategyOpenIDConnectRequest:
$ref: '#/components/examples/UpdateAppAuthStrategyOpenIDConnectRequest'
CreateApiRequest:
required: true
content:
application/json:
schema:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/Api'
- properties:
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
writeOnly: true
- required:
- name
examples:
CreateApiMinimal:
$ref: '#/components/examples/CreateApiRequestMinimalExample'
CreateApiFull:
$ref: '#/components/examples/CreateApiRequestFullExample'
CreateApiSpecRequest:
required: true
content:
application/json:
schema:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiSpec'
- required:
- content
examples:
CreateApiSpecRequestExampleJson:
$ref: '#/components/examples/CreateApiSpecRequestExampleJson'
CreateApiSpecRequestExampleYaml:
$ref: '#/components/examples/CreateApiSpecRequestExampleYaml'
CreateApiSpecRequestExampleAsyncApi:
$ref: '#/components/examples/CreateApiSpecRequestExampleAsyncApi'
CreateApiVersionRequest:
required: true
content:
application/json:
schema:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiVersion'
examples:
CreateApiVersionRequestExampleJson:
$ref: '#/components/examples/CreateApiVersionRequestExampleJson'
CreateApiVersionRequestExampleYaml:
$ref: '#/components/examples/CreateApiVersionRequestExampleYaml'
CreateApiVersionRequestExampleAsyncApi:
$ref: '#/components/examples/CreateApiVersionRequestExampleAsyncApi'
CreateApiDocumentRequest:
required: true
content:
application/json:
schema:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/ApiDocument'
- required:
- content
examples:
CreateApiDocumentRequestMinimalExample:
$ref: '#/components/examples/CreateApiDocumentRequestMinimalExample'
CreateApiDocumentRequestExample:
$ref: '#/components/examples/CreateApiDocumentRequestExample'
UpdateApiRequest:
required: true
content:
application/json:
schema:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/Api'
- type: object
properties:
labels:
$ref: '#/components/schemas/LabelsUpdate'
examples:
UpdateApiName:
$ref: '#/components/examples/UpdateApiNameRequestExample'
UpdateApiVersion:
$ref: '#/components/examples/UpdateApiVersionRequestExample'
UpdateApiDocumentRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiDocument'
examples:
UpdateApiDocumentAttributes:
$ref: '#/components/examples/UpdateApiDocumentAttributesRequestExample'
UpdateApiDocumentContent:
$ref: '#/components/examples/UpdateApiDocumentContentRequestExample'
UpdateApiDocumentAttributesAndContent:
$ref: >-
#/components/examples/UpdateApiDocumentAttributesAndContentRequestExample
UpdateApiSpecRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSpec'
examples:
UpdateApiSpecContentRequest:
$ref: '#/components/examples/UpdateApiSpecContentRequestExample'
UpdateApiSpecContentRequestAsyncApi:
$ref: '#/components/examples/UpdateApiSpecContentRequestExampleAsyncApi'
UpdateApiVersionRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiVersion'
examples:
UpdateApiVersionContentRequest:
$ref: '#/components/examples/UpdateApiVersionContentRequestExample'
UpdateApiVersionContentRequestAsyncApi:
$ref: >-
#/components/examples/UpdateApiVersionContentRequestExampleAsyncApi
PutApiPublicationRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPublication'
CreateApiImplementationRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApiImplementation'
examples:
CreateApiImplementationRequest:
$ref: '#/components/examples/CreateApiImplementationRequestExample'
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'
examples:
ValidateApiSpecRequestExampleJson:
$ref: '#/components/examples/ValidateApiSpecRequestExampleJson'
ValidateApiSpecRequestExampleYaml:
$ref: '#/components/examples/ValidateApiSpecRequestExampleYaml'
ValidateApiSpecRequestExampleAsyncApi:
$ref: '#/components/examples/ValidateApiSpecRequestExampleAsyncApi'
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-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/Portal'
- required:
- name
properties:
labels:
$ref: '#/components/schemas/LabelsUpdate'
examples:
Example 1:
$ref: '#/components/examples/CreatePortalExample1'
Authentication Disabled:
$ref: '#/components/examples/CreatePortalExampleAuthenticationDisabled'
Enable RBAC:
$ref: '#/components/examples/CreatePortalExampleRbacEnabled'
Auto Approve Settings:
$ref: '#/components/examples/CreatePortalExampleAutoApprove'
UpdatePortal:
description: Update a portal's settings.
required: true
content:
application/json:
schema:
x-flatten-allOf: true
allOf:
- $ref: '#/components/schemas/Portal'
- properties:
labels:
$ref: '#/components/schemas/LabelsUpdate'
examples:
Example 1:
$ref: '#/components/examples/UpdatePortalExample1'
Authentication Disabled:
$ref: '#/components/examples/UpdatePortalExampleAuthenticationDisabled'
Enable RBAC:
$ref: '#/components/examples/UpdatePortalExampleRbacEnabled'
Auto Approve Settings:
$ref: '#/components/examples/UpdatePortalExampleAutoApprove'
UpdateDeveloper:
description: Update a developer.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDeveloperRequest'
examples:
Approved:
$ref: '#/components/examples/UpdateDeveloperExampleApproved'
Pending:
$ref: '#/components/examples/UpdateDeveloperExamplePending'
Rejected:
$ref: '#/components/examples/UpdateDeveloperExampleRejected'
Revoked:
$ref: '#/components/examples/UpdateDeveloperExampleRevoked'
ReplacePortalImageAsset:
description: Update an image asset for the portal.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReplacePortalImageAsset'
examples:
Example 1:
$ref: '#/components/examples/ReplacePortalImageAssetExample1'
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'
examples:
Example 1:
$ref: '#/components/examples/CreatePortalPageExample1'
UpdatePortalPage:
description: Update a page in a portal.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePortalPageRequest'
examples:
Example 1:
$ref: '#/components/examples/UpdatePortalPageExample1'
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'
examples:
Example 1:
$ref: '#/components/examples/CreatePortalSnippetExample1'
UpdatePortalSnippet:
description: Update a snippet in a portal.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePortalSnippetRequest'
examples:
Example 1:
$ref: '#/components/examples/UpdatePortalSnippetExample1'
UpdateApplicationRegistration:
description: Update an application registration.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateApplicationRegistrationRequest'
examples:
Approved:
$ref: '#/components/examples/UpdateApplicationRegistrationApproved'
Pending:
$ref: '#/components/examples/UpdateApplicationRegistrationPending'
Rejected:
$ref: '#/components/examples/UpdateApplicationRegistrationRejected'
Revoked:
$ref: '#/components/examples/UpdateApplicationRegistrationRevoked'
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.
examples:
Disable Webhook:
$ref: '#/components/examples/Disable-Portal-Audit-Log-Webhook'
Enable Webhook:
$ref: '#/components/examples/Enable-Portal-Audit-Log-Webhook'
Update Webhook:
$ref: '#/components/examples/Update-Portal-Audit-Log-Webhook'
PortalUpdateTeam:
description: Update a team in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalUpdateTeamRequest'
examples:
Example 1:
$ref: '#/components/examples/UpdateTeamExample1'
PortalCreateTeam:
description: Create a team in a portal.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalCreateTeamRequest'
examples:
Example 1:
$ref: '#/components/examples/CreateTeamExample1'
UpdatePortalTeamGroupMappings:
content:
application/json:
schema:
$ref: '#/components/schemas/PortalTeamGroupMappingsUpdateRequest'
examples:
Example 1:
$ref: '#/components/examples/UpdatePortalTeamGroupMappingsExample1'
UpdatePortalAuthenticationSettings:
description: Update a portal's developer authentication settings.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalAuthenticationSettingsUpdateRequest'
examples:
Example 1:
$ref: '#/components/examples/UpdatePortalAuthenticationSettingsExample1'
Disable Basic Developer Auth:
$ref: >-
#/components/examples/UpdatePortalAuthenticationSettingsExampleDisableBasicAuth
Enable OIDC Developer Auth:
$ref: >-
#/components/examples/UpdatePortalAuthenticationSettingsExampleEnableOIDC
Enable OIDC Team Mapping:
$ref: >-
#/components/examples/UpdatePortalAuthenticationSettingsExampleEnableOIDCTeamMapping
PortalAssignRole:
description: Assign a role to a team.
content:
application/json:
schema:
$ref: '#/components/schemas/PortalAssignRoleRequest'
examples:
API Viewer:
$ref: '#/components/examples/PortalAssignRoleExampleViewer'
API Consumer:
$ref: '#/components/examples/PortalAssignRoleExampleConsumer'
AddDeveloperToTeam:
description: Add a developer to a team.
content:
application/json:
schema:
$ref: '#/components/schemas/AddDeveloperToTeamRequest'
examples:
Example 1:
$ref: '#/components/examples/AddDeveloperToTeamExample1'
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
examples:
Enable Custom Template:
$ref: '#/components/examples/UpdateCustomPortalTemplateEnabled'
Update Custom Template Content:
$ref: '#/components/examples/UpdateCustomPortalTemplateContent'
PatchPortalEmailConfigPayload:
description: Update a portal email configured.
content:
application/json:
schema:
$ref: '#/components/schemas/PatchPortalEmailConfig'
examples:
Patch Portal Email Config:
$ref: '#/components/examples/PatchPortalEmailConfigExample'
PostPortalEmailConfigPayload:
description: Create a portal email configuration.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostPortalEmailConfig'
examples:
Create Portal Email Config:
$ref: '#/components/examples/PostPortalEmailConfigExample'
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'
examples:
Send test email:
$ref: '#/components/examples/SendTestEmailTemplateExample'
DataPlaneClientCertificateRequest:
content:
application/json:
schema:
type: object
properties:
cert:
type: string
description: JSON escaped string of the certificate.
required:
- cert
examples:
Sample DP Client Certificate:
value:
cert: "-----BEGIN CERTIFICATE-----\r\n*****\r\n-----END CERTIFICATE-----\r\n"
description: Request body for creating a dp-client-certificate.
create-plugin-schemas:
content:
application/json:
schema:
x-speakeasy-entity: GatewayCustomPluginSchema
type: object
x-examples:
Example 1:
lua_schema: >-
return { name = \"myplugin\", fields = { { config = { type = \"record\", fields = { } } } } }
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'
examples:
CreateConfigStoreRequestExample:
$ref: '#/components/examples/CreateConfigStoreRequestExample'
CreateConfigStoreSecretRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConfigStoreSecret'
examples:
CreateConfigStoreRequestExample:
$ref: '#/components/examples/CreateConfigStoreSecretRequestExample'
UpdateConfigStoreRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConfigStore'
examples:
UpdateConfigStoreRequestExample:
$ref: '#/components/examples/UpdateConfigStoreRequestExample'
UpdateConfigStoreSecretRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConfigStoreSecret'
examples:
UpdateConfigStoreSecretRequestExample:
$ref: '#/components/examples/UpdateConfigStoreSecretRequestExample'
externalDocs:
description: Documentation for Kong Gateway and its APIs
url: https://developer.konghq.com