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,<BASE64_IMAGE_DATA> x-validation-message: >- must be a data URL with base64 image data, e.g., data:image/jpeg;base64,<BASE64_IMAGE_DATA> 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: | <?xml version="1.0" encoding="UTF-8"?> <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"> <!-- SAML metadata content here --> </EntityDescriptor> 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: | <?xml version="1.0" encoding="UTF-8"?> <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"> <!-- SAML metadata content here --> </EntityDescriptor> 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 <quota name> exceeded. Max allowed: <quota value>.' 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